COOLING14d

[PATCH] PCI: Add ACS quirks for Broadcom BCM57412/57416 NICs

From: Michael Chan <michael.chan@broadcom.com>
Date: 2026-09-07 20:21:22
Also in: linux-pci
Subsystem: pci subsystem, the rest · Maintainers: Bjorn Helgaas, Linus Torvalds

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help