[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4a255518-6fbb-122a-ba97-1e995785c35f@quicinc.com>
Date: Mon, 30 Jan 2023 14:59:38 -0800
From: Wesley Cheng <quic_wcheng@...cinc.com>
To: Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>,
<srinivas.kandagatla@...aro.org>, <mathias.nyman@...el.com>,
<perex@...ex.cz>, <lgirdwood@...il.com>, <andersson@...nel.org>,
<krzysztof.kozlowski+dt@...aro.org>, <gregkh@...uxfoundation.org>,
<Thinh.Nguyen@...opsys.com>, <broonie@...nel.org>,
<bgoswami@...cinc.com>, <tiwai@...e.com>, <robh+dt@...nel.org>,
<agross@...nel.org>
CC: <devicetree@...r.kernel.org>, <alsa-devel@...a-project.org>,
<linux-arm-msm@...r.kernel.org>, <linux-usb@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <quic_jackp@...cinc.com>,
<quic_plai@...cinc.com>
Subject: Re: [RFC PATCH v2 11/22] ASoC: qcom: Add USB backend ASoC driver for
Q6
Hi Pierre,
On 1/26/2023 7:44 AM, Pierre-Louis Bossart wrote:
>
>
> On 1/25/23 21:14, Wesley Cheng wrote:
>> Create a USB BE component that will register a new USB port to the ASoC USB
>> framework. This will handle determination on if the requested audio
>> profile is supported by the USB device currently selected.
>
> Can you clarify how? because ...
>
>
>> +static struct snd_soc_dai_driver q6usb_be_dais[] = {
>> + {
>> + .playback = {
>> + .stream_name = "USB BE RX",
>> + .rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_11025 |
>> + SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_22050 |
>> + SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 |
>> + SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_96000 |
>> + SNDRV_PCM_RATE_192000,
>> + .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S16_BE |
>> + SNDRV_PCM_FMTBIT_U16_LE | SNDRV_PCM_FMTBIT_U16_BE |
>> + SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S24_BE |
>> + SNDRV_PCM_FMTBIT_U24_LE | SNDRV_PCM_FMTBIT_U24_BE,
>> + .channels_min = 1,
>> + .channels_max = 2,
>> + .rate_max = 192000,
>> + .rate_min = 8000,
>> + },
>> + .id = USB_RX,
>> + .name = "USB_RX_BE",
>> + .ops = &q6usb_ops,
>> + },
>> +};
>
> ... here I see a single DAI, so presumably ONE endpoint can be supported?
>
One USB audio device can be supported.
one AFE port = one USB audio device
> I didn't see in the rest of the code how a card with multiple endpoint
> would be rejected, nor how the capabilities are checked?
>
Need to take a look at this query a bit more. Let me try to pass in a
format that can't be supported by the audio DSP, and see if the formats
specified in this structure will not allow userspace to start the session.
When you say a "card with multiple endpoints" are you referring to a USB
device that exposes multiple data (ISOC let's say) eps for its data
interface? I haven't run into a device like that.
Thanks
Wesley Cheng
Powered by blists - more mailing lists