ASoC: qcom: q6asm: set runtime correctly for each stream

Both capture and playback can have different runtimes, so set them
accordingly.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Tested-by: Alexey Klimov <alexey.klimov@linaro.org> # RB5, RB3
Link: https://patch.msgid.link/20251023102444.88158-10-srinivas.kandagatla@oss.qualcomm.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Srinivas Kandagatla
2025-10-23 11:24:33 +01:00
committed by Mark Brown
parent 4443231544
commit f678ea19e8

View File

@@ -433,10 +433,13 @@ static int q6asm_dai_open(struct snd_soc_component *component,
runtime->private_data = prtd;
snd_soc_set_runtime_hwparams(substream, &q6asm_dai_hardware_playback);
runtime->dma_bytes = q6asm_dai_hardware_playback.buffer_bytes_max;
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
snd_soc_set_runtime_hwparams(substream, &q6asm_dai_hardware_playback);
runtime->dma_bytes = q6asm_dai_hardware_playback.buffer_bytes_max;
} else {
snd_soc_set_runtime_hwparams(substream, &q6asm_dai_hardware_capture);
runtime->dma_bytes = q6asm_dai_hardware_capture.buffer_bytes_max;
}
if (pdata->sid < 0)
prtd->phys = substream->dma_buffer.addr;