Skip to content

Commit 7a118b6

Browse files
committed
ASoC: qdsp6: q6apm-dai: set 10 ms period and buffer alignment.
JIRA: https://issues.redhat.com/browse/RHEL-80657 commit 3107019 Author: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Date: Fri Mar 14 17:47:59 2025 +0000 ASoC: qdsp6: q6apm-dai: set 10 ms period and buffer alignment. DSP expects the periods to be aligned to fragment sizes, currently setting up to hw constriants on periods bytes is not going to work correctly as we can endup with periods sizes aligned to 32 bytes however not aligned to fragment size. Update the constriants to use fragment size, and also set at step of 10ms for period size to accommodate DSP requirements of 10ms latency. Fixes: 9b4fe0f ("ASoC: qdsp6: audioreach: add q6apm-dai support") Cc: stable@vger.kernel.org Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Tested-by: Johan Hovold <johan+linaro@kernel.org> Link: https://patch.msgid.link/20250314174800.10142-5-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
1 parent 7f0a271 commit 7a118b6

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

sound/soc/qcom/qdsp6/q6apm-dai.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -394,13 +394,14 @@ static int q6apm_dai_open(struct snd_soc_component *component,
394394
}
395395
}
396396

397-
ret = snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_BYTES, 32);
397+
/* setup 10ms latency to accommodate DSP restrictions */
398+
ret = snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_SIZE, 480);
398399
if (ret < 0) {
399400
dev_err(dev, "constraint for period bytes step ret = %d\n", ret);
400401
goto err;
401402
}
402403

403-
ret = snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_BUFFER_BYTES, 32);
404+
ret = snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_BUFFER_SIZE, 480);
404405
if (ret < 0) {
405406
dev_err(dev, "constraint for buffer bytes step ret = %d\n", ret);
406407
goto err;

0 commit comments

Comments
 (0)