[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <875zb6z4fq.wl-kuninori.morimoto.gx@renesas.com>
Date: 02 Jul 2020 17:50:50 +0900
From: Kuninori Morimoto <kuninori.morimoto.gx@...esas.com>
To: Sameer Pujar <spujar@...dia.com>
Cc: <broonie@...nel.org>, <perex@...ex.cz>, <tiwai@...e.com>,
<robh+dt@...nel.org>, <lgirdwood@...il.com>,
<thierry.reding@...il.com>, <jonathanh@...dia.com>,
<digetx@...il.com>, <alsa-devel@...a-project.org>,
<linux-tegra@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<sharadg@...dia.com>, <mkumard@...dia.com>,
<viswanathl@...dia.com>, <rlokhande@...dia.com>,
<dramesh@...dia.com>, <atalambedu@...dia.com>,
<nwartikar@...dia.com>, <swarren@...dia.com>,
<nicoleotsuka@...il.com>
Subject: Re: [PATCH v4 15/23] ASoC: soc-core: Identify 'no_pcm' DAI links for DPCM
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
Powered by blists - more mailing lists