[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);
_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

Reply via email to