This patchset is for USB offload feature, which makes Co-processor to use some memories of xhci. Especially it's useful for USB Audio scenario. Audio stream would get shortcut because Co-processor directly write/read data in xhci memories. It could get speed-up using faster memory like SRAM. That's why this also gives vendors flexibilty of memory management. Below pathches have been merged in AOSP kernel(android12-5.10) and I put together and split into 3 patches. Plus let me add user(xhci-exynos) module to see how user could use it. To sum up, it's for providing xhci memories to Co-Processor. It would cover DCBAA, Device Context, Tranfer Ring, Event Ring, ERST. It needs xhci hooks and to export some xhci symbols. ANDROID: usb: host: fix slab-out-of-bounds in xhci_vendor_get_ops ANDROID: usb: export built-in tracepoint functions ANDROID: usb: host: Use old init scheme when hook unavailable ANDROID: usb: host: free the offload TR by vendor hook ANDROID: usb: host: xhci: provide function prototype for xhci_address_device ANDROID: usb: host: add bus_suspend/bus_resume to xhci overrides ANDROID: usb: host: add address_device to xhci overrides ANDROID: usb: host: add max packet parameter on alloc_transfer_ring hook ANDROID: usb: host: add xhci hooks for vendor specific container context ANDROID: usb: host: export xhci symbols for ring management ANDROID: usb: host: export additional xhci symbols for ring management FROMLIST: usb: xhci-plat: add xhci_plat_priv_overwrite FROMLIST: usb: host: export symbols for xhci hooks usage FROMLIST: usb: host: add xhci hooks for USB offload Below are owners of patches. Howard Yen <howardyen@xxxxxxxxxx> Jack Pham <jackp@xxxxxxxxxxxxxx> Puma Hsu <pumahsu@xxxxxxxxxx> J. Avila <elavila@xxxxxxxxxx> chihhao.chen <chihhao.chen@xxxxxxxxxxxx> Daehwan Jung (4): usb: host: export symbols for xhci hooks usage usb: host: add xhci hooks for USB offload usb: host: add some to xhci overrides for USB offload usb: host: add xhci-exynos module drivers/usb/host/xhci-exynos.c | 2025 ++++++++++++++++++++++++++++++++ drivers/usb/host/xhci-exynos.h | 150 +++ drivers/usb/host/xhci-hub.c | 7 + drivers/usb/host/xhci-mem.c | 160 ++- drivers/usb/host/xhci-plat.c | 43 +- drivers/usb/host/xhci-plat.h | 8 + drivers/usb/host/xhci-ring.c | 22 +- drivers/usb/host/xhci.c | 104 +- drivers/usb/host/xhci.h | 52 + 9 files changed, 2543 insertions(+), 28 deletions(-) create mode 100644 drivers/usb/host/xhci-exynos.c create mode 100644 drivers/usb/host/xhci-exynos.h -- 2.31.1