diff options
author | manjugk manjugk <manjugk@ti.com> | 2010-03-04 08:11:56 +0100 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2010-04-23 02:34:27 +0200 |
commit | 519e61666f4030426fc539d4e7102dc2bad41113 (patch) | |
tree | 5553802fccc286236dd0a4c6ba9f5c8a3e90e4e9 /arch/arm/plat-omap/dma.c | |
parent | omap: gpio: fix incorrect matching of IRQ_TYPE_EDGE_BOTH (diff) | |
download | linux-519e61666f4030426fc539d4e7102dc2bad41113.tar.xz linux-519e61666f4030426fc539d4e7102dc2bad41113.zip |
omap: DMA: Init CDAC to zero
The register DMA4_CDAC needs to be initialized to zero
before starting DMA transfer.
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Govindraj R <govindraj.raja@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Reported-by:S, Venkatraman <svenkatr@ti.com>
Signed-off-by: Manjunatha GK <manjugk@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/plat-omap/dma.c')
-rw-r--r-- | arch/arm/plat-omap/dma.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c index 2ab224c8e16c..f6c9bdc95bce 100644 --- a/arch/arm/plat-omap/dma.c +++ b/arch/arm/plat-omap/dma.c @@ -936,6 +936,15 @@ void omap_start_dma(int lch) { u32 l; + /* + * The CPC/CDAC register needs to be initialized to zero + * before starting dma transfer. + */ + if (cpu_is_omap15xx()) + dma_write(0, CPC(lch)); + else + dma_write(0, CDAC(lch)); + if (!omap_dma_in_1510_mode() && dma_chan[lch].next_lch != -1) { int next_lch, cur_lch; char dma_chan_link_map[OMAP_DMA4_LOGICAL_DMA_CH_COUNT]; |