Tony,
Here is the patch for DMA to ease the chaining usage. OMAP mcbsp drivers makes 
use of this chaining feature but it's not pushed on mainline yet. It's 
available on zoom tree. Link for the same driver. 
http://git.omapzoom.org/?p=omapkernel.git;a=blob;f=arch/arm/mach-omap2/mcbsp.c;h=ce726c5d27eedb678ad3f981e2f5e08134e44e27;hb=2af15d1d7931a7c928d84057ed4494b77769de12


From: Santosh Shilimkar <[email protected]>

This patch reverts back the change done on OMAP dma library. It corrects the 
chaining callback and reduces the complexity for the DMA users in chaining. So 
with this patch, drivers making use of OMAP DMA chaining feature need not built 
any intelligence for chain related transfers in their callback using private 
data. 

Signed-off-by: Santosh Shilimkar <[email protected]>
Acked By : Nishant kamat <[email protected]>
---
--- omapkernel.orig/arch/arm/plat-omap/dma.c    2008-12-04 11:11:07.000000000 
+0530
+++ omapkernel/arch/arm/plat-omap/dma.c 2008-12-16 16:59:42.066118383 +0530
@@ -1936,7 +1936,11 @@ static int omap2_dma_handle_ch(int ch)
        }
 
        if (likely(dma_chan[ch].callback != NULL))
-               dma_chan[ch].callback(ch, status, dma_chan[ch].data);
+               if (dma_chan[ch].chain_id != -1)
+                       dma_chan[ch].callback(dma_chan[ch].chain_id, status,
+                                             dma_chan[ch].data);
+               else
+                       dma_chan[ch].callback(ch, status, dma_chan[ch].data);
 
        dma_write(status, CSR(ch));--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to