summaryrefslogtreecommitdiff
path: root/arch/arm/plat-omap/dma.c
diff options
context:
space:
mode:
authorFelix Blyakher <felixb@sgi.com>2009-02-03 10:38:41 -0600
committerFelix Blyakher <felixb@sgi.com>2009-02-03 10:38:41 -0600
commit6d2160bfe7826aca1c94b4bca77093908a452ae7 (patch)
tree8153fcd8a7c467e5de136f312e8ef5b27bea9d6b /arch/arm/plat-omap/dma.c
parentf0e0059b9c18426cffdcc04161062251a8f9741e (diff)
parentb1792e367053968f2ddb48bc911d314143ce6242 (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus
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,
u32 val;
val = dma_read(CCR(lch));
- val &= ~(3 << 19);
- if (dma_trigger > 63)
- val |= 1 << 20;
- if (dma_trigger > 31)
- val |= 1 << 19;
-
- val &= ~(0x1f);
- val |= (dma_trigger & 0x1f);
+
+ /* DMA_SYNCHRO_CONTROL_UPPER depends on the channel number */
+ val &= ~((3 << 19) | 0x1f);
+ val |= (dma_trigger & ~0x1f) << 14;
+ val |= dma_trigger & 0x1f;
if (sync_mode & OMAP_DMA_SYNC_FRAME)
val |= 1 << 5;