LF-3724-3: ASoC: fsl_micfil: add sdma_audio_config support
authorShengjiu Wang <shengjiu.wang@nxp.com>
Thu, 25 Mar 2021 02:55:35 +0000 (10:55 +0800)
committerShengjiu Wang <shengjiu.wang@nxp.com>
Wed, 21 Apr 2021 08:00:08 +0000 (16:00 +0800)
Add sdma_audio_config support especially for multi fifo

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Robin Gong <yibin.gong@nxp.com>
sound/soc/fsl/fsl_micfil.c

index fbaabcd..bf20179 100644 (file)
@@ -37,6 +37,7 @@ struct fsl_micfil {
        struct clk *clk_src[MICFIL_CLK_SRC_NUM];
        struct snd_dmaengine_dai_dma_data dma_params_rx;
        struct kobject *hwvad_kobject;
+       struct sdma_audio_config audio_config;
        unsigned int vad_channel;
        unsigned int dataline;
        char name[32];
@@ -1602,7 +1603,10 @@ static int fsl_micfil_hw_params(struct snd_pcm_substream *substream,
                return ret;
        }
 
-       micfil->dma_params_rx.fifo_num = channels;
+       micfil->audio_config.src_fifo_num = channels;
+       micfil->audio_config.sw_done_sel = BIT(31);
+       micfil->dma_params_rx.peripheral_config  = &micfil->audio_config;
+       micfil->dma_params_rx.peripheral_size    = sizeof(micfil->audio_config);
        micfil->dma_params_rx.maxburst = channels * MICFIL_DMA_MAXBURST_RX;
 
        return 0;