2022-02-08 09:31:58

by Neal Liu

[permalink] [raw]
Subject: [PATCH] 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 | 6 ++++++
include/linux/pci_ids.h | 3 +++
2 files changed, 9 insertions(+)

diff --git a/drivers/usb/host/ehci-pci.c b/drivers/usb/host/ehci-pci.c
index e87cf3a00fa4..a91b25d216ae 100644
--- a/drivers/usb/host/ehci-pci.c
+++ b/drivers/usb/host/ehci-pci.c
@@ -222,6 +222,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 */
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
index aad54c666407..410b395fe56c 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -3096,4 +3096,7 @@

#define PCI_VENDOR_ID_NCUBE 0x10ff

+#define PCI_VENDOR_ID_ASPEED 0x1a03
+#define PCI_DEVICE_ID_ASPEED_EHCI 0x2603
+
#endif /* _LINUX_PCI_IDS_H */
--
2.25.1



2022-02-08 18:51:52

by Neal Liu

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

> -----Original Message-----
> From: Greg Kroah-Hartman <[email protected]>
> Sent: Tuesday, February 8, 2022 4:42 PM
> To: Neal Liu <[email protected]>
> Cc: Alan Stern <[email protected]>; Bjorn Helgaas
> <[email protected]>; [email protected];
> [email protected]; [email protected]; Tao Ren
> <[email protected]>; BMC-SW <[email protected]>
> Subject: Re: [PATCH] usb: ehci: add pci device support for Aspeed platforms
>
> On Tue, Feb 08, 2022 at 08:20:07AM +0000, Neal Liu wrote:
> > > -----Original Message-----
> > > From: Greg Kroah-Hartman <[email protected]>
> > > Sent: Tuesday, February 8, 2022 3:38 PM
> > > To: Neal Liu <[email protected]>
> > > Cc: Alan Stern <[email protected]>; Bjorn Helgaas
> > > <[email protected]>; [email protected];
> > > [email protected]; [email protected]; Tao Ren
> > > <[email protected]>; BMC-SW <[email protected]>
> > > Subject: Re: [PATCH] usb: ehci: add pci device support for Aspeed
> > > platforms
> > >
> > > On Tue, Feb 08, 2022 at 02:29:27PM +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]>
> > > > ---
> > > > drivers/usb/host/ehci-pci.c | 6 ++++++
> > > > include/linux/pci_ids.h | 3 +++
> > > > 2 files changed, 9 insertions(+)
> > > >
> > > > diff --git a/drivers/usb/host/ehci-pci.c
> > > > b/drivers/usb/host/ehci-pci.c index e87cf3a00fa4..a91b25d216ae
> > > > 100644
> > > > --- a/drivers/usb/host/ehci-pci.c
> > > > +++ b/drivers/usb/host/ehci-pci.c
> > > > @@ -222,6 +222,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 */ diff --git
> > > > a/include/linux/pci_ids.h b/include/linux/pci_ids.h index
> > > > aad54c666407..410b395fe56c 100644
> > > > --- a/include/linux/pci_ids.h
> > > > +++ b/include/linux/pci_ids.h
> > > > @@ -3096,4 +3096,7 @@
> > > >
> > > > #define PCI_VENDOR_ID_NCUBE 0x10ff
> > > >
> > > > +#define PCI_VENDOR_ID_ASPEED 0x1a03
> > > > +#define PCI_DEVICE_ID_ASPEED_EHCI 0x2603
> > >
> > > Please read the top of this file, this does not need to be added here.
> > >
> > > thanks,
> > >
> > > greg k-h
> >
> > Are you suggesting to hard code vendor/device ID in driver instead?
>
> Or put the define in the ehci-pci.c file like other drivers do. Only add to the
> pci_ids.h file if your define is needed in multiple drivers, otherwise it is a
> merge nightmare.
>
> thanks,
>
> greg k-h

Okay, I'll revise it. Thanks for your suggestion.

-Neal

2022-02-08 22:22:17

by Neal Liu

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

> -----Original Message-----
> From: Greg Kroah-Hartman <[email protected]>
> Sent: Tuesday, February 8, 2022 3:38 PM
> To: Neal Liu <[email protected]>
> Cc: Alan Stern <[email protected]>; Bjorn Helgaas
> <[email protected]>; [email protected];
> [email protected]; [email protected]; Tao Ren
> <[email protected]>; BMC-SW <[email protected]>
> Subject: Re: [PATCH] usb: ehci: add pci device support for Aspeed platforms
>
> On Tue, Feb 08, 2022 at 02:29:27PM +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]>
> > ---
> > drivers/usb/host/ehci-pci.c | 6 ++++++
> > include/linux/pci_ids.h | 3 +++
> > 2 files changed, 9 insertions(+)
> >
> > diff --git a/drivers/usb/host/ehci-pci.c b/drivers/usb/host/ehci-pci.c
> > index e87cf3a00fa4..a91b25d216ae 100644
> > --- a/drivers/usb/host/ehci-pci.c
> > +++ b/drivers/usb/host/ehci-pci.c
> > @@ -222,6 +222,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 */ diff --git
> > a/include/linux/pci_ids.h b/include/linux/pci_ids.h index
> > aad54c666407..410b395fe56c 100644
> > --- a/include/linux/pci_ids.h
> > +++ b/include/linux/pci_ids.h
> > @@ -3096,4 +3096,7 @@
> >
> > #define PCI_VENDOR_ID_NCUBE 0x10ff
> >
> > +#define PCI_VENDOR_ID_ASPEED 0x1a03
> > +#define PCI_DEVICE_ID_ASPEED_EHCI 0x2603
>
> Please read the top of this file, this does not need to be added here.
>
> thanks,
>
> greg k-h

Are you suggesting to hard code vendor/device ID in driver instead?
Thanks

-Neal

2022-02-09 07:13:18

by Greg Kroah-Hartman

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

On Tue, Feb 08, 2022 at 02:29:27PM +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]>
> ---
> drivers/usb/host/ehci-pci.c | 6 ++++++
> include/linux/pci_ids.h | 3 +++
> 2 files changed, 9 insertions(+)
>
> diff --git a/drivers/usb/host/ehci-pci.c b/drivers/usb/host/ehci-pci.c
> index e87cf3a00fa4..a91b25d216ae 100644
> --- a/drivers/usb/host/ehci-pci.c
> +++ b/drivers/usb/host/ehci-pci.c
> @@ -222,6 +222,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 */
> diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
> index aad54c666407..410b395fe56c 100644
> --- a/include/linux/pci_ids.h
> +++ b/include/linux/pci_ids.h
> @@ -3096,4 +3096,7 @@
>
> #define PCI_VENDOR_ID_NCUBE 0x10ff
>
> +#define PCI_VENDOR_ID_ASPEED 0x1a03
> +#define PCI_DEVICE_ID_ASPEED_EHCI 0x2603

Please read the top of this file, this does not need to be added here.

thanks,

greg k-h

2022-02-09 09:42:44

by Greg Kroah-Hartman

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

On Tue, Feb 08, 2022 at 08:20:07AM +0000, Neal Liu wrote:
> > -----Original Message-----
> > From: Greg Kroah-Hartman <[email protected]>
> > Sent: Tuesday, February 8, 2022 3:38 PM
> > To: Neal Liu <[email protected]>
> > Cc: Alan Stern <[email protected]>; Bjorn Helgaas
> > <[email protected]>; [email protected];
> > [email protected]; [email protected]; Tao Ren
> > <[email protected]>; BMC-SW <[email protected]>
> > Subject: Re: [PATCH] usb: ehci: add pci device support for Aspeed platforms
> >
> > On Tue, Feb 08, 2022 at 02:29:27PM +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]>
> > > ---
> > > drivers/usb/host/ehci-pci.c | 6 ++++++
> > > include/linux/pci_ids.h | 3 +++
> > > 2 files changed, 9 insertions(+)
> > >
> > > diff --git a/drivers/usb/host/ehci-pci.c b/drivers/usb/host/ehci-pci.c
> > > index e87cf3a00fa4..a91b25d216ae 100644
> > > --- a/drivers/usb/host/ehci-pci.c
> > > +++ b/drivers/usb/host/ehci-pci.c
> > > @@ -222,6 +222,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 */ diff --git
> > > a/include/linux/pci_ids.h b/include/linux/pci_ids.h index
> > > aad54c666407..410b395fe56c 100644
> > > --- a/include/linux/pci_ids.h
> > > +++ b/include/linux/pci_ids.h
> > > @@ -3096,4 +3096,7 @@
> > >
> > > #define PCI_VENDOR_ID_NCUBE 0x10ff
> > >
> > > +#define PCI_VENDOR_ID_ASPEED 0x1a03
> > > +#define PCI_DEVICE_ID_ASPEED_EHCI 0x2603
> >
> > Please read the top of this file, this does not need to be added here.
> >
> > thanks,
> >
> > greg k-h
>
> Are you suggesting to hard code vendor/device ID in driver instead?

Or put the define in the ehci-pci.c file like other drivers do. Only
add to the pci_ids.h file if your define is needed in multiple drivers,
otherwise it is a merge nightmare.

thanks,

greg k-h