diff options
Diffstat (limited to 'arch/arm')
-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) | |||
936 | { | 936 | { |
937 | u32 l; | 937 | u32 l; |
938 | 938 | ||
939 | /* | ||
940 | * The CPC/CDAC register needs to be initialized to zero | ||
941 | * before starting dma transfer. | ||
942 | */ | ||
943 | if (cpu_is_omap15xx()) | ||
944 | dma_write(0, CPC(lch)); | ||
945 | else | ||
946 | dma_write(0, CDAC(lch)); | ||
947 | |||
939 | if (!omap_dma_in_1510_mode() && dma_chan[lch].next_lch != -1) { | 948 | if (!omap_dma_in_1510_mode() && dma_chan[lch].next_lch != -1) { |
940 | int next_lch, cur_lch; | 949 | int next_lch, cur_lch; |
941 | char dma_chan_link_map[OMAP_DMA4_LOGICAL_DMA_CH_COUNT]; | 950 | char dma_chan_link_map[OMAP_DMA4_LOGICAL_DMA_CH_COUNT]; |