Skip to content

Commit 3107019

Browse files
Srinivas-Kandagatlabroonie
authored andcommitted
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>
1 parent 0badb54 commit 3107019

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)