All of lore.kernel.org
 help / color / mirror / Atom feed
* About ALSA SoC cpu/codec asymmetry
@ 2014-03-10  2:10 Kuninori Morimoto
  2014-03-10  6:42 ` Lars-Peter Clausen
  0 siblings, 1 reply; 6+ messages in thread
From: Kuninori Morimoto @ 2014-03-10  2:10 UTC (permalink / raw)
  To: Mark Brown, Stephen Warren, Lars-Peter Clausen
  Cc: Linux-ALSA, Simon, Liam Girdwood, Kuninori Morimoto,
	Kuninori Morimoto


Hi Mark, Stephen, Lars

Now, ALSA SoC is using "component" style, and its image is like this.

ALSA SoC
 - platform
 - component (as CPU)
 - codec
    - component

It is still not symmetry, and confusable.
I guess this is understandable.

ALSA SoC
 - platform
 - cpu
    - component
 - codec
    - component

If we add "cpu", it needs "cpu name", same as current "codec name"
on soc_bind_dai_link().
I guess it can keep compatible if it allows "NULL" name on "cpu name" at this point.
(but print warning ?)

What do you think ?


Best regards
---
Kuninori Morimoto

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: About ALSA SoC cpu/codec asymmetry
  2014-03-10  2:10 About ALSA SoC cpu/codec asymmetry Kuninori Morimoto
@ 2014-03-10  6:42 ` Lars-Peter Clausen
  2014-03-10  7:03   ` Kuninori Morimoto
  0 siblings, 1 reply; 6+ messages in thread
From: Lars-Peter Clausen @ 2014-03-10  6:42 UTC (permalink / raw)
  To: Kuninori Morimoto
  Cc: Linux-ALSA, Kuninori Morimoto, Stephen Warren, Mark Brown,
	Liam Girdwood, Simon

On 03/10/2014 03:10 AM, Kuninori Morimoto wrote:
>
> Hi Mark, Stephen, Lars
>
> Now, ALSA SoC is using "component" style, and its image is like this.
>
> ALSA SoC
>   - platform
>   - component (as CPU)
>   - codec
>      - component
>
> It is still not symmetry, and confusable.
> I guess this is understandable.
>
> ALSA SoC
>   - platform
>   - cpu
>      - component
>   - codec
>      - component
>
> If we add "cpu", it needs "cpu name", same as current "codec name"
> on soc_bind_dai_link().
> I guess it can keep compatible if it allows "NULL" name on "cpu name" at this point.
> (but print warning ?)

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

I have a patch that makes using cpu_name mandatory for new component 
drivers. And then we can slowly start to convert old platforms.

- Lars

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: About ALSA SoC cpu/codec asymmetry
  2014-03-10  6:42 ` Lars-Peter Clausen
@ 2014-03-10  7:03   ` Kuninori Morimoto
  2014-03-10  7:14     ` Lars-Peter Clausen
  0 siblings, 1 reply; 6+ messages in thread
From: Kuninori Morimoto @ 2014-03-10  7:03 UTC (permalink / raw)
  To: Lars-Peter Clausen
  Cc: Linux-ALSA, Kuninori Morimoto, Stephen Warren, Mark Brown,
	Liam Girdwood, Simon


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.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: About ALSA SoC cpu/codec asymmetry
  2014-03-10  7:03   ` Kuninori Morimoto
@ 2014-03-10  7:14     ` Lars-Peter Clausen
  2014-03-10  7:20       ` Kuninori Morimoto
  0 siblings, 1 reply; 6+ messages in thread
From: Lars-Peter Clausen @ 2014-03-10  7:14 UTC (permalink / raw)
  To: Kuninori Morimoto
  Cc: Linux-ALSA, Kuninori Morimoto, Stephen Warren, Mark Brown,
	Liam Girdwood, Simon

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: About ALSA SoC cpu/codec asymmetry
  2014-03-10  7:14     ` Lars-Peter Clausen
@ 2014-03-10  7:20       ` Kuninori Morimoto
  2014-03-10  7:56         ` Lars-Peter Clausen
  0 siblings, 1 reply; 6+ messages in thread
From: Kuninori Morimoto @ 2014-03-10  7:20 UTC (permalink / raw)
  To: Lars-Peter Clausen
  Cc: Linux-ALSA, Kuninori Morimoto, Stephen Warren, Mark Brown,
	Liam Girdwood, Simon


Hi Lars

> > 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.

Ahh, very nice !
I can 100% agree to your idea :)
Sorry for my noise, I didn't know your (or ALSA SoC ?) plan

Please let me know if you need my help (maybe some test ?)

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: About ALSA SoC cpu/codec asymmetry
  2014-03-10  7:20       ` Kuninori Morimoto
@ 2014-03-10  7:56         ` Lars-Peter Clausen
  0 siblings, 0 replies; 6+ messages in thread
From: Lars-Peter Clausen @ 2014-03-10  7:56 UTC (permalink / raw)
  To: Kuninori Morimoto
  Cc: Linux-ALSA, Kuninori Morimoto, Stephen Warren, Mark Brown,
	Liam Girdwood, Simon

On 03/10/2014 08:20 AM, Kuninori Morimoto wrote:
>
> Hi Lars
>
>>> 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.
>
> Ahh, very nice !
> I can 100% agree to your idea :)
> Sorry for my noise, I didn't know your (or ALSA SoC ?) plan
>
> Please let me know if you need my help (maybe some test ?)
>

Sure, I'll keep you on Cc for the patches.

- Lars

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-03-10  7:55 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-10  2:10 About ALSA SoC cpu/codec asymmetry Kuninori Morimoto
2014-03-10  6:42 ` Lars-Peter Clausen
2014-03-10  7:03   ` Kuninori Morimoto
2014-03-10  7:14     ` Lars-Peter Clausen
2014-03-10  7:20       ` Kuninori Morimoto
2014-03-10  7:56         ` Lars-Peter Clausen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.