PCI: Enable quirks for PCIe ACS on Intel PCH root ports
authorAlex Williamson <alex.williamson@redhat.com>
Mon, 3 Feb 2014 21:27:46 +0000 (14:27 -0700)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 11 Feb 2014 20:52:19 +0000 (13:52 -0700)
commitd99321b63b1f2cd386cdf20aefe4d8d3d414cb5b
treea318f81753df96ace991c620ef69ff6e546c0d05
parent5757a769ea4e094df6ec92d9ce7d05a90d5bf3e6
PCI: Enable quirks for PCIe ACS on Intel PCH root ports

Many of the currently available Intel PCH-based root ports do not provide
PCIe ACS capabilities.  Without this, we must assume that peer-to-peer
traffic between multifunction root ports and between devices behind root
ports is possible.  This lack of isolation is exposed by grouping the
devices together in the same IOMMU group.  If we want to expose these
devices to userspace, vfio uses IOMMU groups as the unit of ownership, thus
making it very difficult to assign individual devices to separate users.

The good news is that the chipset does provide ACS-like isolation
capabilities, but we do need to verify and enable those capabilities if the
BIOS has not done so.  This patch implements the device specific enabling
and testing of equivalent ACS function for these devices.

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Don Dugger <donald.d.dugger@intel.com>
drivers/pci/quirks.c