]> 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>
Sun, 20 Apr 2025 08:15:41 +0000 (10:15 +0200)
commitf5891f204d1381ba40cef9bf8f13f579e17250a2
treef2a6869e16e6e7268a886de6c7e0b575ed1040f8
parentd383051f8293f564a5f82052e25048c18aced33e
ASoC: q6apm-dai: schedule all available frames to avoid dsp under-runs

commit 3d4a4411aa8bbc3653ff22a1ff0432eb93d22ae0 upstream.

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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/soc/qcom/qdsp6/q6apm-dai.c