* [PATCH] ARM: OMAP: dma transfer param patch
@ 2006-05-12 16:55 Imre Deak
2006-05-26 22:52 ` Tony Lindgren
0 siblings, 1 reply; 2+ messages in thread
From: Imre Deak @ 2006-05-12 16:55 UTC (permalink / raw)
To: Tony Lindgren; +Cc: linux-omap
[-- Attachment #1: Type: text/plain, Size: 298 bytes --]
>From Peter Ujfalusi <peter.ujfalusi@nokia.com>
ARM: OMAP: DMA transfer parameter configuration fix
Fix for re-using OMAP DMA channel with different transfer parameters.
Bits in the CCR register need to be cleaned as well in some cases.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
[-- Attachment #2: omap-dma-transferparams.diff --]
[-- Type: text/x-patch, Size: 717 bytes --]
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
index 5dac423..1f0edd8 100644
--- a/arch/arm/plat-omap/dma.c
+++ b/arch/arm/plat-omap/dma.c
@@ -166,18 +166,24 @@ void omap_set_dma_transfer_params(int lc
if (cpu_is_omap24xx() && dma_trigger) {
u32 val = OMAP_DMA_CCR_REG(lch);
+ val &= ~(3 << 19);
if (dma_trigger > 63)
val |= 1 << 20;
if (dma_trigger > 31)
val |= 1 << 19;
+ val &= ~(0x1f);
val |= (dma_trigger & 0x1f);
if (sync_mode & OMAP_DMA_SYNC_FRAME)
val |= 1 << 5;
+ else
+ val &= ~(1 << 5);
if (sync_mode & OMAP_DMA_SYNC_BLOCK)
val |= 1 << 18;
+ else
+ val &= ~(1 << 18);
if (src_or_dst_synch)
val |= 1 << 24; /* source synch */
[-- Attachment #3: Type: text/plain, Size: 0 bytes --]
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2006-05-26 22:52 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-05-12 16:55 [PATCH] ARM: OMAP: dma transfer param patch Imre Deak
2006-05-26 22:52 ` Tony Lindgren
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox