From: Shantiprasad Shettar <redacted>
The older Broadcom BCM57412/57416 NICs may be multi-function devices.
While they don't advertise ACS capabilities, peer-to-peer transactions
are not possible between the individual functions. So it is ok to treat
them as fully isolated.
Add ACS quirks for these 2 devices so the functions can be in
independent IOMMU groups and attached individually to userspace
applications using VFIO.
Signed-off-by: Shantiprasad Shettar <redacted>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
---
drivers/pci/quirks.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index de9bbccda21f..191dbe87a09b 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -5182,7 +5182,9 @@ static const struct pci_dev_acs_enabled {
{ PCI_VENDOR_ID_AMPERE, 0xE00B, pci_quirk_xgene_acs },
{ PCI_VENDOR_ID_AMPERE, 0xE00C, pci_quirk_xgene_acs },
/* Broadcom multi-function device */
+ { PCI_VENDOR_ID_BROADCOM, 0x16D6, pci_quirk_mf_endpoint_acs },
{ PCI_VENDOR_ID_BROADCOM, 0x16D7, pci_quirk_mf_endpoint_acs },
+ { PCI_VENDOR_ID_BROADCOM, 0x16D8, pci_quirk_mf_endpoint_acs },
{ PCI_VENDOR_ID_BROADCOM, 0x1750, pci_quirk_mf_endpoint_acs },
{ PCI_VENDOR_ID_BROADCOM, 0x1751, pci_quirk_mf_endpoint_acs },
{ PCI_VENDOR_ID_BROADCOM, 0x1752, pci_quirk_mf_endpoint_acs },--
2.51.0