Message ID | 20221028082750.991822-4-chancel.liu@nxp.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 77a7a6e9a94df0ac7ba46677b5ce4a743a931fce |
Headers | show |
Series | Add support for MICFIL on i.MX93 platform | expand |
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 > >
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; }
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> --- sound/soc/fsl/fsl_micfil.c | 4 ++++ 1 file changed, 4 insertions(+)