Async DMA question regarding dma_async_memcpy_buf_to_buf

Bruce_Leonard at selinc.com Bruce_Leonard at selinc.com
Tue Nov 25 07:10:10 EST 2008


Hi Scott,

Thanks for the reply.

> > 
> > the question is this; is the dma_async_memcpy_buf_to_buf() function 
> > intended to be bi-directional and is it safe to pass it a 'src' 
pointer 
> > that's actually coming from the device, or does there need to be a 
second 
> > function for doing a copy from the device to the CPU?
> 
> The "device" is the DMA engine, thus src is inherently going to the 
> device and dest is inherently coming from the device.
>

Yes, I understand the directions and what they apply to, that's obvious 
from the macros themselves.  What I don't understand is if it's safe, from 
a kernel/cache standpoint, to pass to the function a src pointer coming 
_from_ the device and a dest pointer that's going _to_ the device?  In 
other words, can I use this function to _write_ to a DMA slave?  If not, 
there's a functionality missing from the async DMA engine.

Thanks.

Bruce


More information about the Linuxppc-embedded mailing list