[PATCH v2 7/8] ASoC: soc-pcm: Do Digital Mute for both CPU/Codec in same timing.
Kuninori Morimoto
kuninori.morimoto.gx at renesas.com
Thu Feb 27 02:55:09 CET 2020
From: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
Digital Mute for CPU is done at soc_pcm_close(), and
Digital Mute for Codec is done at soc_pcm_hw_free().
It is just confusable.
This patch do Digital Mute for both CPU/Codec in same timing.
Then, it cares DAI activity
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan at linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart at linux.intel.com>
---
v1 -> v2
- add Reviewed-by from Ranjani / Pierre-Louis
sound/soc/soc-pcm.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
index b83e13565e2a..ea900ab06d84 100644
--- a/sound/soc/soc-pcm.c
+++ b/sound/soc/soc-pcm.c
@@ -760,9 +760,6 @@ static int soc_pcm_close(struct snd_pcm_substream *substream)
snd_soc_runtime_deactivate(rtd, substream->stream);
- for_each_rtd_cpu_dai(rtd, i, cpu_dai)
- snd_soc_dai_digital_mute(cpu_dai, 1, substream->stream);
-
for_each_rtd_cpu_dai(rtd, i, cpu_dai)
snd_soc_dai_shutdown(cpu_dai, substream);
@@ -1229,6 +1226,11 @@ static int soc_pcm_hw_free(struct snd_pcm_substream *substream)
snd_soc_dai_digital_mute(codec_dai, 1,
substream->stream);
+ for_each_rtd_cpu_dai(rtd, i, cpu_dai)
+ if (cpu_dai->active)
+ snd_soc_dai_digital_mute(cpu_dai, 1,
+ substream->stream);
+
/* free any machine hw params */
soc_rtd_hw_free(rtd, substream);
--
2.17.1
More information about the Alsa-devel
mailing list