Re: [PATCH v2 3/9] ASoC: audio-graph: Identify 'no_pcm' DAI links for DPCM

From: Sameer Pujar
Date: Tue Aug 18 2020 - 04:05:12 EST


Hi Kuninori,

On 8/18/2020 10:53 AM, Kuninori Morimoto wrote:
External email: Use caution opening links or attachments


Hi again

PCM devices are created for FE dai links with 'no-pcm' flag as '0'.
Such DAI links have CPU component which implement either pcm_construct()
or pcm_new() at component or dai level respectively. Based on this,
current patch exposes a helper function to identify such components
and populate 'no_pcm' flag for DPCM DAI link.

This helps to have BE<->BE component links where PCM devices need
not be created for CPU component involved in such links.

Signed-off-by: Sameer Pujar <spujar@xxxxxxxxxx>
---
(snip)
+static bool soc_component_is_pcm(struct snd_soc_dai_link_component *dlc)
+{
+ struct snd_soc_dai *dai = snd_soc_find_dai(dlc);
+
+ if (dai && (dai->component->driver->pcm_construct ||
+ dai->driver->pcm_new))
+ return true;
+
+ return false;
+}
This snd_soc_find_dai() will indicate WARNING
if .config has CONFIG_LOCKDEP for me.

Maybe implement it at soc-core.c with client_mutex lock
is needed.

Thank you for testing this. I will update this in next revision.


Thank you for your help !!

Best regards
---
Kuninori Morimoto