dma_to_virt() on PPC?

bhanu jampala adams.ppc at gmail.com
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
device.
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.

Regards,
Adams



On Tue, Sep 16, 2008 at 3:37 PM, bhanu jampala <adams.ppc at gmail.com> 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: <http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20080916/2c882e59/attachment.htm>


More information about the Linuxppc-embedded mailing list