From 6f3a28ffc490852653dc11ecbab13d707addcabc Mon Sep 17 00:00:00 2001 From: Robin Gong Date: Thu, 20 Sep 2018 18:50:58 +0800 Subject: 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 (cherry picked from commit 786c8bd56324463cb94ce2c11a83689de0058ca0) --- drivers/dma/imx-sdma.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'drivers/dma') diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c index 49fee9531a1e..7d4b7f8c595a 100644 --- a/drivers/dma/imx-sdma.c +++ b/drivers/dma/imx-sdma.c @@ -196,7 +196,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 @@ -1163,7 +1163,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); @@ -1173,9 +1173,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; -- cgit v1.2.3