netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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).