On Fri, Oct 28, 2022 at 4:28 PM Chancel Liu chancel.liu@nxp.com wrote:
On i.MX93 platform MICFIL uses eDMA. The maxburst should be set to the number of channels in eDMA multiple FIFO mode.
Signed-off-by: Chancel Liu chancel.liu@nxp.com
Acked-by: Shengjiu Wang shengjiu.wang@gmail.com
best regards wang shengjiu
sound/soc/fsl/fsl_micfil.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/sound/soc/fsl/fsl_micfil.c b/sound/soc/fsl/fsl_micfil.c index b8a9504441df..22e75c14cac4 100644 --- a/sound/soc/fsl/fsl_micfil.c +++ b/sound/soc/fsl/fsl_micfil.c @@ -63,6 +63,7 @@ struct fsl_micfil_soc_data { unsigned int fifo_depth; unsigned int dataline; bool imx;
bool use_edma; u64 formats;
};
@@ -88,6 +89,7 @@ static struct fsl_micfil_soc_data fsl_micfil_imx93 = { .fifo_depth = 32, .dataline = 0xf, .formats = SNDRV_PCM_FMTBIT_S32_LE,
.use_edma = true,
};
static const struct of_device_id fsl_micfil_dt_ids[] = { @@ -690,6 +692,8 @@ static int fsl_micfil_hw_params(struct snd_pcm_substream *substream, micfil->sdmacfg.n_fifos_src = channels; micfil->sdmacfg.sw_done = true; micfil->dma_params_rx.maxburst = channels * MICFIL_DMA_MAXBURST_RX;
if (micfil->soc->use_edma)
micfil->dma_params_rx.maxburst = channels; return 0;
}
2.25.1