Re: [PATCH v21 09/39] ASoC: qcom: qdsp6: Introduce USB AFE port to q6dsp

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





>> Wait, is this saying you will have exactly one PCM device/FE DAI
>> connected to the USB BE DAI exposed in patch 11?
>>
>>> +    SND_SOC_DAPM_MIXER("USB Mixer", SND_SOC_NOPM, 0, 0,
>>> +               usb_mixer_controls,
>>> +               ARRAY_SIZE(usb_mixer_controls)),
>>> +
>>
>> And then what is the role of the USB mixer if you only have one input?
>>
>> I must be missing something.
>>
> 
> Not sure if this is a QCOM specific implementation, but the way the DT
> is defined for the USB offload path is as follows:
> 
>     usb-dai-link {
>         link-name = "USB Playback";
> 
>         cpu {
>             sound-dai = <&q6afedai USB_RX>;
>         };
> 
>         codec {
>             sound-dai = <&usbdai USB_RX>;
>         };
> 
>         platform {
>             sound-dai = <&q6routing>;
>         };
>     };
> 
> Based on our DT parser helper API (qcom_snd_parse_of()) this isn't going
> to create a PCM device.  The PCM devices are created for nodes that
> don't have a codec and platform defined:
> 
>     mm1-dai-link {
>         link-name = "MultiMedia1";
>         cpu {
>             sound-dai = <&q6asmdai      MSM_FRONTEND_DAI_MULTIMEDIA1>;
>         };
>     };
> 
> The ASM path is the entity that defines the number of PCM devices that
> is created for the QC ASoC platform card, and is where the actual PCM
> data is sent over to the DSP.  So there could be several PCM devices
> that can use the USB BE DAI.

ok, but then how would this work with the ALSA controls reporting which
PCM device can be used? I didn't see a mechanism allowing for more than
one offloaded device, IIRC the control reported just ONE PCM device number.




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux