[alsa-devel] About ALSA SoC cpu/codec asymmetry

Lars-Peter Clausen lars at metafoo.de
Mon Mar 10 08:14:22 CET 2014


On 03/10/2014 08:03 AM, Kuninori Morimoto wrote:
>
> Hi Lars
>
>> There is already a cpu_name field for the DAI link struct and it is ignored
>> when it is NULL. See
>> http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/sound/soc/soc-core.c#n870
>
> indeed
> Thanks
>
>> I have a patch that makes using cpu_name mandatory for new component
>> drivers. And then we can slowly start to convert old platforms.
>
> Nice !
>
> Basically, my worry is cpu/codec "asymmetry" data structure.
> (Maybe it came from "historical" reason?)

Yep.

>
> I would like to have new "struct snd_soc_cpu" and "snd_soc_register_cpu()"
> instead of current "component" if possible.
> It is understandable.

The patchset I'm working goes the other direction. The idea is to eventually 
remove snd_soc_codec and only have snd_soc_component. With modern SoCs the 
CPU side isn't just a dumb DAI anymore, but you often have signal routing 
and mixing capabilities, sample rate converters, sometimes even a full DSP. 
And then there are also those SoCs which have a DAC and/or ADC directly 
built-in. This makes them complexity wise similar to the CODEC side and 
having things like DAPM and our set of standard predefined kcontrols makes 
it easier to manage them.

- Lars



More information about the Alsa-devel mailing list