ASoC: qcom: sdw: do not restart soundwire ports for every prepare
authorSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Thu, 23 Mar 2023 16:44:01 +0000 (16:44 +0000)
committerMark Brown <broonie@kernel.org>
Thu, 6 Apr 2023 13:45:12 +0000 (14:45 +0100)
unpreparing/disabling and preparing/reenabling soundwire ports is not required
for every prepare call, this add lots of click and pop noise if we do this in
middle of playback or capture.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20230323164403.6654-3-srinivas.kandagatla@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/qcom/sdw.c

index 1024951..1a41419 100644 (file)
@@ -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)