[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?)


> 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