Linux-Devicetree Archive mirror
 help / color / mirror / Atom feed
From: Wesley Cheng <quic_wcheng@quicinc.com>
To: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>,
	<srinivas.kandagatla@linaro.org>, <mathias.nyman@intel.com>,
	<perex@perex.cz>, <conor+dt@kernel.org>, <corbet@lwn.net>,
	<lgirdwood@gmail.com>, <andersson@kernel.org>,
	<krzk+dt@kernel.org>, <gregkh@linuxfoundation.org>,
	<Thinh.Nguyen@synopsys.com>, <broonie@kernel.org>,
	<bgoswami@quicinc.com>, <tiwai@suse.com>, <bagasdotme@gmail.com>,
	<robh@kernel.org>, <konrad.dybcio@linaro.org>
Cc: <linux-kernel@vger.kernel.org>, <devicetree@vger.kernel.org>,
	<linux-sound@vger.kernel.org>, <linux-usb@vger.kernel.org>,
	<linux-arm-msm@vger.kernel.org>, <linux-doc@vger.kernel.org>,
	<alsa-devel@alsa-project.org>
Subject: Re: [PATCH v21 27/39] ASoC: Introduce SND kcontrols to select sound card and PCM device
Date: Thu, 9 May 2024 15:32:42 -0700	[thread overview]
Message-ID: <e98f0e53-b6b7-5ad6-fe09-2f2487929f61@quicinc.com> (raw)
In-Reply-To: <f1368be7-fea5-450c-a61c-f289ba61f150@linux.intel.com>

Hi Pierre,

On 5/9/2024 6:07 AM, Pierre-Louis Bossart wrote:
> 
> 
> On 5/8/24 19:10, Wesley Cheng wrote:
>> Hi Pierre,
>>
>> On 5/7/2024 2:26 PM, Pierre-Louis Bossart wrote:
>>>
>>>
>>> On 5/7/24 14:51, Wesley Cheng wrote:
>>>> Add SND kcontrol to SOC USB, which will allow for userpsace to determine
>>>> which USB card number and PCM device to offload.  This allows for
>>>> userspace
>>>> to potentially tag an alternate path for a specific USB SND card and PCM
>>>> device.  Previously, control was absent, and the offload path would be
>>>> enabled on the last USB SND device which was connected.  This logic will
>>>> continue to be applicable if no mixer input is received for specific
>>>> device
>>>> selection.
>>>>
>>>> An example to configure the offload device using tinymix:
>>>> tinymix -D 0 set 'USB Offload Playback Route Select' 1 0
>>>>
>>>> The above command will configure the offload path to utilize card#1
>>>> and PCM
>>>> stream#0.
>>>
>>> I don't know how this is usable in practice. Using card indices is
>>> really hard to do, it depends on the order in which devices are
>>> plugged-in...
>>
>> How are the existing mechanisms handling USB audio devices, or what is
>> the identifier being used?
> 
> Well it's a mess, that's why I asked.
> 
> There are configuration work-arounds to make sure that 'local'
> accessories are handled first and get repeatable card indices.
> 

So is the intention of the configuration aspect you're thinking of to 
have an entry that maps a USB device based on some identifier, which 
will take the offload path by default?

IMO, the concept of this selection of card and PCM device should happen 
after the application discovers a USB device that is offload capable. 
For example, maybe the application will use the USB VID/PID to lookup an 
entry within the configuration.  If some offload tag is present, it can 
further determine which card and PCM devices are associated w/ the USB 
device?  Although this is under the assumption the application has 
insight to the USB sysfs.

> But between USB devices I guess the rule is 'anything goes'. Even if
> there are two devices connected at boot, the index allocation will
> depend on probe order. The card names are not necessarily super-useful
> either, i.e. yesterday I was confused by an USB card named "CODEC"
> without any details.

That device is very informative :D

Thanks
Wesley Cheng

  reply	other threads:[~2024-05-09 22:33 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-07 19:50 [PATCH v21 00/39] Introduce QC USB SND audio offloading support Wesley Cheng
2024-05-07 19:50 ` [PATCH v21 01/39] xhci: add helper to stop endpoint and wait for completion Wesley Cheng
2024-05-07 19:50 ` [PATCH v21 02/39] usb: host: xhci: Repurpose event handler for skipping interrupter events Wesley Cheng
2024-05-07 19:50 ` [PATCH v21 03/39] xhci: sideband: add initial api to register a sideband entity Wesley Cheng
2024-05-07 19:50 ` [PATCH v21 04/39] usb: xhci: Allow for secondary interrupter to set IMOD Wesley Cheng
2024-05-07 19:50 ` [PATCH v21 05/39] usb: host: xhci-mem: Cleanup pending secondary event ring events Wesley Cheng
2024-05-07 19:50 ` [PATCH v21 06/39] usb: host: xhci-mem: Allow for interrupter clients to choose specific index Wesley Cheng
2024-05-07 19:50 ` [PATCH v21 07/39] ASoC: Add SOC USB APIs for adding an USB backend Wesley Cheng
2024-05-07 20:26   ` Pierre-Louis Bossart
2024-05-08 20:16     ` Wesley Cheng
2024-05-07 19:50 ` [PATCH v21 08/39] ASoC: dt-bindings: qcom,q6dsp-lpass-ports: Add USB_RX port Wesley Cheng
2024-05-07 19:50 ` [PATCH v21 09/39] ASoC: qcom: qdsp6: Introduce USB AFE port to q6dsp Wesley Cheng
2024-05-07 20:37   ` Pierre-Louis Bossart
2024-05-08 23:34     ` Wesley Cheng
2024-05-09 12:54       ` Pierre-Louis Bossart
2024-05-09 21:34         ` Wesley Cheng
2024-05-07 19:50 ` [PATCH v21 10/39] ASoC: qdsp6: q6afe: Increase APR timeout Wesley Cheng
2024-05-07 19:50 ` [PATCH v21 11/39] ASoC: qcom: qdsp6: Add USB backend ASoC driver for Q6 Wesley Cheng
2024-05-07 20:39   ` Pierre-Louis Bossart
2024-05-07 19:50 ` [PATCH v21 12/39] ALSA: usb-audio: Introduce USB SND platform op callbacks Wesley Cheng
2024-05-07 19:50 ` [PATCH v21 13/39] ALSA: usb-audio: Export USB SND APIs for modules Wesley Cheng
2024-05-07 19:50 ` [PATCH v21 14/39] ALSA: usb-audio: Save UAC sample size information Wesley Cheng
2024-05-07 19:50 ` [PATCH v21 15/39] usb: dwc3: Specify maximum number of XHCI interrupters Wesley Cheng
2024-05-07 19:50 ` [PATCH v21 16/39] usb: host: xhci-plat: Set XHCI max interrupters if property is present Wesley Cheng
2024-05-07 19:50 ` [PATCH v21 17/39] ALSA: usb-audio: qcom: Add USB QMI definitions Wesley Cheng
2024-05-07 19:50 ` [PATCH v21 18/39] ALSA: usb-audio: qcom: Introduce QC USB SND offloading support Wesley Cheng
2024-05-07 19:50 ` [PATCH v21 19/39] ALSA: usb-audio: Check for support for requested audio format Wesley Cheng
2024-05-07 19:50 ` [PATCH v21 20/39] ASoC: usb: Add PCM format check API for USB backend Wesley Cheng
2024-05-07 19:50 ` [PATCH v21 21/39] ASoC: qcom: qdsp6: Ensure PCM format is supported by USB audio device Wesley Cheng
2024-05-07 19:50 ` [PATCH v21 22/39] ALSA: usb-audio: Prevent starting of audio stream if in use Wesley Cheng
2024-05-07 21:20   ` Pierre-Louis Bossart
2024-05-08 23:40     ` Wesley Cheng
2024-05-09 13:01       ` Pierre-Louis Bossart
2024-05-09 21:38         ` Wesley Cheng
2024-05-07 19:51 ` [PATCH v21 23/39] ALSA: usb-audio: Do not allow USB offload path if PCM device is " Wesley Cheng
2024-05-07 19:51 ` [PATCH v21 24/39] ASoC: dt-bindings: Update example for enabling USB offload on SM8250 Wesley Cheng
2024-05-07 19:51 ` [PATCH v21 25/39] ALSA: usb-audio: qcom: Populate PCM and USB chip information Wesley Cheng
2024-05-07 19:51 ` [PATCH v21 26/39] ASoC: qcom: qdsp6: Add support to track available USB PCM devices Wesley Cheng
2024-05-07 21:23   ` Pierre-Louis Bossart
2024-05-08 23:57     ` Wesley Cheng
2024-05-09 13:02       ` Pierre-Louis Bossart
2024-05-09 21:49         ` Wesley Cheng
2024-05-07 19:51 ` [PATCH v21 27/39] ASoC: Introduce SND kcontrols to select sound card and PCM device Wesley Cheng
2024-05-07 21:26   ` Pierre-Louis Bossart
2024-05-09  0:10     ` Wesley Cheng
2024-05-09 13:07       ` Pierre-Louis Bossart
2024-05-09 22:32         ` Wesley Cheng [this message]
2024-05-07 19:51 ` [PATCH v21 28/39] ASoC: qcom: qdsp6: Add SOC USB offload select get/put callbacks Wesley Cheng
2024-05-07 19:51 ` [PATCH v21 29/39] ASoC: Introduce SND kcontrols to track USB offloading state Wesley Cheng
2024-05-07 19:51 ` [PATCH v21 30/39] ASoC: qcom: qdsp6: Add PCM ops to track current state Wesley Cheng
2024-05-07 19:51 ` [PATCH v21 31/39] ASoC: usb: Create SOC USB SND jack kcontrol Wesley Cheng
2024-05-07 19:51 ` [PATCH v21 32/39] ASoC: qcom: qdsp6: Add headphone jack for offload connection status Wesley Cheng
2024-05-07 19:51 ` [PATCH v21 33/39] ASoC: usb: Fetch ASoC sound card information Wesley Cheng
2024-05-07 21:33   ` Pierre-Louis Bossart
2024-05-09  0:13     ` Wesley Cheng
2024-05-07 19:51 ` [PATCH v21 34/39] ALSA: usb-audio: Add USB offloading capable kcontrol Wesley Cheng
2024-05-07 21:37   ` Pierre-Louis Bossart
2024-05-08 19:41     ` Wesley Cheng
2024-05-09  0:42       ` Wesley Cheng
2024-05-09 13:11         ` Pierre-Louis Bossart
2024-05-09 22:05           ` Wesley Cheng
2024-05-07 19:51 ` [PATCH v21 35/39] ALSA: usb-audio: Allow for rediscovery of connected USB SND devices Wesley Cheng
2024-05-07 19:51 ` [PATCH v21 36/39] ALSA: usb-audio: qcom: Use card and PCM index from QMI request Wesley Cheng
2024-05-07 19:51 ` [PATCH v21 37/39] ASoC: usb: Rediscover USB SND devices on USB port add Wesley Cheng
2024-05-07 19:51 ` [PATCH v21 38/39] ASoC: qcom: Populate SoC components string Wesley Cheng
2024-05-07 21:40   ` Pierre-Louis Bossart
2024-05-08 20:06     ` Wesley Cheng
2024-05-09 13:17       ` Pierre-Louis Bossart
2024-05-09 22:09         ` Wesley Cheng
2024-05-07 19:51 ` [PATCH v21 39/39] ASoC: doc: Add documentation for SOC USB 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=e98f0e53-b6b7-5ad6-fe09-2f2487929f61@quicinc.com \
    --to=quic_wcheng@quicinc.com \
    --cc=Thinh.Nguyen@synopsys.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=andersson@kernel.org \
    --cc=bagasdotme@gmail.com \
    --cc=bgoswami@quicinc.com \
    --cc=broonie@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=corbet@lwn.net \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=konrad.dybcio@linaro.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-kernel@vger.kernel.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mathias.nyman@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).