All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wesley Cheng <quic_wcheng@quicinc.com>
To: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Cc: "srinivas.kandagatla@linaro.org" <srinivas.kandagatla@linaro.org>,
	"mathias.nyman@intel.com" <mathias.nyman@intel.com>,
	"perex@perex.cz" <perex@perex.cz>,
	"conor+dt@kernel.org" <conor+dt@kernel.org>,
	"dmitry.torokhov@gmail.com" <dmitry.torokhov@gmail.com>,
	"corbet@lwn.net" <corbet@lwn.net>,
	"lgirdwood@gmail.com" <lgirdwood@gmail.com>,
	"tiwai@suse.com" <tiwai@suse.com>,
	"krzk+dt@kernel.org" <krzk+dt@kernel.org>,
	"pierre-louis.bossart@linux.intel.com"
	<pierre-louis.bossart@linux.intel.com>,
	"broonie@kernel.org" <broonie@kernel.org>,
	"bgoswami@quicinc.com" <bgoswami@quicinc.com>,
	"robh@kernel.org" <robh@kernel.org>,
	"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-sound@vger.kernel.org" <linux-sound@vger.kernel.org>,
	"linux-input@vger.kernel.org" <linux-input@vger.kernel.org>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
	"linux-arm-msm@vger.kernel.org" <linux-arm-msm@vger.kernel.org>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
	Mathias Nyman <mathias.nyman@linux.intel.com>
Subject: Re: [PATCH v29 04/33] xhci: sideband: add initial api to register a sideband entity
Date: Tue, 29 Oct 2024 11:58:03 -0700	[thread overview]
Message-ID: <52ea0b32-79c7-42e8-8e2c-192d08f41e64@quicinc.com> (raw)
In-Reply-To: <20241025232252.wsk4lviqzyzqjzuh@synopsys.com>

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@linux.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@linux.intel.com>
>> Co-developed-by: Wesley Cheng <quic_wcheng@quicinc.com>
>> Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.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

  reply	other threads:[~2024-10-29 18:58 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-15 21:28 [PATCH v29 00/33] Introduce QC USB SND audio offloading support Wesley Cheng
2024-10-15 21:28 ` [PATCH v29 01/33] xhci: support setting interrupt moderation IMOD for secondary interrupters Wesley Cheng
2024-10-17  6:40   ` Greg KH
2024-10-18  0:07     ` Wesley Cheng
2024-10-18  5:52       ` Greg KH
2024-10-22 13:56         ` Takashi Iwai
2024-10-22 14:02           ` Greg KH
2024-10-22 15:04             ` Amadeusz Sławiński
2024-10-28 18:12               ` Wesley Cheng
2024-10-15 21:28 ` [PATCH v29 02/33] xhci: add helper to stop endpoint and wait for completion Wesley Cheng
2024-10-15 21:28 ` [PATCH v29 03/33] usb: host: xhci: Repurpose event handler for skipping interrupter events Wesley Cheng
2024-10-15 21:28 ` [PATCH v29 04/33] xhci: sideband: add initial api to register a sideband entity Wesley Cheng
2024-10-25 23:22   ` Thinh Nguyen
2024-10-29 18:58     ` Wesley Cheng [this message]
2024-10-31  0:49       ` Wesley Cheng
2024-10-15 21:28 ` [PATCH v29 05/33] usb: xhci: xhci-sideband: Set IMOD for xHCI sideband clients Wesley Cheng
2024-10-15 21:28 ` [PATCH v29 06/33] usb: host: xhci-mem: Cleanup pending secondary event ring events Wesley Cheng
2024-10-15 21:28 ` [PATCH v29 07/33] usb: host: xhci-mem: Allow for interrupter clients to choose specific index Wesley Cheng
2024-10-15 21:28 ` [PATCH v29 08/33] usb: host: xhci-plat: Set XHCI max interrupters if property is present Wesley Cheng
2024-10-15 21:28 ` [PATCH v29 09/33] usb: dwc3: Specify maximum number of XHCI interrupters Wesley Cheng
2024-10-15 21:28 ` [PATCH v29 10/33] ALSA: Add USB audio device jack type Wesley Cheng
2024-10-15 21:28 ` [PATCH v29 11/33] ALSA: usb-audio: Export USB SND APIs for modules Wesley Cheng
2024-10-15 21:28 ` [PATCH v29 12/33] ALSA: usb-audio: Check for support for requested audio format Wesley Cheng
2024-10-15 21:28 ` [PATCH v29 13/33] ALSA: usb-audio: Save UAC sample size information Wesley Cheng
2024-10-15 21:28 ` [PATCH v29 14/33] ALSA: usb-audio: Prevent starting of audio stream if in use Wesley Cheng
2024-10-15 21:28 ` [PATCH v29 15/33] ASoC: Add SOC USB APIs for adding an USB backend Wesley Cheng
2024-10-15 21:28 ` [PATCH v29 16/33] ASoC: usb: Add PCM format check API for " Wesley Cheng
2024-10-15 21:28 ` [PATCH v29 17/33] ASoC: usb: Create SOC USB SND jack kcontrol Wesley Cheng
2024-10-15 21:29 ` [PATCH v29 18/33] ASoC: usb: Fetch ASoC card and pcm device information Wesley Cheng
2024-10-15 21:29 ` [PATCH v29 19/33] ASoC: doc: Add documentation for SOC USB Wesley Cheng
2024-10-15 21:29 ` [PATCH v29 20/33] ASoC: dt-bindings: qcom,q6dsp-lpass-ports: Add USB_RX port Wesley Cheng
2024-10-15 21:29 ` [PATCH v29 21/33] ASoC: dt-bindings: Update example for enabling USB offload on SM8250 Wesley Cheng
2024-10-15 21:29 ` [PATCH v29 22/33] ASoC: qcom: qdsp6: Introduce USB AFE port to q6dsp Wesley Cheng
2024-10-15 21:29 ` [PATCH v29 23/33] ASoC: qcom: qdsp6: q6afe: Increase APR timeout Wesley Cheng
2024-10-15 21:29 ` [PATCH v29 24/33] ASoC: qcom: qdsp6: Add USB backend ASoC driver for Q6 Wesley Cheng
2024-10-15 21:29 ` [PATCH v29 25/33] ASoC: qcom: qdsp6: Add headphone jack for offload connection status Wesley Cheng
2024-10-15 21:29 ` [PATCH v29 26/33] ASoC: qcom: qdsp6: Fetch USB offload mapped card and PCM device Wesley Cheng
2024-10-15 21:29 ` [PATCH v29 27/33] ALSA: usb-audio: Introduce USB SND platform op callbacks Wesley Cheng
2024-10-15 21:29 ` [PATCH v29 28/33] ALSA: usb-audio: qcom: Add USB QMI definitions Wesley Cheng
2024-10-15 21:29 ` [PATCH v29 29/33] ALSA: usb-audio: qcom: Introduce QC USB SND offloading support Wesley Cheng
2024-10-15 21:29 ` [PATCH v29 30/33] ALSA: usb-audio: qcom: Don't allow USB offload path if PCM device is in use Wesley Cheng
2024-10-15 21:29 ` [PATCH v29 31/33] ALSA: usb-audio: Add USB offload route kcontrol Wesley Cheng
2024-10-15 21:29 ` [PATCH v29 32/33] ALSA: usb-audio: Allow for rediscovery of connected USB SND devices Wesley Cheng
2024-10-15 21:29 ` [PATCH v29 33/33] ASoC: usb: Rediscover USB SND devices on USB port add Wesley Cheng
2024-10-18 19:42 ` [PATCH v29 00/33] Introduce QC USB SND audio offloading support Wesley Cheng

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52ea0b32-79c7-42e8-8e2c-192d08f41e64@quicinc.com \
    --to=quic_wcheng@quicinc.com \
    --cc=Thinh.Nguyen@synopsys.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=bgoswami@quicinc.com \
    --cc=broonie@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=corbet@lwn.net \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=krzk+dt@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mathias.nyman@intel.com \
    --cc=mathias.nyman@linux.intel.com \
    --cc=perex@perex.cz \
    --cc=pierre-louis.bossart@linux.intel.com \
    --cc=robh@kernel.org \
    --cc=srinivas.kandagatla@linaro.org \
    --cc=tiwai@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.