Using DMA
Scott Wood
scottwood at freescale.com
Fri Nov 7 05:29:38 EST 2008
Bruce_Leonard at selinc.com wrote:
> In the Cafe driver, Linux Device Drivers 3rd Edition, and DMA-mapping.txt
> everyone talks about how to allocate buffers using
> dma/pci_alloc_coherent(), but no one talks about how to actually use it.
> I'm pretty sure (even in my ignorance) that just allocating a DMA coherent
> buffer and then copying in and out of it does NOT actually engage the
> underlying hardware and perform a DMA transfer.
Generally, you program the device itself to peform the transfer. I'm
assuming that your custom NAND controller can't do DMA by itself, though.
> With some digging I've found the Freescale Elo/Elo Plus DMA driver which
> supports my processor. What I'm not clear on is how to actually make use
> of it. How do I tie my NAND driver to the Freescale DMA driver and
> actually get the hardware to work? Any pointers are greatly appreciated.
Tell the DMA controller where to move data from, and where to move it to.
-Scott
More information about the Linuxppc-embedded
mailing list