* [PATCH] PCI: Prevent xHCI driver from claiming AMD VanGogh USB3 DRD device
@ 2023-09-27 20:22 Vicki Pfau
2023-09-28 17:17 ` Bjorn Helgaas
0 siblings, 1 reply; 3+ messages in thread
From: Vicki Pfau @ 2023-09-27 20:22 UTC (permalink / raw)
To: Bjorn Helgaas, linux-pci; +Cc: Vicki Pfau
The AMD VanGogh SoC contains a DesignWare USB3 Dual-Role Device that can be
operated as either a USB Host or a USB Device, similar to on the AMD Nolan
platform. A quirk was previously added to let the dwc3 driver claim the device
since it provides more specific support. This commit extends that quirk to
include the equivalent PID for the VanGogh SoC.
Signed-off-by: Vicki Pfau <vi@endrift.com>
---
drivers/pci/quirks.c | 8 +++++---
include/linux/pci_ids.h | 1 +
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index eeec1d6f9023..e3e915329510 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -690,7 +690,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RS100, quirk_ati_
/*
* In the AMD NL platform, this device ([1022:7912]) has a class code of
* PCI_CLASS_SERIAL_USB_XHCI (0x0c0330), which means the xhci driver will
- * claim it.
+ * claim it. The same applies on the VanGogh platform device ([1022:163a]).
*
* But the dwc3 driver is a more specific driver for this device, and we'd
* prefer to use it instead of xhci. To prevent xhci from claiming the
@@ -698,7 +698,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RS100, quirk_ati_
* defines as "USB device (not host controller)". The dwc3 driver can then
* claim it based on its Vendor and Device ID.
*/
-static void quirk_amd_nl_class(struct pci_dev *pdev)
+static void quirk_amd_dwc_class(struct pci_dev *pdev)
{
u32 class = pdev->class;
@@ -708,7 +708,9 @@ static void quirk_amd_nl_class(struct pci_dev *pdev)
class, pdev->class);
}
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_NL_USB,
- quirk_amd_nl_class);
+ quirk_amd_dwc_class);
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VANGOGH_USB,
+ quirk_amd_dwc_class);
/*
* Synopsys USB 3.x host HAPS platform has a class code of
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
index 5fb3d4c393a9..3a8e24e9a93f 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -579,6 +579,7 @@
#define PCI_DEVICE_ID_AMD_1AH_M00H_DF_F3 0x12c3
#define PCI_DEVICE_ID_AMD_1AH_M20H_DF_F3 0x16fb
#define PCI_DEVICE_ID_AMD_MI200_DF_F3 0x14d3
+#define PCI_DEVICE_ID_AMD_VANGOGH_USB 0x163a
#define PCI_DEVICE_ID_AMD_CNB17H_F3 0x1703
#define PCI_DEVICE_ID_AMD_LANCE 0x2000
#define PCI_DEVICE_ID_AMD_LANCE_HOME 0x2001
--
2.42.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] PCI: Prevent xHCI driver from claiming AMD VanGogh USB3 DRD device
2023-09-27 20:22 [PATCH] PCI: Prevent xHCI driver from claiming AMD VanGogh USB3 DRD device Vicki Pfau
@ 2023-09-28 17:17 ` Bjorn Helgaas
2023-10-05 16:12 ` Bjorn Helgaas
0 siblings, 1 reply; 3+ messages in thread
From: Bjorn Helgaas @ 2023-09-28 17:17 UTC (permalink / raw)
To: Vicki Pfau; +Cc: Bjorn Helgaas, linux-pci
On Wed, Sep 27, 2023 at 01:22:12PM -0700, Vicki Pfau wrote:
> The AMD VanGogh SoC contains a DesignWare USB3 Dual-Role Device that can be
> operated as either a USB Host or a USB Device, similar to on the AMD Nolan
> platform. A quirk was previously added to let the dwc3 driver claim the device
> since it provides more specific support. This commit extends that quirk to
> include the equivalent PID for the VanGogh SoC.
>
> Signed-off-by: Vicki Pfau <vi@endrift.com>
Applied to misc for v6.7, thanks!
> ---
> drivers/pci/quirks.c | 8 +++++---
> include/linux/pci_ids.h | 1 +
> 2 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> index eeec1d6f9023..e3e915329510 100644
> --- a/drivers/pci/quirks.c
> +++ b/drivers/pci/quirks.c
> @@ -690,7 +690,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RS100, quirk_ati_
> /*
> * In the AMD NL platform, this device ([1022:7912]) has a class code of
> * PCI_CLASS_SERIAL_USB_XHCI (0x0c0330), which means the xhci driver will
> - * claim it.
> + * claim it. The same applies on the VanGogh platform device ([1022:163a]).
> *
> * But the dwc3 driver is a more specific driver for this device, and we'd
> * prefer to use it instead of xhci. To prevent xhci from claiming the
> @@ -698,7 +698,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RS100, quirk_ati_
> * defines as "USB device (not host controller)". The dwc3 driver can then
> * claim it based on its Vendor and Device ID.
> */
> -static void quirk_amd_nl_class(struct pci_dev *pdev)
> +static void quirk_amd_dwc_class(struct pci_dev *pdev)
> {
> u32 class = pdev->class;
>
> @@ -708,7 +708,9 @@ static void quirk_amd_nl_class(struct pci_dev *pdev)
> class, pdev->class);
> }
> DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_NL_USB,
> - quirk_amd_nl_class);
> + quirk_amd_dwc_class);
> +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VANGOGH_USB,
> + quirk_amd_dwc_class);
>
> /*
> * Synopsys USB 3.x host HAPS platform has a class code of
> diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
> index 5fb3d4c393a9..3a8e24e9a93f 100644
> --- a/include/linux/pci_ids.h
> +++ b/include/linux/pci_ids.h
> @@ -579,6 +579,7 @@
> #define PCI_DEVICE_ID_AMD_1AH_M00H_DF_F3 0x12c3
> #define PCI_DEVICE_ID_AMD_1AH_M20H_DF_F3 0x16fb
> #define PCI_DEVICE_ID_AMD_MI200_DF_F3 0x14d3
> +#define PCI_DEVICE_ID_AMD_VANGOGH_USB 0x163a
> #define PCI_DEVICE_ID_AMD_CNB17H_F3 0x1703
> #define PCI_DEVICE_ID_AMD_LANCE 0x2000
> #define PCI_DEVICE_ID_AMD_LANCE_HOME 0x2001
> --
> 2.42.0
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] PCI: Prevent xHCI driver from claiming AMD VanGogh USB3 DRD device
2023-09-28 17:17 ` Bjorn Helgaas
@ 2023-10-05 16:12 ` Bjorn Helgaas
0 siblings, 0 replies; 3+ messages in thread
From: Bjorn Helgaas @ 2023-10-05 16:12 UTC (permalink / raw)
To: Vicki Pfau; +Cc: Bjorn Helgaas, linux-pci
On Thu, Sep 28, 2023 at 12:17:38PM -0500, Bjorn Helgaas wrote:
> On Wed, Sep 27, 2023 at 01:22:12PM -0700, Vicki Pfau wrote:
> > The AMD VanGogh SoC contains a DesignWare USB3 Dual-Role Device that can be
> > operated as either a USB Host or a USB Device, similar to on the AMD Nolan
> > platform. A quirk was previously added to let the dwc3 driver claim the device
> > since it provides more specific support. This commit extends that quirk to
> > include the equivalent PID for the VanGogh SoC.
> >
> > Signed-off-by: Vicki Pfau <vi@endrift.com>
>
> Applied to misc for v6.7, thanks!
This seems like stable material, so I added a stable tag for v3.19+
since be6646bfbaec ("PCI: Prevent xHCI driver from claiming AMD Nolan
USB3 DRD device") appeared in v3.19.
> > ---
> > drivers/pci/quirks.c | 8 +++++---
> > include/linux/pci_ids.h | 1 +
> > 2 files changed, 6 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> > index eeec1d6f9023..e3e915329510 100644
> > --- a/drivers/pci/quirks.c
> > +++ b/drivers/pci/quirks.c
> > @@ -690,7 +690,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RS100, quirk_ati_
> > /*
> > * In the AMD NL platform, this device ([1022:7912]) has a class code of
> > * PCI_CLASS_SERIAL_USB_XHCI (0x0c0330), which means the xhci driver will
> > - * claim it.
> > + * claim it. The same applies on the VanGogh platform device ([1022:163a]).
> > *
> > * But the dwc3 driver is a more specific driver for this device, and we'd
> > * prefer to use it instead of xhci. To prevent xhci from claiming the
> > @@ -698,7 +698,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RS100, quirk_ati_
> > * defines as "USB device (not host controller)". The dwc3 driver can then
> > * claim it based on its Vendor and Device ID.
> > */
> > -static void quirk_amd_nl_class(struct pci_dev *pdev)
> > +static void quirk_amd_dwc_class(struct pci_dev *pdev)
> > {
> > u32 class = pdev->class;
> >
> > @@ -708,7 +708,9 @@ static void quirk_amd_nl_class(struct pci_dev *pdev)
> > class, pdev->class);
> > }
> > DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_NL_USB,
> > - quirk_amd_nl_class);
> > + quirk_amd_dwc_class);
> > +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VANGOGH_USB,
> > + quirk_amd_dwc_class);
> >
> > /*
> > * Synopsys USB 3.x host HAPS platform has a class code of
> > diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
> > index 5fb3d4c393a9..3a8e24e9a93f 100644
> > --- a/include/linux/pci_ids.h
> > +++ b/include/linux/pci_ids.h
> > @@ -579,6 +579,7 @@
> > #define PCI_DEVICE_ID_AMD_1AH_M00H_DF_F3 0x12c3
> > #define PCI_DEVICE_ID_AMD_1AH_M20H_DF_F3 0x16fb
> > #define PCI_DEVICE_ID_AMD_MI200_DF_F3 0x14d3
> > +#define PCI_DEVICE_ID_AMD_VANGOGH_USB 0x163a
> > #define PCI_DEVICE_ID_AMD_CNB17H_F3 0x1703
> > #define PCI_DEVICE_ID_AMD_LANCE 0x2000
> > #define PCI_DEVICE_ID_AMD_LANCE_HOME 0x2001
> > --
> > 2.42.0
> >
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-10-05 16:32 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-27 20:22 [PATCH] PCI: Prevent xHCI driver from claiming AMD VanGogh USB3 DRD device Vicki Pfau
2023-09-28 17:17 ` Bjorn Helgaas
2023-10-05 16:12 ` Bjorn Helgaas
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).