From 3254b49eb60040ddb40b65f44764aa41a00a5c3d Mon Sep 17 00:00:00 2001 From: Robin Gong <yibin.gong@nxp.com> Date: Thu, 20 Sep 2018 18:50:58 +0800 Subject: [PATCH] MLK-19734-3: dmaengine: imx-sdma: change fifo offset of fifo_num Multi-fifo scripts will change offset of fifo_num from 8 to 12 for enlarging the max watermark from 8 to 128, which could utilize more FIFO space as possible as it can. New 'watermarklevel' defined as below: ;; bit0~11: wartermark level(wml*fifo_number) ;; bit15~12: fifo number ;; bit16~19: fifo offset ;; bit27~24: sw done selector ;; bit23: sw done enabled Signed-off-by: Robin Gong <yibin.gong@nxp.com> (cherry picked from commit 786c8bd56324463cb94ce2c11a83689de0058ca0) (cherry picked from commit 1432f247a2bcdb38a1b4b5884bf541dfd8fdfcd6) Signed-off-by: Vipul Kumar <vipul_kumar@mentor.com> Signed-off-by: Srikanth Krishnakar <Srikanth_Krishnakar@mentor.com> --- drivers/dma/imx-sdma.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c index 0f4b9a3d43f59d..da4065b661985b 100644 --- a/drivers/dma/imx-sdma.c +++ b/drivers/dma/imx-sdma.c @@ -197,7 +197,7 @@ BIT(DMA_MEM_TO_DEV) | \ BIT(DMA_DEV_TO_DEV)) -#define SDMA_WATERMARK_LEVEL_FIFOS_OFF 8 +#define SDMA_WATERMARK_LEVEL_FIFOS_OFF 12 #define SDMA_WATERMARK_LEVEL_SW_DONE BIT(23) #define SDMA_WATERMARK_LEVEL_SW_DONE_SEL_OFF 24 @@ -1192,7 +1192,7 @@ static void sdma_set_watermarklevel_for_p2p(struct sdma_channel *sdmac) static void sdma_set_watermarklevel_for_sais(struct sdma_channel *sdmac) { - sdmac->watermark_level &= ~(0xFFF << SDMA_WATERMARK_LEVEL_FIFOS_OFF | + sdmac->watermark_level &= ~(0xFF << SDMA_WATERMARK_LEVEL_FIFOS_OFF | SDMA_WATERMARK_LEVEL_SW_DONE | 0xf << SDMA_WATERMARK_LEVEL_SW_DONE_SEL_OFF); @@ -1202,9 +1202,9 @@ static void sdma_set_watermarklevel_for_sais(struct sdma_channel *sdmac) SDMA_WATERMARK_LEVEL_SW_DONE_SEL_OFF; /* For fifo_num - * bit 0-7 is the fifo number; - * bit 8-11 is the fifo offset, - * so here only need to shift left fifo_num 8 bit for watermake_level + * bit 12-15 is the fifo number; + * bit 16-19 is the fifo offset, + * so here only need to shift left fifo_num 12 bit for watermake_level */ sdmac->watermark_level |= sdmac->fifo_num<< SDMA_WATERMARK_LEVEL_FIFOS_OFF; -- GitLab