Using DMA

Bruce_Leonard at selinc.com Bruce_Leonard at selinc.com
Sat Nov 8 08:31:23 EST 2008


Hi Timur,

Thanks for the reply, very informative.

> 
> The Elo device driver is an async DMA back-end driver.  That is, you
> don't communicate with that driver directly, you communicate with the
> async library (which is new - so you won't find it in LDD3).
> 
> Please note that the async DMA stuff is intended for single-shot
> one-way transfers only between two memory regions.  It has a very
> specific usage.  If you need something more complicated, you'll need
> to write your own DMA driver.  You can find an example of that in
> sound/soc/fsl/fsl_dma.c.
> 

I'm not sure if I need something as complicated as sound/soc/fsl/fsl_dma.c 
or not.  Maybe you can offer an opinion.  The NAND flash in our product is 
our backing storage, i.e., our hard drive.  We know that we're going to be 
storing away system status at about a 1 second rate and in the future 
we'll probably end up storing collected data at a very high rate, so we're 
potentially going to be doing a LOT of data movement to the NAND.  I'm 
still not clear on the adma stuff, so I'm not sure if a "single-shot 
one-way transfer" is appropriate or not.  Seems like I'd waste a lot of 
time setting up and tearing down the DMA channel.

So, do I need something complicated?

Thanks again for the explination Timur, I appreciate it.

Bruce


More information about the Linuxppc-embedded mailing list