Skip to content

Multi-segment Event Ring support for XHCI

Lukas Wunner linux-usb 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest10 patches 1 replyIn review
  2. v12 patches 2 repliesSuperseded

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/10xhci: Clear EHB bit only at end of interrupt handlerdrivers/usb/host/xhci-ring.c+7 -50 replies
2/10xhci: Preserve RsvdP bits in ERSTBA register correctlydrivers/usb/host/xhci-mem.c drivers/usb/host/xhci.h+3 -30 replies
3/10xhci: Set DESI bits in ERDP register correctlydrivers/usb/host/xhci-mem.c drivers/usb/host/xhci-ring.c drivers/usb/host/xhci.h+13 -150 replies
4/10xhci: Use more than one Event Ring segmentdrivers/usb/host/xhci-mem.c drivers/usb/host/xhci.h+9 -50 replies
5/10xhci: Adjust segment numbers after ring expansiondrivers/usb/host/xhci-mem.c+10 -60 replies
6/10xhci: Update last segment pointer after Event Ring expansiondrivers/usb/host/xhci-mem.c+7 -50 replies
7/10xhci: Expose segment numbers in debugfsdrivers/usb/host/xhci-debugfs.c+1 -10 replies
8/10xhci: Clean up ERST_PTR_MASK inversiondrivers/usb/host/xhci-mem.c drivers/usb/host/xhci-ring.c drivers/usb/host/xhci.c +1 more+5 -70 replies
9/10xhci: Clean up stale comment on ERST_SIZE macrodrivers/usb/host/xhci.h+1 -50 replies
10/10xhci: Clean up xhci_{alloc,free}_erst() declarationsdrivers/usb/host/xhci-mem.c drivers/usb/host/xhci.h+1 -60 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 00/10] Multi-segment Event Ring support for XHCI

Enlarge the XHCI Event Ring to cope with high load situations by allowing more than one segment.

This second iteration seeks to address all of Mathias' review feedback on v1:

* Patch [01/10]:
Use ERST_DESI_MASK instead of ERST_PTR_MASK when constructing the new ERDP value to avoid carrying over a set EHB bit.

* Patch [04/10]:
Only use up to 2 Event Ring segments by default (instead of 8).

* Patch [05/10]:
New patch to adjust segment numbers after ring expansion.

* Patch [08/10]:
New patch to clean up ERST_PTR_MASK inversion.

Several other issues caught my eye and I'm including fixes and cleanups for those as well.

Link to v1:
https://lore.kernel.org/all/[email protected]/

Jonathan Bell (1):
xhci: Use more than one Event Ring segment

Lukas Wunner (9):
xhci: Clear EHB bit only at end of interrupt handler
xhci: Preserve RsvdP bits in ERSTBA register correctly
xhci: Set DESI bits in ERDP register correctly
xhci: Adjust segment numbers after ring expansion
xhci: Update last segment pointer after Event Ring expansion
xhci: Expose segment numbers in debugfs
xhci: Clean up ERST_PTR_MASK inversion
xhci: Clean up stale comment on ERST_SIZE macro
xhci: Clean up xhci_{alloc,free}_erst() declarations

 drivers/usb/host/xhci-debugfs.c |  2 +-
 drivers/usb/host/xhci-mem.c     | 68 ++++++++++++++++++---------------
 drivers/usb/host/xhci-ring.c    | 17 +++++----
 drivers/usb/host/xhci.c         |  2 +-
 drivers/usb/host/xhci.h         | 18 +++------
 5 files changed, 53 insertions(+), 54 deletions(-)
Signature · 1 line
2.39.2