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@xxxxxxxxxxx> 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 >