]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ASoC: fsl_asrc_m2m: Add option to start ASRC before DMA device for M2M
authorShengjiu Wang <shengjiu.wang@nxp.com>
Fri, 6 Feb 2026 01:48:03 +0000 (09:48 +0800)
committerMark Brown <broonie@kernel.org>
Fri, 6 Feb 2026 17:22:35 +0000 (17:22 +0000)
commit83447a38ba9abac52bc110566d3e117753899f69
tree2247d61f89fbd076bc22ade6ac20aa174a21641c
parent37bb773b4a5a5107b92beda3447a7c6c0cfc1237
ASoC: fsl_asrc_m2m: Add option to start ASRC before DMA device for M2M

There is a limitation on i.MX952 that dma request is not cleared at the
end of conversion with dma slave mode. Which causes sample is dropped
from the input fifo on the second time if dma is triggered before the
client device and EDMA may copy wrong data from output fifo as the output
fifo is not ready in the beginning.

The solution is to trigger asrc before dma on i.MX952, and add delay to
wait output data is generated then start the EDMA for output, otherwise
the m2m function has noise issues.

So add an option to start ASRC first for M2M before ASRC is enabled on
i.MX952.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20260206014805.3897764-3-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/fsl/fsl_asrc.c
sound/soc/fsl/fsl_asrc.h
sound/soc/fsl/fsl_asrc_common.h
sound/soc/fsl/fsl_asrc_m2m.c