[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <52ea0b32-79c7-42e8-8e2c-192d08f41e64@quicinc.com>
Date: Tue, 29 Oct 2024 11:58:03 -0700
From: Wesley Cheng <quic_wcheng@...cinc.com>
To: Thinh Nguyen <Thinh.Nguyen@...opsys.com>
CC: "srinivas.kandagatla@...aro.org" <srinivas.kandagatla@...aro.org>,
"mathias.nyman@...el.com" <mathias.nyman@...el.com>,
"perex@...ex.cz"
<perex@...ex.cz>,
"conor+dt@...nel.org" <conor+dt@...nel.org>,
"dmitry.torokhov@...il.com" <dmitry.torokhov@...il.com>,
"corbet@....net"
<corbet@....net>,
"lgirdwood@...il.com" <lgirdwood@...il.com>,
"tiwai@...e.com" <tiwai@...e.com>,
"krzk+dt@...nel.org" <krzk+dt@...nel.org>,
"pierre-louis.bossart@...ux.intel.com"
<pierre-louis.bossart@...ux.intel.com>,
"broonie@...nel.org"
<broonie@...nel.org>,
"bgoswami@...cinc.com" <bgoswami@...cinc.com>,
"robh@...nel.org" <robh@...nel.org>,
"gregkh@...uxfoundation.org"
<gregkh@...uxfoundation.org>,
"linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>,
"devicetree@...r.kernel.org"
<devicetree@...r.kernel.org>,
"linux-sound@...r.kernel.org"
<linux-sound@...r.kernel.org>,
"linux-input@...r.kernel.org"
<linux-input@...r.kernel.org>,
"linux-usb@...r.kernel.org"
<linux-usb@...r.kernel.org>,
"linux-arm-msm@...r.kernel.org"
<linux-arm-msm@...r.kernel.org>,
"linux-doc@...r.kernel.org"
<linux-doc@...r.kernel.org>,
"alsa-devel@...a-project.org"
<alsa-devel@...a-project.org>,
Mathias Nyman <mathias.nyman@...ux.intel.com>
Subject: Re: [PATCH v29 04/33] xhci: sideband: add initial api to register a
sideband entity
Hi Thinh,
On 10/25/2024 4:22 PM, Thinh Nguyen wrote:
> Hi,
>
> On Tue, Oct 15, 2024, Wesley Cheng wrote:
>> From: Mathias Nyman <mathias.nyman@...ux.intel.com>
>>
>> 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
>> sideband 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.
>>
>> 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.
>>
>> Signed-off-by: Mathias Nyman <mathias.nyman@...ux.intel.com>
>> Co-developed-by: Wesley Cheng <quic_wcheng@...cinc.com>
>> Signed-off-by: Wesley Cheng <quic_wcheng@...cinc.com>
>> ---
>> drivers/usb/host/Kconfig | 9 +
>> drivers/usb/host/Makefile | 2 +
>> drivers/usb/host/xhci-sideband.c | 424 ++++++++++++++++++++++++++++++
>> drivers/usb/host/xhci.h | 4 +
>> include/linux/usb/xhci-sideband.h | 70 +++++
>> 5 files changed, 509 insertions(+)
>> create mode 100644 drivers/usb/host/xhci-sideband.c
>> create mode 100644 include/linux/usb/xhci-sideband.h
>>
>> diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
>> index 4448d0ab06f0..96659efa4be5 100644
>> --- a/drivers/usb/host/Kconfig
>> +++ b/drivers/usb/host/Kconfig
>> @@ -104,6 +104,15 @@ config USB_XHCI_RZV2M
>> Say 'Y' to enable the support for the xHCI host controller
>> found in Renesas RZ/V2M SoC.
>>
>> +config USB_XHCI_SIDEBAND
>> + tristate "xHCI support for sideband"
>> + help
>> + Say 'Y' to enable the support for the xHCI sideband capability.
>> + Provide a mechanism for a sideband datapath for payload associated
> Please correct me if I'm wrong, but this doesn't look like the actual
> xHCI Audio Sideband capability described in the xHCI spec section 7.9
> but rather a specific implementation for Qcom right? For the xHCI Audio
> Sideband xHCI capability, the driver should detect this capability
> through the xHCI get extended capability. If this is not xHCI Audio
> Sideband capability, we should properly clarify this in the
> documentation and the naming of things to avoid any confusion.
Sure, that's a good point. It does still currently rely on utilizing the system memory for USB IO transfers. I can add some comments and update some of the documentation to reflect that this is different.
Thanks
Wesley Cheng
> I believe your implementation still needs to provide the data to the
> host controller through the system memory right? The xHCI Audio Sideband
> capability may pass the data to the xHC other than the main memory.
>
> BR,
> Thinh
>
>> + with audio class endpoints. This allows for an audio DSP to use
>> + xHCI USB endpoints directly, allowing CPU to sleep while playing
>> + audio.
>> +
>> config USB_XHCI_TEGRA
>> tristate "xHCI support for NVIDIA Tegra SoCs"
>> depends on PHY_TEGRA_XUSB
Powered by blists - more mailing lists