diff options
author | Mark Brown <broonie@kernel.org> | 2023-04-06 18:02:24 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2023-04-06 18:02:24 +0300 |
commit | 8a0cfac697777bda216d73a2b3b8fe02fcaa7e38 (patch) | |
tree | 5bbf8b11ba869c314d4cae6185dfc55e73d23180 /sound | |
parent | 63a511284c9ea72696a5dd0a2d2721bdef19f774 (diff) | |
parent | e2e530886359246ae782c779be248c59bc2ed111 (diff) | |
download | linux-8a0cfac697777bda216d73a2b3b8fe02fcaa7e38.tar.xz |
ASoC: qcom: fixes for Click/Pop Noise
Merge series from Srinivas Kandagatla <srinivas.kandagatla@linaro.org>:
Click/Pop Noise was a long pending issue with WSA Codecs which are prone
to accumlate DC when ports are active but without any data streams.
There are multiple places in the current setup, where this could happen
in both startup as well as shutdown path.
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/qcom/qdsp6/q6apm-lpass-dais.c | 3 | ||||
-rw-r--r-- | sound/soc/qcom/sdw.c | 7 |
2 files changed, 5 insertions, 5 deletions
diff --git a/sound/soc/qcom/qdsp6/q6apm-lpass-dais.c b/sound/soc/qcom/qdsp6/q6apm-lpass-dais.c index 23d23bc6fbaa..420e8aa11f42 100644 --- a/sound/soc/qcom/qdsp6/q6apm-lpass-dais.c +++ b/sound/soc/qcom/qdsp6/q6apm-lpass-dais.c @@ -130,6 +130,9 @@ static int q6apm_lpass_dai_prepare(struct snd_pcm_substream *substream, struct s if (dai_data->is_port_started[dai->id]) { q6apm_graph_stop(dai_data->graph[dai->id]); dai_data->is_port_started[dai->id] = false; + + if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) + q6apm_graph_close(dai_data->graph[dai->id]); } /** diff --git a/sound/soc/qcom/sdw.c b/sound/soc/qcom/sdw.c index 10249519a39e..1a41419c7eb8 100644 --- a/sound/soc/qcom/sdw.c +++ b/sound/soc/qcom/sdw.c @@ -32,11 +32,8 @@ int qcom_snd_sdw_prepare(struct snd_pcm_substream *substream, return 0; } - if (*stream_prepared) { - sdw_disable_stream(sruntime); - sdw_deprepare_stream(sruntime); - *stream_prepared = false; - } + if (*stream_prepared) + return 0; ret = sdw_prepare_stream(sruntime); if (ret) |