diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c index 0f4b9a3d43f59d0af840c58c4d60a86b7355681d..da4065b661985b3bf50eb6137a85c3d6ba717792 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;