summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Chieh Chuang <kaichieh.chuang@mediatek.com>2018-05-28 05:18:19 +0300
committerMark Brown <broonie@kernel.org>2018-05-29 16:56:38 +0300
commit99bcedbdebc57fe5d02fb470b7265f2208c2cf96 (patch)
tree258e0b2a185b56b470fee39e01b421d813beb180
parent9c0ac70ad24d76b873c1551e27790c7f6a815d5c (diff)
downloadlinux-99bcedbdebc57fe5d02fb470b7265f2208c2cf96.tar.xz
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: KaiChieh Chuang <kaichieh.chuang@mediatek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/soc/soc-pcm.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
index 2d846b3dd70c..0e2b2c6c60bd 100644
--- a/sound/soc/soc-pcm.c
+++ b/sound/soc/soc-pcm.c
@@ -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. */
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)
return err;
}
for (i = 0; i < rtd->num_codecs; i++) {
if (rtd->codec_dais[i]->active) {
- err = soc_pcm_apply_symmetry(be_substream,
+ err = soc_pcm_apply_symmetry(fe_substream,
rtd->codec_dais[i]);
if (err < 0)
return err;