aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-omap/dma.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/plat-omap/dma.c')
-rw-r--r--arch/arm/plat-omap/dma.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
index 692d2b495af3..e77373c39f8c 100644
--- a/arch/arm/plat-omap/dma.c
+++ b/arch/arm/plat-omap/dma.c
@@ -278,14 +278,11 @@ void omap_set_dma_transfer_params(int lch, int data_type, int elem_count,
278 u32 val; 278 u32 val;
279 279
280 val = dma_read(CCR(lch)); 280 val = dma_read(CCR(lch));
281 val &= ~(3 << 19); 281
282 if (dma_trigger > 63) 282 /* DMA_SYNCHRO_CONTROL_UPPER depends on the channel number */
283 val |= 1 << 20; 283 val &= ~((3 << 19) | 0x1f);
284 if (dma_trigger > 31) 284 val |= (dma_trigger & ~0x1f) << 14;
285 val |= 1 << 19; 285 val |= dma_trigger & 0x1f;
286
287 val &= ~(0x1f);
288 val |= (dma_trigger & 0x1f);
289 286
290 if (sync_mode & OMAP_DMA_SYNC_FRAME) 287 if (sync_mode & OMAP_DMA_SYNC_FRAME)
291 val |= 1 << 5; 288 val |= 1 << 5;