xhci: add support to allocate several interrupters
authorMathias Nyman <mathias.nyman@linux.intel.com>
Tue, 2 Jan 2024 21:45:09 +0000 (13:45 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 4 Jan 2024 15:08:13 +0000 (16:08 +0100)
commitc99b38c412343053e9af187e595793c8805bb9b8
treef8e3d9a6cefd815dabb32e4b6455f47c728b7b66
parent49a78b05d5ca1e23fd737747a8757b8bdc319b30
xhci: add support to allocate several interrupters

Modify the XHCI drivers to accommodate for handling multiple event rings in
case there are multiple interrupters.  Add the required APIs so clients are
able to allocate/request for an interrupter ring, and pass this information
back to the client driver.  This allows for users to handle the resource
accordingly, such as passing the event ring base address to an audio DSP.
There is no actual support for multiple MSI/MSI-X vectors.

[export xhci_initialize_ring_info() -wcheng]

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
Link: https://lore.kernel.org/r/20240102214549.22498-2-quic_wcheng@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci-debugfs.c
drivers/usb/host/xhci-mem.c
drivers/usb/host/xhci-ring.c
drivers/usb/host/xhci.c
drivers/usb/host/xhci.h