Re: [PATCH] PCI: Prevent xHCI driver from claiming AMD VanGogh USB3 DRD device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
> 



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux