mbox series

[0/2] ASoC: soc-core: use snd_soc_dai_link_component for cpu

Message ID 87bm4hm30t.wl-kuninori.morimoto.gx@renesas.com (mailing list archive)
Headers show
Series ASoC: soc-core: use snd_soc_dai_link_component for cpu | expand

Message

Kuninori Morimoto Jan. 16, 2019, 8:26 a.m. UTC
Hi Mark

These add snd_soc_dai_link_component support for CPU.
I know multi-CPU support patch was posted to ML,
but I think it is not yet accepted (or rejected ?).

If these patches were accepted, we can finally switch to
modern style dai_link, and remove legacy style dai_link.

Kuninori Morimoto (2):
  ASoC: soc-core: add .num_platform for dai_link
  ASoC: soc-core: use snd_soc_dai_link_component for cpu

For switching to modern, I added "use modern style dai_link"
and "remove legacy style dai_link" patches as sample.
If these have no objection, I will post full patch to ML.

Kuninori Morimoto (3):
      ASoC: audio-graph/simple-card: use modern style dai_link for CPU
      ASoC: atmel: atmel-classd: use modern style dai_link
      ASoC: soc-core: remove regacy dai_link binding method

---
Kuninori Morimoto

Comments

Pierre-Louis Bossart Jan. 16, 2019, 3:08 p.m. UTC | #1
On 1/16/19 2:26 AM, Kuninori Morimoto wrote:
> Hi Mark
>
> These add snd_soc_dai_link_component support for CPU.
> I know multi-CPU support patch was posted to ML,
> but I think it is not yet accepted (or rejected ?).
If you are referring to the Intel patches, they were really too 
intrusive and complicated. Quite frankly I don't think anyone at Intel 
(me included) understands what is "legacy" and what is "modern", so 
adding multiple cpu support in there was really guesswork and 
copy/replace of the multi-codec parts, likely to break and impossible to 
test.
>
> If these patches were accepted, we can finally switch to
> modern style dai_link, and remove legacy style dai_link.

it might be a better idea to remove the legacy first so that we have a 
clean slate to add multiple CPUs?

If you have a blurb or description of the end-goal and what evolutions 
are required for dai links, it'd be really nice. Following incremental 
patches over multiple kernel versions isn't straightforward and the 
impacts of your changes isn't clear to me, e.g. I'd really like to know 
if the current way Intel uses dailinks needs to be changed or if we are 
good.

Thanks

-Pierre

>
> Kuninori Morimoto (2):
>    ASoC: soc-core: add .num_platform for dai_link
>    ASoC: soc-core: use snd_soc_dai_link_component for cpu
>
> For switching to modern, I added "use modern style dai_link"
> and "remove legacy style dai_link" patches as sample.
> If these have no objection, I will post full patch to ML.
>
> Kuninori Morimoto (3):
>        ASoC: audio-graph/simple-card: use modern style dai_link for CPU
>        ASoC: atmel: atmel-classd: use modern style dai_link
>        ASoC: soc-core: remove regacy dai_link binding method
>
> ---
> Kuninori Morimoto
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
Kuninori Morimoto Jan. 17, 2019, 1:14 a.m. UTC | #2
Hi Pierre

Thank you for your feedback

> > These add snd_soc_dai_link_component support for CPU.
> > I know multi-CPU support patch was posted to ML,
> > but I think it is not yet accepted (or rejected ?).
> If you are referring to the Intel patches, they were really too
> intrusive and complicated. Quite frankly I don't think anyone at Intel
> (me included) understands what is "legacy" and what is "modern", so
> adding multiple cpu support in there was really guesswork and
> copy/replace of the multi-codec parts, likely to break and impossible
> to test.

Sorry, what does your "Intel patches" means ?
Do you mean like this ?

	Subject: [alsa-devel] [PATCH v6 0/3] ASoC: Add Multi CPU DAI support
	Date: Wed, 20 Jun 2018 16:24:14 +0530

If so, actually I'm very waiting this patch series.
But, it seems nothing happen on ALSA ML after that.
So, I thought it was rejected or something happen.
I think my patch and above are basically using same idea for dai_link,
I think there is no conflict around dai_link.
If above patch series was delayed or temporary aborted,
and will be restart/retry multi CPU support someday,
then, it can based on it, I thought.
If Intel still have plan about it, I'm very happy to wait.

> If you have a blurb or description of the end-goal and what evolutions
> are required for dai links, it'd be really nice. Following incremental
> patches over multiple kernel versions isn't straightforward and the
> impacts of your changes isn't clear to me, e.g. I'd really like to
> know if the current way Intel uses dailinks needs to be changed or if
> we are good.


Best regards
---
Kuninori Morimoto
Mark Brown Jan. 17, 2019, 12:48 p.m. UTC | #3
On Thu, Jan 17, 2019 at 10:14:39AM +0900, Kuninori Morimoto wrote:

> 	Subject: [alsa-devel] [PATCH v6 0/3] ASoC: Add Multi CPU DAI support
> 	Date: Wed, 20 Jun 2018 16:24:14 +0530

> If so, actually I'm very waiting this patch series.
> But, it seems nothing happen on ALSA ML after that.
> So, I thought it was rejected or something happen.

It's definitely not rejected, it's just huge and goes right across the
core so it's extremely difficult to do a review of.
Kuninori Morimoto Jan. 18, 2019, 1:14 a.m. UTC | #4
Hi Mark

> > 	Subject: [alsa-devel] [PATCH v6 0/3] ASoC: Add Multi CPU DAI support
> > 	Date: Wed, 20 Jun 2018 16:24:14 +0530
> 
> > If so, actually I'm very waiting this patch series.
> > But, it seems nothing happen on ALSA ML after that.
> > So, I thought it was rejected or something happen.
> 
> It's definitely not rejected, it's just huge and goes right across the
> core so it's extremely difficult to do a review of.

OK, it is "on going" patch-set.
I'm happy to know about it, thank you.
Then, my posted patch is not good, please drop.
But I think "platform" side patch can still survive.
I will re-post it.

Best regards
---
Kuninori Morimoto
Pierre-Louis Bossart Jan. 18, 2019, 6:23 a.m. UTC | #5
On 1/17/19 6:48 AM, Mark Brown wrote:
> On Thu, Jan 17, 2019 at 10:14:39AM +0900, Kuninori Morimoto wrote:
> 
>> 	Subject: [alsa-devel] [PATCH v6 0/3] ASoC: Add Multi CPU DAI support
>> 	Date: Wed, 20 Jun 2018 16:24:14 +0530
> 
>> If so, actually I'm very waiting this patch series.
>> But, it seems nothing happen on ALSA ML after that.
>> So, I thought it was rejected or something happen.
> 
> It's definitely not rejected, it's just huge and goes right across the
> core so it's extremely difficult to do a review of.

It's a fair assumption that the multi-cpu stuff will only be needed for 
modern platforms and most likely for SoundWire support where we can have 
independent but synchronized links. Between my extended break and the 
SOF work I haven't had time to look into this so far, but it's on my 
radar now.
What I don't quite get is that what is needed to get the "modern" 
representation supported for CPU dais as well? There is currently a 
wrapper for the codec_dais, couldn't we do the same for the cpu_dais and 
remove it when all drivers have moved?
My point is that if internally only the modern representation is used 
then the extensions to multi-cpus will be easier.
What am I missing?
Kuninori Morimoto Jan. 18, 2019, 8:09 a.m. UTC | #6
Hi Pierre-Louis

> What I don't quite get is that what is needed to get the "modern"
> representation supported for CPU dais as well? There is currently a
> wrapper for the codec_dais, couldn't we do the same for the cpu_dais
> and remove it when all drivers have moved?

Sorry 50% English issue, but does this "wrapper for the codec_dais" means
we are converting single codec to muliti codec style via snd_soc_init_multicodec() ?
If so, yes, we can have same logic for CPU.

> My point is that if internally only the modern representation is used
> then the extensions to multi-cpus will be easier.

Yeah agree.
How to do it seems need some agreement, I think...

Best regards
---
Kuninori Morimoto
Pierre-Louis Bossart Jan. 18, 2019, 2:34 p.m. UTC | #7
>> What I don't quite get is that what is needed to get the "modern"
>> representation supported for CPU dais as well? There is currently a
>> wrapper for the codec_dais, couldn't we do the same for the cpu_dais
>> and remove it when all drivers have moved?
> Sorry 50% English issue, but does this "wrapper for the codec_dais" means
> we are converting single codec to muliti codec style via snd_soc_init_multicodec() ?
> If so, yes, we can have same logic for CPU.
Yes exactly what I meant indeed.
>
>> My point is that if internally only the modern representation is used
>> then the extensions to multi-cpus will be easier.
> Yeah agree.
> How to do it seems need some agreement, I think...
Thank you for the clarification. I started working on updating all the 
Intel stuff to the modern representation, will look at cpu next.
Kuninori Morimoto Jan. 20, 2019, 11:59 p.m. UTC | #8
Hi Pierre-Louis

> >> My point is that if internally only the modern representation is used
> >> then the extensions to multi-cpus will be easier.
> > Yeah agree.
> > How to do it seems need some agreement, I think...
> Thank you for the clarification. I started working on updating all the
> Intel stuff to the modern representation, will look at cpu next.

Thanks. Nice to know.
If CPU supports modern representation, then, all driver can switch
to modern for CPU/Codec/Platform, and we can remove legacy code from ALSA SoC.

Best regards
---
Kuninori Morimoto