Commit 99bcedbd authored by Kai Chieh Chuang's avatar Kai Chieh Chuang Committed by Mark Brown

ASoC: dpcm: symmetry constraint on FE substream

We should set BE symmetric constraint on FE substream.

in case one BE is used by two FE1/FE2,
the first BE runtime will use FE1's substream->runtime.
hence the FE1's will be constrained by BE symmetry property.

Though, second FE2 call dpcm_apply_symmetry,
the be_substream->runtime == FE1's substream->runtime.
The FE2's substream->runtime will not be constrained
by BE's symmetry property.
Signed-off-by: default avatarKaiChieh Chuang <kaichieh.chuang@mediatek.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 9c0ac70a
...@@ -1779,14 +1779,15 @@ static int dpcm_apply_symmetry(struct snd_pcm_substream *fe_substream, ...@@ -1779,14 +1779,15 @@ static int dpcm_apply_symmetry(struct snd_pcm_substream *fe_substream,
/* Symmetry only applies if we've got an active stream. */ /* Symmetry only applies if we've got an active stream. */
if (rtd->cpu_dai->active) { if (rtd->cpu_dai->active) {
err = soc_pcm_apply_symmetry(be_substream, rtd->cpu_dai); err = soc_pcm_apply_symmetry(fe_substream,
rtd->cpu_dai);
if (err < 0) if (err < 0)
return err; return err;
} }
for (i = 0; i < rtd->num_codecs; i++) { for (i = 0; i < rtd->num_codecs; i++) {
if (rtd->codec_dais[i]->active) { if (rtd->codec_dais[i]->active) {
err = soc_pcm_apply_symmetry(be_substream, err = soc_pcm_apply_symmetry(fe_substream,
rtd->codec_dais[i]); rtd->codec_dais[i]);
if (err < 0) if (err < 0)
return err; return err;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment