[PATCH] Fix MPC83xx SDMA setup errors

Chuck Meade chuckmeade at mindspring.com
Tue Mar 27 08:24:30 EST 2007


Correct the alignment of the internal buffer used by the MPC83xx SDMA
controller to 4Kbytes.  Correct the shift direction in the logic that
sets up the SDMR register for the MPC83xx SDMA controller.

Signed-off-by: Chuck Meade <chuckmeade at mindspring.com>
---
  arch/powerpc/sysdev/qe_lib/qe.c |    4 ++--
  1 files changed, 2 insertions(+), 2 deletions(-)

diff -uprN a/arch/powerpc/sysdev/qe_lib/qe.c b/arch/powerpc/sysdev/qe_lib/qe.c
--- a/arch/powerpc/sysdev/qe_lib/qe.c	2007-01-13 09:37:03.000000000 -0500
+++ b/arch/powerpc/sysdev/qe_lib/qe.c	2007-03-26 17:48:08.000000000 -0400
@@ -251,12 +251,12 @@ static int qe_sdma_init(void)

  	/* allocate 2 internal temporary buffers (512 bytes size each) for
  	 * the SDMA */
-	sdma_buf_offset = qe_muram_alloc(512 * 2, 64);
+	sdma_buf_offset = qe_muram_alloc(512 * 2, 4096);
  	if (IS_MURAM_ERR(sdma_buf_offset))
  		return -ENOMEM;

  	out_be32(&sdma->sdebcr, sdma_buf_offset & QE_SDEBCR_BA_MASK);
-	out_be32(&sdma->sdmr, (QE_SDMR_GLB_1_MSK | (0x1 >>
+	out_be32(&sdma->sdmr, (QE_SDMR_GLB_1_MSK | (0x1 <<
  					QE_SDMR_CEN_SHIFT)));

  	return 0;




More information about the Linuxppc-dev mailing list