[PATCH v3 0/4] support USB offload feature

From: Daehwan Jung
Date: Mon Mar 21 2022 - 05:02:22 EST


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 gives vendors flexibilty of memory management.
Several 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, Transfer Ring, Event Ring, ERST.
It needs xhci hooks and to export some xhci symbols.

Changes in v2 :
- Fix commit message by adding Signed-off-by in each patch.
- Fix conflict on latest.

Changes in v3 :
- Remove export symbols and xhci hooks which xhci-exynos don't need.
- Modify commit message to clarify why it needs to export symbols.
- Check compiling of xhci-exynos.

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 driver

drivers/usb/host/Kconfig | 9 +
drivers/usb/host/Makefile | 1 +
drivers/usb/host/xhci-exynos.c | 982 +++++++++++++++++++++++++++++++++
drivers/usb/host/xhci-exynos.h | 63 +++
drivers/usb/host/xhci-hub.c | 7 +
drivers/usb/host/xhci-mem.c | 150 ++++-
drivers/usb/host/xhci-plat.c | 43 +-
drivers/usb/host/xhci-plat.h | 7 +
drivers/usb/host/xhci-ring.c | 1 +
drivers/usb/host/xhci.c | 90 ++-
drivers/usb/host/xhci.h | 50 ++
11 files changed, 1379 insertions(+), 24 deletions(-)
create mode 100644 drivers/usb/host/xhci-exynos.c
create mode 100644 drivers/usb/host/xhci-exynos.h

--
2.31.1