]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
iommu/vt-d: Update to use PCI DMA aliases
authorAlex Williamson <alex.williamson@redhat.com>
Thu, 3 Jul 2014 15:51:43 +0000 (09:51 -0600)
committerJoerg Roedel <jroedel@suse.de>
Fri, 4 Jul 2014 10:35:58 +0000 (12:35 +0200)
commit579305f75d34429d11e7eeeee9d9e45000a988d3
tree337c4afba71c5e37a9cbe95bbed658e0d1123726
parente17f9ff413a4052d532c11c1e1c6eb27c71aada2
iommu/vt-d: Update to use PCI DMA aliases

VT-d code currently makes use of pci_find_upstream_pcie_bridge() in
order to find the topology based alias of a device.  This function has
a few problems.  First, it doesn't check the entire alias path of the
device to the root bus, therefore if a PCIe device is masked upstream,
the wrong result is produced.  Also, it's known to get confused and
give up when it crosses a bridge from a conventional PCI bus to a PCIe
bus that lacks a PCIe capability.  The PCI-core provided DMA alias
support solves both of these problems and additionally adds support
for DMA function quirks allowing VT-d to work with devices like
Marvell and Ricoh with known broken requester IDs.

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/intel-iommu.c
drivers/iommu/intel_irq_remapping.c