mbox series

[v2,0/7] usb: Set quirks for xhci/dwc3 host mode

Message ID cover.1618014279.git.Thinh.Nguyen@synopsys.com (mailing list archive)
Headers show
Series usb: Set quirks for xhci/dwc3 host mode | expand

Message

Thinh Nguyen April 10, 2021, 12:46 a.m. UTC
This series add 3 new quirks for DWC_usb31 host mode:
 * XHCI_ISOC_BLOCKED_DISCONNECT
 * XHCI_LIMIT_FS_BI_INTR_EP
 * XHCI_LOST_DISCONNECT_QUIRK

Different versions of DWC_usb3x controllers have different quirks. Typically we
set them based on PCI device VID:PID or DT compatible strings. However, we know
that a particular IP version(s) may share a common quirk across different
platform. We can enable these quirks based on the IP type and version number.
This simplifies the designer work and consolidate the logic check. To do this,
we will need to expose the xHCI quirks to the common header along with the
private platform structure.


Changes in v2:
- Instead of combining xhci-plat private structure in xhci-squirks.h, keep it
  as a separate header file


Thinh Nguyen (7):
  usb: xhci: Move quirks definitions to common usb header
  usb: xhci: Move xhci-plat header to common usb header
  usb: xhci: Check for blocked disconnection
  usb: xhci: Workaround undercalculated BW for fullspeed BI
  usb: xhci: Rename Compliance mode timer quirk
  usb: xhci: Workaround lost disconnect port status
  usb: dwc3: host: Set quirks base on version

 drivers/usb/cdns3/host.c                      |   2 +-
 drivers/usb/dwc3/host.c                       |  22 +++
 drivers/usb/host/xhci-hub.c                   |  12 +-
 drivers/usb/host/xhci-mem.c                   |  26 ++++
 drivers/usb/host/xhci-plat.c                  |   2 +-
 drivers/usb/host/xhci-rcar.c                  |   2 +-
 drivers/usb/host/xhci-ring.c                  |  76 ++++++++++
 drivers/usb/host/xhci.c                       | 134 +++++++++++++-----
 drivers/usb/host/xhci.h                       |  71 ++--------
 .../host => include/linux/usb}/xhci-plat.h    |  18 +--
 include/linux/usb/xhci-quirks.h               |  65 +++++++++
 11 files changed, 326 insertions(+), 104 deletions(-)
 rename {drivers/usb/host => include/linux/usb}/xhci-plat.h (54%)
 create mode 100644 include/linux/usb/xhci-quirks.h


base-commit: 496960274153bdeb9d1f904ff1ea875cef8232c1

Comments

Thinh Nguyen April 19, 2021, 9:07 p.m. UTC | #1
Hi Mathias,

Thinh Nguyen wrote:
> This series add 3 new quirks for DWC_usb31 host mode:
>  * XHCI_ISOC_BLOCKED_DISCONNECT
>  * XHCI_LIMIT_FS_BI_INTR_EP
>  * XHCI_LOST_DISCONNECT_QUIRK
> 
> Different versions of DWC_usb3x controllers have different quirks. Typically we
> set them based on PCI device VID:PID or DT compatible strings. However, we know
> that a particular IP version(s) may share a common quirk across different
> platform. We can enable these quirks based on the IP type and version number.
> This simplifies the designer work and consolidate the logic check. To do this,
> we will need to expose the xHCI quirks to the common header along with the
> private platform structure.
> 
> 
> Changes in v2:
> - Instead of combining xhci-plat private structure in xhci-squirks.h, keep it
>   as a separate header file
> 
> 
> Thinh Nguyen (7):
>   usb: xhci: Move quirks definitions to common usb header
>   usb: xhci: Move xhci-plat header to common usb header
>   usb: xhci: Check for blocked disconnection
>   usb: xhci: Workaround undercalculated BW for fullspeed BI
>   usb: xhci: Rename Compliance mode timer quirk
>   usb: xhci: Workaround lost disconnect port status
>   usb: dwc3: host: Set quirks base on version
> 
>  drivers/usb/cdns3/host.c                      |   2 +-
>  drivers/usb/dwc3/host.c                       |  22 +++
>  drivers/usb/host/xhci-hub.c                   |  12 +-
>  drivers/usb/host/xhci-mem.c                   |  26 ++++
>  drivers/usb/host/xhci-plat.c                  |   2 +-
>  drivers/usb/host/xhci-rcar.c                  |   2 +-
>  drivers/usb/host/xhci-ring.c                  |  76 ++++++++++
>  drivers/usb/host/xhci.c                       | 134 +++++++++++++-----
>  drivers/usb/host/xhci.h                       |  71 ++--------
>  .../host => include/linux/usb}/xhci-plat.h    |  18 +--
>  include/linux/usb/xhci-quirks.h               |  65 +++++++++
>  11 files changed, 326 insertions(+), 104 deletions(-)
>  rename {drivers/usb/host => include/linux/usb}/xhci-plat.h (54%)
>  create mode 100644 include/linux/usb/xhci-quirks.h
> 
> 
> base-commit: 496960274153bdeb9d1f904ff1ea875cef8232c1
> 

Did you get a chance to take a look at this series?

Thanks,
Thinh