* [PATCH] pci: Add ACS quirk for Broadcom BCM5760X NIC
@ 2024-05-10 20:42 Ajit Khaparde
2024-05-13 17:51 ` Bjorn Helgaas
2024-05-17 10:13 ` Krzysztof Wilczyński
0 siblings, 2 replies; 3+ messages in thread
From: Ajit Khaparde @ 2024-05-10 20:42 UTC (permalink / raw)
To: bhelgaas, linux-pci, linux-kernel, netdev
Cc: andrew.gospodarek, michael.chan, kuba, davem, Andy Gospodarek
[-- Attachment #1: Type: text/plain, Size: 1411 bytes --]
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)
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4218 bytes --]
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] pci: Add ACS quirk for Broadcom BCM5760X NIC
2024-05-10 20:42 [PATCH] pci: Add ACS quirk for Broadcom BCM5760X NIC Ajit Khaparde
@ 2024-05-13 17:51 ` Bjorn Helgaas
2024-05-17 10:13 ` Krzysztof Wilczyński
1 sibling, 0 replies; 3+ messages in thread
From: Bjorn Helgaas @ 2024-05-13 17:51 UTC (permalink / raw)
To: Ajit Khaparde
Cc: bhelgaas, linux-pci, linux-kernel, netdev, andrew.gospodarek,
michael.chan, kuba, davem, Andy Gospodarek
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)
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] pci: Add ACS quirk for Broadcom BCM5760X NIC
2024-05-10 20:42 [PATCH] pci: Add ACS quirk for Broadcom BCM5760X NIC Ajit Khaparde
2024-05-13 17:51 ` Bjorn Helgaas
@ 2024-05-17 10:13 ` Krzysztof Wilczyński
1 sibling, 0 replies; 3+ messages in thread
From: Krzysztof Wilczyński @ 2024-05-17 10:13 UTC (permalink / raw)
To: Ajit Khaparde
Cc: bhelgaas, linux-pci, linux-kernel, netdev, andrew.gospodarek,
michael.chan, kuba, davem, Andy Gospodarek
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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-05-17 10:13 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-10 20:42 [PATCH] pci: Add ACS quirk for Broadcom BCM5760X NIC Ajit Khaparde
2024-05-13 17:51 ` Bjorn Helgaas
2024-05-17 10:13 ` Krzysztof Wilczyński
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).