2022-02-08 13:16:13

by Neal Liu

[permalink] [raw]
Subject: [PATCH v2] usb: ehci: add pci device support for Aspeed platforms

Enable Aspeed quirks in commit 7f2d73788d90 ("usb: ehci:
handshake CMD_RUN instead of STS_HALT") to support Aspeed
ehci-pci device.

Signed-off-by: Neal Liu <[email protected]>
---
drivers/usb/host/ehci-pci.c | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/drivers/usb/host/ehci-pci.c b/drivers/usb/host/ehci-pci.c
index e87cf3a00fa4..638f03b89739 100644
--- a/drivers/usb/host/ehci-pci.c
+++ b/drivers/usb/host/ehci-pci.c
@@ -21,6 +21,9 @@ static const char hcd_name[] = "ehci-pci";
/* defined here to avoid adding to pci_ids.h for single instance use */
#define PCI_DEVICE_ID_INTEL_CE4100_USB 0x2e70

+#define PCI_VENDOR_ID_ASPEED 0x1a03
+#define PCI_DEVICE_ID_ASPEED_EHCI 0x2603
+
/*-------------------------------------------------------------------------*/
#define PCI_DEVICE_ID_INTEL_QUARK_X1000_SOC 0x0939
static inline bool is_intel_quark_x1000(struct pci_dev *pdev)
@@ -222,6 +225,12 @@ static int ehci_pci_setup(struct usb_hcd *hcd)
ehci->has_synopsys_hc_bug = 1;
}
break;
+ case PCI_VENDOR_ID_ASPEED:
+ if (pdev->device == PCI_DEVICE_ID_ASPEED_EHCI) {
+ ehci_info(ehci, "applying Aspeed HC workaround\n");
+ ehci->is_aspeed = 1;
+ }
+ break;
}

/* optional debug port, normally in the first BAR */
--
2.25.1



2022-02-09 06:56:26

by Alan Stern

[permalink] [raw]
Subject: Re: [PATCH v2] usb: ehci: add pci device support for Aspeed platforms

On Tue, Feb 08, 2022 at 06:16:57PM +0800, Neal Liu wrote:
> Enable Aspeed quirks in commit 7f2d73788d90 ("usb: ehci:
> handshake CMD_RUN instead of STS_HALT") to support Aspeed
> ehci-pci device.
>
> Signed-off-by: Neal Liu <[email protected]>
> ---

Acked-by: Alan Stern <[email protected]>

> drivers/usb/host/ehci-pci.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/usb/host/ehci-pci.c b/drivers/usb/host/ehci-pci.c
> index e87cf3a00fa4..638f03b89739 100644
> --- a/drivers/usb/host/ehci-pci.c
> +++ b/drivers/usb/host/ehci-pci.c
> @@ -21,6 +21,9 @@ static const char hcd_name[] = "ehci-pci";
> /* defined here to avoid adding to pci_ids.h for single instance use */
> #define PCI_DEVICE_ID_INTEL_CE4100_USB 0x2e70
>
> +#define PCI_VENDOR_ID_ASPEED 0x1a03
> +#define PCI_DEVICE_ID_ASPEED_EHCI 0x2603
> +
> /*-------------------------------------------------------------------------*/
> #define PCI_DEVICE_ID_INTEL_QUARK_X1000_SOC 0x0939
> static inline bool is_intel_quark_x1000(struct pci_dev *pdev)
> @@ -222,6 +225,12 @@ static int ehci_pci_setup(struct usb_hcd *hcd)
> ehci->has_synopsys_hc_bug = 1;
> }
> break;
> + case PCI_VENDOR_ID_ASPEED:
> + if (pdev->device == PCI_DEVICE_ID_ASPEED_EHCI) {
> + ehci_info(ehci, "applying Aspeed HC workaround\n");
> + ehci->is_aspeed = 1;
> + }
> + break;
> }
>
> /* optional debug port, normally in the first BAR */
> --
> 2.25.1
>