Skip to content

usb: Set quirks for xhci/dwc3 host mode

Thinh Nguyen linux-usb oe-kbuild-all 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest7 patches 8 repliesIn review
  2. v16 patches 6 repliesSuperseded

Changes in v2 from the cover letter

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

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7usb: xhci: Move quirks definitions to common usb headerdrivers/usb/host/xhci.h include/linux/usb/xhci-quirks.h+63 -520 replies
2/7usb: xhci: Move xhci-plat header to common usb headerdrivers/usb/cdns3/host.c drivers/usb/host/xhci-plat.c drivers/usb/host/xhci-rcar.c +1 more+12 -120 replies
3/7usb: xhci: Check for blocked disconnectiondrivers/usb/host/xhci-mem.c drivers/usb/host/xhci-ring.c drivers/usb/host/xhci.c +2 more+139 -04 replies
4/7usb: xhci: Workaround undercalculated BW for fullspeed BIdrivers/usb/host/xhci-mem.c include/linux/usb/xhci-quirks.h+24 -01 reply
5/7usb: xhci: Rename Compliance mode timer quirkdrivers/usb/host/xhci-hub.c drivers/usb/host/xhci.c drivers/usb/host/xhci.h+24 -270 replies
6/7usb: xhci: Workaround lost disconnect port statusdrivers/usb/host/xhci-hub.c drivers/usb/host/xhci.c include/linux/usb/xhci-quirks.h+42 -132 replies
7/7usb: dwc3: host: Set quirks base on versiondrivers/usb/dwc3/host.c+22 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [PATCH v2 0/7] usb: Set quirks for xhci/dwc3 host mode

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

Signature · 1 line
2.28.0