From dcb4deb92738a2fd3981550dbf18ae96e22bbe80 Mon Sep 17 00:00:00 2001 From: Robin Gong Date: Wed, 23 Oct 2019 00:33:42 +0800 Subject: [PATCH] MLK-22798-1: dmaengine: fsl-edma-v3: do not enable interrupt in dev_2_dev Do not enable interrupt in dev_2_dev with cyclic case, since in such case no any interrupt needed. Otherwise many interrupt will come in every 64 words transfered in ASRC case, which cause heavy system loading. Signed-off-by: Robin Gong Reviewed-by: Shengjiu Wang (cherry picked from commit f0a3172e1ceb04c46377160486ad7dc6ee022850) --- drivers/dma/fsl-edma-v3.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) --- a/drivers/dma/fsl-edma-v3.c +++ b/drivers/dma/fsl-edma-v3.c @@ -560,6 +560,7 @@ static struct dma_async_tx_descriptor *f int sg_len, i; u32 src_addr, dst_addr, last_sg, nbytes; u16 soff, doff, iter; + bool major_int = true; sg_len = buf_len / period_len; fsl_desc = fsl_edma3_alloc_desc(fsl_chan, sg_len); @@ -600,11 +601,12 @@ static struct dma_async_tx_descriptor *f dst_addr = fsl_chan->fsc.dev_addr; soff = 0; doff = 0; + major_int = false; } fsl_edma3_fill_tcd(fsl_chan, fsl_desc->tcd[i].vtcd, src_addr, dst_addr, fsl_chan->fsc.attr, soff, nbytes, 0, - iter, iter, doff, last_sg, true, false, true); + iter, iter, doff, last_sg, major_int, false, true); dma_buf_next += period_len; }