]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/arm/plat-omap/dma.c
Merge current mainline tree into linux-omap tree
[linux-2.6-omap-h63xx.git] / arch / arm / plat-omap / dma.c
index 3a50a6633f659ff14ec9310a866197dcc6e4d4cb..5eaa46841fe0e2ef09ce505291b96967b60fa3ca 100755 (executable)
@@ -278,11 +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);
-               val |= ((dma_trigger & ~(0x1f)) << 14);
 
-               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;