Skip to content

Commit 855832e

Browse files
Robin GongVinod Koul
Robin Gong
authored and
Vinod Koul
committedMar 16, 2015
dmaengine: imx-sdma: switch to dynamic context mode after script loaded
Below comments got from Page4724 of Reference Manual of i.mx6q: http://cache.freescale.com/files/32bit/doc/ref_manual/IMX6DQRM.pdf --"Static context mode should be used for the first channel called after reset to ensure that the all context RAM for that channel is initialized during the context SAVE phase when the channel is done or yields. Subsequent calls to the same channel or different channels may use any of the dynamic context modes. This will ensure that all context locations for the bootload channel are initialized, and prevent undefined values in context RAM from being loaded during the context restore if the channel is re-started later" Unfortunately, the rule was broken by commit(5b28aa3) .This patch just take them back. Signed-off-by: Robin Gong <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
1 parent bdf6c79 commit 855832e

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed
 

‎drivers/dma/imx-sdma.c

+4-3
Original file line numberDiff line numberDiff line change
@@ -531,6 +531,10 @@ static int sdma_run_channel0(struct sdma_engine *sdma)
531531
dev_err(sdma->dev, "Timeout waiting for CH0 ready\n");
532532
}
533533

534+
/* Set bits of CONFIG register with dynamic context switching */
535+
if (readl(sdma->regs + SDMA_H_CONFIG) == 0)
536+
writel_relaxed(SDMA_H_CONFIG_CSM, sdma->regs + SDMA_H_CONFIG);
537+
534538
return ret ? 0 : -ETIMEDOUT;
535539
}
536540

@@ -1394,9 +1398,6 @@ static int sdma_init(struct sdma_engine *sdma)
13941398

13951399
writel_relaxed(ccb_phys, sdma->regs + SDMA_H_C0PTR);
13961400

1397-
/* Set bits of CONFIG register with given context switching mode */
1398-
writel_relaxed(SDMA_H_CONFIG_CSM, sdma->regs + SDMA_H_CONFIG);
1399-
14001401
/* Initializes channel's priorities */
14011402
sdma_set_channel_priority(&sdma->channel[0], 7);
14021403

0 commit comments

Comments
 (0)