PPC4XX DMA polarity bug in linuxppc-2.6.9

Mark Powell medp at primagraphics.co.uk
Mon Dec 13 20:48:47 EST 2004

Colin Wernham wrote:

> I believe that there is a PPC4xx DMA driver bug in the following 
> kernel, file and function:
>   linuxppc-2.6.9,
>    /arch/ppc/syslib/ppc4xx_dma.c,
>    ppc4xx_init_dma_channel()
> Is there anyone else using the PPC4XX DMA?

I have used the PPC4xx dma on 405GP systems and a 440GP system with 
2.4.21 and 2.4.25. I found the ppc4xx_dma.c functions didn't work in the 
way I needed. I just read the code very carefully and used a few of the 
functions combined with some direct manipulation of the DMA registers.

As I recall, I don't think the polarity is the only problem in that 
file. It certainly doesn't support the 440 DMA registers - the COUNT 
register is different.

The code in ppc4xx_dma.c is however, very useful as a guide in how to go 
about setting up a DMA transfer; just read it carefully with the 
processor manual to hand.

Mark Powell, Senior Software Engineer
Curtiss-Wright Controls Embedded Computing
Tel: +44 (0) 1763 852222
Email: medp at primagraphics.com

More information about the Linuxppc-dev mailing list