drivers/pci/quirks.c | 4 ++++ 1 file changed, 4 insertions(+)
The Broadcom BCM5760X NIC may be a multi-function device.
While it does not advertise an ACS capability, peer-to-peer
transactions are not possible between the individual functions.
So it is ok to treat them as fully isolated.
Add an ACS quirk for this device so the functions can be in independent
IOMMU groups and attached individually to userspace applications using
VFIO.
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Andy Gospodarek <gospo@broadcom.com>
---
drivers/pci/quirks.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index eff7f5df08e2..3d8aa3f709e2 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -5099,6 +5099,10 @@ static const struct pci_dev_acs_enabled {
{ 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 },
+ { PCI_VENDOR_ID_BROADCOM, 0x1760, pci_quirk_mf_endpoint_acs },
+ { PCI_VENDOR_ID_BROADCOM, 0x1761, pci_quirk_mf_endpoint_acs },
+ { PCI_VENDOR_ID_BROADCOM, 0x1762, pci_quirk_mf_endpoint_acs },
+ { PCI_VENDOR_ID_BROADCOM, 0x1763, pci_quirk_mf_endpoint_acs },
{ PCI_VENDOR_ID_BROADCOM, 0xD714, pci_quirk_brcm_acs },
/* Amazon Annapurna Labs */
{ PCI_VENDOR_ID_AMAZON_ANNAPURNA_LABS, 0x0031, pci_quirk_al_acs },
--
2.39.2 (Apple Git-143)
Hello,
> The Broadcom BCM5760X NIC may be a multi-function device.
> While it does not advertise an ACS capability, peer-to-peer
> transactions are not possible between the individual functions.
> So it is ok to treat them as fully isolated.
>
> Add an ACS quirk for this device so the functions can be in independent
> IOMMU groups and attached individually to userspace applications using
> VFIO.
Applied to acs, thank you!
[1/1] PCI: Add ACS quirk for Broadcom BCM5760X NIC
https://git.kernel.org/pci/pci/c/694b705cdbf7
Krzysztof
On Fri, May 10, 2024 at 01:42:28PM -0700, Ajit Khaparde wrote:
> The Broadcom BCM5760X NIC may be a multi-function device.
> While it does not advertise an ACS capability, peer-to-peer
> transactions are not possible between the individual functions.
> So it is ok to treat them as fully isolated.
>
> Add an ACS quirk for this device so the functions can be in independent
> IOMMU groups and attached individually to userspace applications using
> VFIO.
>
> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
> Reviewed-by: Andy Gospodarek <gospo@broadcom.com>
Looks like this was applied by Krzysztof to pci/acs for v6.10.
I'm hoping Broadcom is still working on using the standard ACS so we
don't have to add quirks forever:
https://lore.kernel.org/all/CACKFLinvohm+jRupNZAV=G+OHg1buXvLDrs0yGgPY3o6NB8biA@mail.gmail.com/#t
> ---
> drivers/pci/quirks.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> index eff7f5df08e2..3d8aa3f709e2 100644
> --- a/drivers/pci/quirks.c
> +++ b/drivers/pci/quirks.c
> @@ -5099,6 +5099,10 @@ static const struct pci_dev_acs_enabled {
> { 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 },
> + { PCI_VENDOR_ID_BROADCOM, 0x1760, pci_quirk_mf_endpoint_acs },
> + { PCI_VENDOR_ID_BROADCOM, 0x1761, pci_quirk_mf_endpoint_acs },
> + { PCI_VENDOR_ID_BROADCOM, 0x1762, pci_quirk_mf_endpoint_acs },
> + { PCI_VENDOR_ID_BROADCOM, 0x1763, pci_quirk_mf_endpoint_acs },
> { PCI_VENDOR_ID_BROADCOM, 0xD714, pci_quirk_brcm_acs },
> /* Amazon Annapurna Labs */
> { PCI_VENDOR_ID_AMAZON_ANNAPURNA_LABS, 0x0031, pci_quirk_al_acs },
> --
> 2.39.2 (Apple Git-143)
>
© 2016 - 2026 Red Hat, Inc.