ASoC: simple-card-utils.c: care Codec2Codec vs DPCM:BE
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Fri, 1 Jul 2022 05:18:51 +0000 (05:18 +0000)
committerMark Brown <broonie@kernel.org>
Fri, 8 Jul 2022 10:51:46 +0000 (11:51 +0100)
Current asoc_simple_init_for_codec2codec() adds default Codec2Codec
settings if rtd was Codec only.
But DPCM:BE also judged as Codec only, because dummy-DAI doesn't have
"endianness" (which is key parameter to judge as Codec).

This patch ignores setup Codec2Codec settings if it was DPCM:BE case.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87a69ts950.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/generic/simple-card-utils.c

index b8a3da6..4a29e31 100644 (file)
@@ -531,6 +531,10 @@ static int asoc_simple_init_for_codec2codec(struct snd_soc_pcm_runtime *rtd,
        if (dai_link->params)
                return 0;
 
+       /* Do nothing if it was DPCM :: BE */
+       if (dai_link->no_pcm)
+               return 0;
+
        /* Only Codecs */
        for_each_rtd_components(rtd, i, component) {
                if (!asoc_simple_component_is_codec(component))