Re: [PATCH v12 00/41] Introduce QC USB SND audio offloading support

From: Wesley Cheng
Date: Mon Jan 08 2024 - 14:20:47 EST


Hi,

On 1/6/2024 12:54 AM, Hillf Danton wrote:
On Tue, 2 Jan 2024 13:45:08 -0800 Wesley Cheng <quic_wcheng@xxxxxxxxxxx>
Changes in v2:

XHCI:
- Replaced XHCI and HCD changes with Mathias' XHCI interrupter changes
in his tree:
https://git.kernel.org/pub/scm/linux/kernel/git/mnyman/xhci.git/log/?h=feature_interrupters

Adjustments made to Mathias' changes:
- Created xhci-intr.h to export/expose interrupter APIs versus exposing xhci.h.
Moved dependent structures to this file as well. (so clients can parse out
information from "struct xhci_interrupter")
- Added some basic locking when requesting interrupters.
- Fixed up some sanity checks.
- Removed clearing of the ERSTBA during freeing of the interrupter. (pending
issue where SMMU fault occurs if DMA addr returned is 64b - TODO)

- Clean up pending events in the XHCI secondary interrupter. While testing USB
bus suspend, it was seen that on bus resume, the xHCI HC would run into a command
timeout.
- Added offloading APIs to xHCI to fetch transfer and event ring information.

ASoC:
- Modified soc-usb to allow for multiple USB port additions. For this to work,
the USB offload driver has to have a reference to the USB backend by adding
a "usb-soc-be" DT entry to the device saved into XHCI sysdev.

Could you tip point to where the usb-soc-be DT entry is added?


Intention is that the USB class driver needs to be able to reference the ASoC DPCM USB backend dai, so the entry has to reside somewhere within the USB bus. In our case, it would be within the device node which is saved under the bus->sysdev (XHCI based). Specifically, for a DWC3 based implementation, it would be within the DWC3 node.

Thanks
Wesley Cheng