PCI: Add ACS quirk for Emulex NICs
authorVasundhara Volam <vasundhara.volam@emulex.com>
Tue, 13 Jan 2015 06:22:23 +0000 (01:22 -0500)
committerBjorn Helgaas <bhelgaas@google.com>
Fri, 16 Jan 2015 16:27:29 +0000 (10:27 -0600)
commit6a3763d1734bf133330dc8e246bf794b9e360e8a
tree4c3690588a9c3bc226f6a2504d347acc25ed5453
parentd84f31744643e2c439466d513ebc1bc81c4d9186
PCI: Add ACS quirk for Emulex NICs

As Skyhawk and BE3-R (both multi-function devices) don't advertise the
PCI-ACS capability, the vfio driver places all the functions of these
devices in a single IOMMU group.  Attaching (via PCI-passthru) two
different Skyhawk/BE3-R partitions (nPAR, Flex, etc. PFs) using vfio, to
different guests doesn't work as vfio only allows functions in *different*
IOMMU groups to be assigned to different guests.

As peer-to-peer access between PFs in Skyhawk/BE3-R is not possible, we can
treat them as "fully isolated" even though the device doesn't advertise
ACS.  Add a PCI quirk for Skyhawk and BE3-R chips to fix this problem.

Signed-off-by: Vasundhara Volam <vasundhara.volam@emulex.com>
Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Alex Williamson <alex.williamson@redhat.com>
drivers/pci/quirks.c