[PATCH] ppc: fix memory-to-memory DMA on PPC4xx
Niklaus Giger
niklaus.giger at member.fsf.org
Sat Jan 20 07:40:35 EST 2007
[PATCH] pcc: fix memory-to-memory DMA on PPC4xx
During a memory-to-memory DMA transfers using the PPC4xx internal DMA
controllers the source and destination addresses were not incremented after
each data transfer.
Signed-off-by: Niklaus Giger <niklaus.giger at member.fsf.org>
---
c97d534851539b5ac18a90761bba9ea261545972
arch/ppc/syslib/ppc4xx_dma.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/arch/ppc/syslib/ppc4xx_dma.c b/arch/ppc/syslib/ppc4xx_dma.c
index 1eef4ff..1cb68a6 100644
--- a/arch/ppc/syslib/ppc4xx_dma.c
+++ b/arch/ppc/syslib/ppc4xx_dma.c
@@ -104,7 +104,8 @@ ppc4xx_enable_dma(unsigned int dmanr)
control &= ~(DMA_TM_MASK | DMA_TD); /* clear all mode bits */
if (p_dma_ch->mode == DMA_MODE_MM) {
/* software initiated memory to memory */
- control |= DMA_ETD_OUTPUT | DMA_TCE_ENABLE;
+ control |= DMA_ETD_OUTPUT | DMA_TCE_ENABLE |
+ DMA_SAI | DMA_DAI ;
}
mtdcr(DCRN_DMACR0 + (dmanr * 0x8), control);
More information about the Linuxppc-embedded
mailing list