Hi Amadeusz > > static int soc_get_playback_capture(...) > > { > > ... > > (A) if (dai_link->dynamic || dai_link->no_pcm) { > > ... > > if (dai_link->dpcm_playback) { > > ... > > (B) for_each_rtd_cpu_dais(rtd, i, cpu_dai) { > > ... > > } > > ... > > } > > if (dai_link->dpcm_capture) { > > ... > > (B) for_each_rtd_cpu_dais(rtd, i, cpu_dai) { > > ... > > } > > } > > ... > > } > > } > > > > It checks CPU (B) when no_pcm (A) on original. > > But I think "no_pcm - CPU" is dummy DAI -> above check is no meaning. > > After the patch, it checks both CPU/Codec. (snip) > > I wonder is your Codec which is connected to no_pcm DAI valid ? > > I'm not sure what do you mean, if it is valid? It works fine before this > patch ;) Ah, sorry, let me explain detail. static int soc_get_playback_capture(...) { ... (A) if (dai_link->dynamic || dai_link->no_pcm) { int stream; if (dai_link->dpcm_playback) { stream = SNDRV_PCM_STREAM_PLAYBACK; (B) for_each_rtd_cpu_dais(rtd, i, cpu_dai) { (C) if (snd_soc_dai_stream_valid(cpu_dai, stream)) { has_playback = 1; break; } } ... } Before appling the patch, in DPCM case (A), it checks CPU valid only (B)/(C). In many case, DPCM is like this dynamic no_pcm [CPU/dummy-Codec] - [dummy-CPU/Codec] I noticed that before the patch, it checks dummy DAI only for no_pcm case. But after appling the patch, it will check both CPU and Codec valid (X)/(Y)/(Z). I think this was changed after patch. So, my question was what happen for snd_soc_dai_stream_valid() on your Codec. # I notcied that avs_create_dai_links() is not using dummy CPU on no_pcm case... static int soc_get_playback_capture(...) { ... (X) for_each_rtd_cpu_dais(rtd, i, cpu_dai) { (Y) codec_dai = asoc_rtd_to_codec(rtd, i); /* get paired codec */ (Z) if (snd_soc_dai_stream_valid(codec_dai, SNDRV_PCM_STREAM_PLAYBACK) && (Z) snd_soc_dai_stream_valid(cpu_dai, cpu_playback)) has_playback = 1; (Z) if (snd_soc_dai_stream_valid(codec_dai, SNDRV_PCM_STREAM_CAPTURE) && (Z) snd_soc_dai_stream_valid(cpu_dai, cpu_capture)) has_capture = 1; } ... } Thank you for your help !! Best regards --- Kuninori Morimoto