linux DMA capabilities in MV64460

Phil Nitschke Phil.Nitschke at
Mon Mar 6 15:09:38 EST 2006

>>>>> "MAG" == Mark A Greer <mgreer at> writes:
  MAG> On Tue, Dec 20, 2005 at 10:49:58AM +1030, Phil Nitschke wrote:

  >> ... if I wanted to suck the data into main memory using the mv64460
  >> IDMA controller (assuming the device couldn't initiate its own
  >> burst writes), is there a standard kernel interface to allow me to
  >> do this?

  MAG> Yes.  You would make a "dma ctlr driver" for the dma ctlr(s).  I
  MAG> don't know what the best example would be but hopefully someone
  MAG> else has a suggestion.

I'm following up to a thread started in December last year.  The thread
was talking about this device:

Currently I've found the linux kernel has the following files relevant
to this hardware (2.6.15 kernel):


I'm now looking seriously (and reluctantly!) at writing a DMA Controller
Driver to supplement these functions, and I've started the process of
getting an NDA from Marvell, so I can get their User Manual (and errata!).

Can someone point me in the right direction to get me started?  I need
to come up the learning curve to find out where to start.  

How is a DMA controlled (from a device driver writer's perspective) when
a third-party (i.e. in the bridge) DMA controller needs to do the work
to get the data from a PCI Target into main memory?

What kernel API should be provided by the DMA Controller Driver?  

Any documentation, examples, similar device drivers, etc, would be
appreciated.  TIA,


More information about the Linuxppc-embedded mailing list