From: Takashi Iwai <tiwai@suse.de>
To: Wesley Cheng <quic_wcheng@quicinc.com>
Cc: <srinivas.kandagatla@linaro.org>, <mathias.nyman@intel.com>,
<perex@perex.cz>, <conor+dt@kernel.org>, <corbet@lwn.net>,
<lgirdwood@gmail.com>, <andersson@kernel.org>,
<krzysztof.kozlowski+dt@linaro.org>, <gregkh@linuxfoundation.org>,
<Thinh.Nguyen@synopsys.com>, <broonie@kernel.org>,
<bgoswami@quicinc.com>, <tiwai@suse.com>, <robh+dt@kernel.org>,
<konrad.dybcio@linaro.org>, <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 v15 41/50] ASoC: Add SND kcontrol for fetching USB offload status
Date: Tue, 13 Feb 2024 13:10:24 +0100 [thread overview]
Message-ID: <87plx0y37z.wl-tiwai@suse.de> (raw)
In-Reply-To: <20240213005422.3121-42-quic_wcheng@quicinc.com>
On Tue, 13 Feb 2024 01:54:13 +0100,
Wesley Cheng wrote:
>
> Add a kcontrol to the platform sound card to fetch the current offload
> status. This can allow for userspace to ensure/check which USB SND
> resources are actually busy versus having to attempt opening the USB SND
> devices, which will result in an error if offloading is active.
>
> An example of fetching the USB offloading status would look like:
> tinymix -D 0 get 'USB Offload Playback Route Status'
> -1, -1 (range -1->32) --> [Offload is idle]
>
> tinymix -D 0 get 'USB Offload Playback Route Status'
> 1, 0 (range -1->32) --> [Offload active on card#1 pcm#0]
Ah, I didn't notice until now that the second value is the PCM index.
> +static int snd_soc_usb_offload_status_info(struct snd_kcontrol *kcontrol,
> + struct snd_ctl_elem_info *uinfo)
> +{
> + struct snd_soc_component *component = snd_kcontrol_chip(kcontrol);
> + struct snd_soc_usb *ctx = snd_soc_find_usb_ctx(component->dev->of_node);
> +
> + uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER;
> + uinfo->count = 2*ctx->num_supported_streams;
> + uinfo->value.integer.min = -1;
> + uinfo->value.integer.max = SNDRV_CARDS;
Then it's bogus to set SNDRV_CARDS as max. The PCM index number is
independent from the card number. In theory, it can be even more than
the card max (very unlikely, though).
Wouldn't it be more intuitive to provide two different controls, one
for card number and one for PCM index number?
thanks,
Takashi
next prev parent reply other threads:[~2024-02-13 12:10 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-13 0:53 [PATCH v15 00/50] Introduce QC USB SND audio offloading support Wesley Cheng
2024-02-13 0:53 ` [PATCH v15 01/50] xhci: Add interrupt pending autoclear flag to each interrupter Wesley Cheng
2024-02-13 0:53 ` [PATCH v15 02/50] xhci: Add helper to set an interrupters interrupt moderation interval Wesley Cheng
2024-02-13 0:53 ` [PATCH v15 03/50] xhci: make isoc_bei_interval variable interrupter specific Wesley Cheng
2024-02-13 0:53 ` [PATCH v15 04/50] xhci: remove unnecessary event_ring_deq parameter from xhci_handle_event() Wesley Cheng
2024-02-13 0:53 ` [PATCH v15 05/50] xhci: update event ring dequeue pointer position to controller correctly Wesley Cheng
2024-02-13 0:53 ` [PATCH v15 06/50] xhci: move event processing for one interrupter to a separate function Wesley Cheng
2024-02-13 0:53 ` [PATCH v15 07/50] xhci: add helper that checks for unhandled events on a event ring Wesley Cheng
2024-02-13 0:53 ` [PATCH v15 08/50] xhci: Don't check if the event ring is valid before every event TRB Wesley Cheng
2024-02-13 0:53 ` [PATCH v15 09/50] xhci: Decouple handling an event from checking for unhandled events Wesley Cheng
2024-02-13 0:53 ` [PATCH v15 10/50] xhci: add helper to stop endpoint and wait for completion Wesley Cheng
2024-02-13 0:53 ` [PATCH v15 11/50] usb: host: xhci: Export enable and disable interrupter APIs Wesley Cheng
2024-02-13 0:53 ` [PATCH v15 12/50] usb: host: xhci: Repurpose event handler for skipping interrupter events Wesley Cheng
2024-02-13 0:53 ` [PATCH v15 13/50] xhci: export XHCI IMOD setting helper for interrupters Wesley Cheng
2024-02-13 0:53 ` [PATCH v15 14/50] xhci: sideband: add initial api to register a sideband entity Wesley Cheng
2024-02-13 0:53 ` [PATCH v15 15/50] usb: host: xhci-sideband: Expose a sideband interrupter enable API Wesley Cheng
2024-02-13 0:53 ` [PATCH v15 16/50] usb: host: xhci-mem: Cleanup pending secondary event ring events Wesley Cheng
2024-02-13 0:53 ` [PATCH v15 17/50] usb: host: xhci-mem: Allow for interrupter clients to choose specific index Wesley Cheng
2024-02-13 0:53 ` [PATCH v15 18/50] ASoC: Add SOC USB APIs for adding an USB backend Wesley Cheng
2024-02-13 10:48 ` Takashi Iwai
2024-02-14 23:04 ` Wesley Cheng
2024-02-13 0:53 ` [PATCH v15 19/50] ASoC: dt-bindings: qcom,q6dsp-lpass-ports: Add USB_RX port Wesley Cheng
2024-02-13 0:53 ` [PATCH v15 20/50] ASoC: qcom: qdsp6: Introduce USB AFE port to q6dsp Wesley Cheng
2024-02-13 0:53 ` [PATCH v15 21/50] ASoC: qdsp6: q6afe: Increase APR timeout Wesley Cheng
2024-02-13 0:53 ` [PATCH v15 22/50] ASoC: qcom: qdsp6: Add USB backend ASoC driver for Q6 Wesley Cheng
2024-02-13 0:53 ` [PATCH v15 23/50] ALSA: usb-audio: Introduce USB SND platform op callbacks Wesley Cheng
2024-02-13 0:53 ` [PATCH v15 24/50] ALSA: usb-audio: Export USB SND APIs for modules Wesley Cheng
2024-02-13 0:53 ` [PATCH v15 25/50] ALSA: usb-audio: Save UAC sample size information Wesley Cheng
2024-02-13 0:53 ` [PATCH v15 26/50] usb: dwc3: Specify maximum number of XHCI interrupters Wesley Cheng
2024-02-13 0:53 ` [PATCH v15 27/50] usb: host: xhci-plat: Set XHCI max interrupters if property is present Wesley Cheng
2024-02-13 0:54 ` [PATCH v15 28/50] ALSA: usb-audio: qcom: Add USB QMI definitions Wesley Cheng
2024-02-13 0:54 ` [PATCH v15 29/50] ALSA: usb-audio: qcom: Introduce QC USB SND offloading support Wesley Cheng
2024-02-13 10:59 ` Takashi Iwai
2024-02-13 22:48 ` Wesley Cheng
2024-02-13 0:54 ` [PATCH v15 30/50] ALSA: usb-audio: Check for support for requested audio format Wesley Cheng
2024-02-13 0:54 ` [PATCH v15 31/50] ASoC: usb: Add PCM format check API for USB backend Wesley Cheng
2024-02-13 0:54 ` [PATCH v15 32/50] ASoC: qcom: qdsp6: Ensure PCM format is supported by USB audio device Wesley Cheng
2024-02-13 0:54 ` [PATCH v15 33/50] ALSA: usb-audio: Prevent starting of audio stream if in use Wesley Cheng
2024-02-13 0:54 ` [PATCH v15 34/50] ALSA: usb-audio: Do not allow USB offload path if PCM device is " Wesley Cheng
2024-02-13 0:54 ` [PATCH v15 35/50] ASoC: dt-bindings: Add Q6USB backend Wesley Cheng
2024-02-13 0:54 ` [PATCH v15 36/50] ASoC: dt-bindings: Update example for enabling USB offload on SM8250 Wesley Cheng
2024-02-13 0:54 ` [PATCH v15 37/50] ALSA: usb-audio: qcom: Populate PCM and USB chip information Wesley Cheng
2024-02-13 0:54 ` [PATCH v15 38/50] ASoC: qcom: qdsp6: Add support to track available USB PCM devices Wesley Cheng
2024-02-13 0:54 ` [PATCH v15 39/50] ASoC: Introduce SND kcontrols to select sound card and PCM device Wesley Cheng
2024-02-13 10:54 ` Takashi Iwai
2024-02-14 22:57 ` Wesley Cheng
2024-02-13 0:54 ` [PATCH v15 40/50] ASoC: qcom: qdsp6: Add SOC USB offload select get/put callbacks Wesley Cheng
2024-02-13 0:54 ` [PATCH v15 41/50] ASoC: Add SND kcontrol for fetching USB offload status Wesley Cheng
2024-02-13 12:10 ` Takashi Iwai [this message]
2024-02-13 22:58 ` Wesley Cheng
2024-02-13 0:54 ` [PATCH v15 42/50] ASoC: qcom: qdsp6: Add PCM ops to track current state Wesley Cheng
2024-02-13 0:54 ` [PATCH v15 43/50] ASoC: usb: Create SOC USB SND jack kcontrol Wesley Cheng
2024-02-13 0:54 ` [PATCH v15 44/50] ASoC: qcom: qdsp6: Add headphone jack for offload connection status Wesley Cheng
2024-02-13 0:54 ` [PATCH v15 45/50] ASoC: usb: Fetch ASoC sound card information Wesley Cheng
2024-02-13 0:54 ` [PATCH v15 46/50] ALSA: usb-audio: Add USB offloading capable kcontrol Wesley Cheng
2024-02-13 12:18 ` Takashi Iwai
2024-02-14 23:02 ` Wesley Cheng
2024-02-13 0:54 ` [PATCH v15 47/50] ALSA: usb-audio: qcom: Use card and PCM index from QMI request Wesley Cheng
2024-02-13 0:54 ` [PATCH v15 48/50] ASoC: usb: Rediscover USB SND devices on USB port add Wesley Cheng
2024-02-13 0:54 ` [PATCH v15 49/50] ASoC: qcom: Populate SoC components string Wesley Cheng
2024-02-13 0:54 ` [PATCH v15 50/50] 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=87plx0y37z.wl-tiwai@suse.de \
--to=tiwai@suse.de \
--cc=Thinh.Nguyen@synopsys.com \
--cc=alsa-devel@alsa-project.org \
--cc=andersson@kernel.org \
--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=krzysztof.kozlowski+dt@linaro.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=quic_wcheng@quicinc.com \
--cc=robh+dt@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 NNTP newsgroup(s).