]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
ASoC: q6apm-dai: schedule all available frames to avoid dsp under-runs
authorSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Fri, 14 Mar 2025 17:47:56 +0000 (17:47 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 2 May 2025 05:50:38 +0000 (07:50 +0200)
commit0addfbfd605bcd935f4c62bc3f446e258c01b839
tree15f8e0d0a6855e93157a07273fcf57959137394b
parent860c028415d9cf12eea877d820553a0e8caf0a1e
ASoC: q6apm-dai: schedule all available frames to avoid dsp under-runs

[ Upstream commit 3d4a4411aa8bbc3653ff22a1ff0432eb93d22ae0 ]

With the existing code, we are only setting up one period at a time, in a
ping-pong buffer style. This triggers lot of underruns in the dsp
leading to jitter noise during audio playback.

Fix this by scheduling all available periods, this will ensure that the dsp
has enough buffer feed and ultimatley fixing the underruns and audio
distortion.

Fixes: 9b4fe0f1cd79 ("ASoC: qdsp6: audioreach: add q6apm-dai support")
Cc: stable@vger.kernel.org
Reported-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Tested-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Tested-by: Johan Hovold <johan+linaro@kernel.org>
Link: https://patch.msgid.link/20250314174800.10142-2-srinivas.kandagatla@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/soc/qcom/qdsp6/q6apm-dai.c