dma_to_virt() on PPC?

bhanu jampala adams.ppc at
Wed Sep 17 08:40:50 EST 2008

Hi guys,

I have tried these calls to covert part of my DMA address to Virtual and it
seems to work fine.
I am curious to know more about these calls.

dma_map_single(NULL, dev->buf_addr, tx_cnt, DMA_TO_DEVICE));
dma_map_single(NULL, dev->buf_addr, tx_cnt, DMA_FROM_DEVICE));

The reason I am suspect these calls is:

I allocated a single DMA memory of 4K bytes size.
No I want to split and distribute the so allocated buffer between each
in that case of my starting address is ADDR. the address I submit to the
device would be something like

ADDR + 32* device_num.

But, I realize that it is not actually returning the Virtual address.


On Tue, Sep 16, 2008 at 3:37 PM, bhanu jampala <adams.ppc at> wrote:

> Hi All,
> How do I convert a DMA buffer to virtual address on Linux PPC?
> I know there is some thing like dma_to_virt(), but I don't think if there
> is one for PPC.
> In this scenario where I have submitted some dma buffer form a chunk of
> memory to Device.
> Now at the end of successful receive, how do I convert it back to Virtual
> address?
> Any pointers?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Linuxppc-embedded mailing list