[PATCH v4 15/23] ASoC: soc-core: Identify 'no_pcm' DAI links for DPCM

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Thu Jul 2 10:50:50 CEST 2020


Hi Sameer

> > I wonder component->driver->non_legacy_dai_naming can't work for you ?
> 
> I see currently in simple-card driver that, BE<->BE link would be
> treated as CODEC<->CODEC link if 'non_legacy_dai_naming' flag is set
> at both ends of BE. Do we need to set this flag for all BE?
> However I am not sure how this will work out for a BE<->BE DPCM DAI
> link considering the fact that I want to use chain of components and I
> guess routing map would get complicated. Also going by the flag name
> it was not meant to differentiate between a FE and BE?

OK, non_legacy_dai_naming was just my quick idea.

Maybe your soc_component_is_pcm() idea can work,
but it seems a littl bit hackish for me.
So, can you please

1) Add soc_component_is_pcm() on simple-card, not soc-core ?
   Maybe we can move it to soc-core later,
   but want to keep it under simple-card, so far.

2) Use it with data->component_chaining, and some comment ?
   non component_chaining user doesn't get damage in worst case,
   and easy to understand.

	/*
	 * This is for BE<->BE connection.
	 * It needs to ...
	 * It is assumng ...
	 * Note is ...
	 */
	if (data->component_chaining &&
	    !soc_component_is_pcm(cpus))
		dai_link->no_pcm = 1;

3) maybe you can reuse snd_soc_find_dai() for soc_component_is_pcm() ?

	dai = snd_soc_find_dai(dlc);
	if (dai &&
	    (dai->pcm_new || dai->component->driver->pcm_construct))
		return xxx

Thank you for your help !!

Best regards
---
Kuninori Morimoto


More information about the Alsa-devel mailing list