]> 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>
Mon, 8 Sep 2025 17:48:48 +0000 (13:48 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 19 Sep 2025 14:29:55 +0000 (16:29 +0200)
commita52be849575e8b5859606547cb27f3ad33965587
tree46874f08d8098ae7ea6f6a3c2e4237e0354de3fa
parentfeda73ad44a5cc80f6bf796bb1099a3fe71576d4
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>
[ Changed NO_TIMESTAMP constant to literal 0 ]
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/soc/qcom/qdsp6/q6apm-dai.c