]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
xhci: sideband: add initial api to register a secondary interrupter entity
authorMathias Nyman <mathias.nyman@linux.intel.com>
Wed, 9 Apr 2025 19:47:34 +0000 (12:47 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 11 Apr 2025 11:02:29 +0000 (13:02 +0200)
commitde66754e9f8029f8ae955a588959b99cab56b506
treedcd9426da2243fe8ebc4e55fa0a41b3589bb7b42
parent0af2f6be1b4281385b618cb86ad946eded089ac8
xhci: sideband: add initial api to register a secondary interrupter entity

Introduce XHCI sideband, which manages the USB endpoints being requested by
a client driver.  This is used for when client drivers are attempting to
offload USB endpoints to another entity for handling USB transfers.  XHCI
sec intr will allow for drivers to fetch the required information about the
transfer ring, so the user can submit transfers independently.  Expose the
required APIs for drivers to register and request for a USB endpoint and to
manage XHCI secondary interrupters.

Driver renaming, multiple ring segment page linking, proper endpoint clean
up, and allowing module compilation added by Wesley Cheng to complete
original concept code by Mathias Nyman.

Tested-by: Puma Hsu <pumahsu@google.com>
Tested-by: Daehwan Jung <dh10.jung@samsung.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Co-developed-by: Wesley Cheng <quic_wcheng@quicinc.com>
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
Acked-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20250409194804.3773260-2-quic_wcheng@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/Kconfig
drivers/usb/host/Makefile
drivers/usb/host/xhci-sideband.c [new file with mode: 0644]
drivers/usb/host/xhci.h
include/linux/usb/xhci-sideband.h [new file with mode: 0644]