lkml.org 
[lkml]   [2019]   [Nov]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH V3 2/2] ASoC: fsl_asrc: Add support for imx8qm
On Mon, Nov 11, 2019 at 05:18:23PM +0800, Shengjiu Wang wrote:
> There are two asrc module in imx8qm, each module has different
> clock configuration, and the DMA type is EDMA.
>
> So in this patch, we define the new clocks, refine the clock map,
> and include struct fsl_asrc_soc_data for different soc usage.
>
> The EDMA channel is fixed with each dma request, one dma request
> corresponding to one dma channel. So we need to request dma
> channel with dma request of asrc module.
>
> Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>

Two small comments inline. Once they are addressed,

Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>

> ---
> changes in v2
> - use !use_edma to wrap code in fsl_asrc_dma
> - add Acked-by: Nicolin Chen
>
> changes in v3
> - remove the acked-by for commit is updated
> - read "fsl,asrc-clk-map" property, and update table
> clk_map_imx8qm.
>
> sound/soc/fsl/fsl_asrc.c | 112 ++++++++++++++++++++++++++++-------
> sound/soc/fsl/fsl_asrc.h | 64 +++++++++++++++++++-
> sound/soc/fsl/fsl_asrc_dma.c | 42 +++++++++----
> 3 files changed, 183 insertions(+), 35 deletions(-)
>
> diff --git a/sound/soc/fsl/fsl_asrc.c b/sound/soc/fsl/fsl_asrc.c
> index a3cfceea7d2f..03de33de8633 100644
> --- a/sound/soc/fsl/fsl_asrc.c
> +++ b/sound/soc/fsl/fsl_asrc.c
> @@ -964,14 +1001,33 @@ static int fsl_asrc_probe(struct platform_device *pdev)

> + } else if (of_device_is_compatible(np, "fsl,imx8qm-asrc")) {

> + ret = of_property_read_u32(np, "fsl,asrc-clk-map",
> + &map_idx);

This seems to fit a single line?

> diff --git a/sound/soc/fsl/fsl_asrc_dma.c b/sound/soc/fsl/fsl_asrc_dma.c
> index d6146de9acd2..f871fdb9d1c6 100644
> --- a/sound/soc/fsl/fsl_asrc_dma.c
> +++ b/sound/soc/fsl/fsl_asrc_dma.c
> @@ -197,21 +197,37 @@ static int fsl_asrc_dma_hw_params(struct snd_soc_component *component,

> + /*
> + * For EDMA DEV_TO_DEV channel, we don't need to configure
> + * dma_request and dma_request2, we can get dma channel through
> + * dma_request_slave_channel directly.
> + * Compare with SDMA channel, EDMA channel is bound with dma
> + * request event of each peripheral, and it is fixed. Not like SDMA,
> + * the channel is allocated dynamically. So when DMA is EDMA, we
> + * can only get EDMA channel through dma-names of Front-End device.
> + */

Just trying to make it concise :)

+ /*
+ * An EDMA DEV_TO_DEV channel is fixed and bound with DMA event of each
+ * peripheral, unlike SDMA channel that is allocated dynamically. So no
+ * need to configure dma_request and dma_request2, but get dma_chan via
+ * dma_request_slave_channel directly with dma name of Front-End device
+ */

\
 
 \ /
  Last update: 2019-11-13 22:30    [W:0.065 / U:1.556 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site