[PATCH 0/3] AMD IOMMU Changes for NTB

From: Logan Gunthorpe
Date: Tue Oct 08 2019 - 18:19:00 EST


Please find the following patches which help support
Non-Transparent-Bridge (NTB) devices on AMD platforms with the IOMMU

The first patch implements dma_map_resource() correctly with the AMD
IOMMU. This is required for correct functioning of ntb_transport which
uses that interface.

The second two patches add support for multiple PCI aliases. NTB
hardware will normally send TLPs from a range of requestor IDs to
facilitate routing the responses back to the correct requestor on the
other side of the bridge. To support this, NTB hardware registers a
number of PCI aliases. Currently the AMD IOMMU only allows for one
PCI alias so TLPs from the other aliases get rejected.

See commit ad281ecf1c7d ("PCI: Add DMA alias quirk for Microsemi
Switchtec NTB") for more information on this.

Similar patches were upstreamed for Intel hardware earlier this year:

commit 21d5d27c042d ("iommu/vt-d: Implement dma_[un]map_resource()")
commit 3f0c625c6ae7 ("iommu/vt-d: Allow interrupts from the entire bus
for aliased devices")




Kit Chow (1):
iommu/amd: Implement dma_[un]map_resource()

Logan Gunthorpe (2):
iommu/amd: Support multiple PCI DMA aliases in device table
iommu/amd: Support multiple PCI DMA aliases in IRQ Remapping

drivers/iommu/amd_iommu.c | 198 +++++++++++++++++++-------------
drivers/iommu/amd_iommu_types.h | 2 +-
2 files changed, 120 insertions(+), 80 deletions(-)