On Thu, Sep 05, 2013 at 05:50:45PM +0100, Stefano Stabellini wrote:
On Fri, 30 Aug 2013, Konrad Rzeszutek Wilk wrote:
quoted
On Thu, Aug 29, 2013 at 07:32:33PM +0100, Stefano Stabellini wrote:
quoted
Use xen_alloc_coherent_pages and xen_free_coherent_pages to allocate or
free coherent pages.
We need to be careful handling the pointer returned by
xen_alloc_coherent_pages, because on ARM the pointer is not equal to
phys_to_virt(*dma_handle). In fact virt_to_phys on the returned pointer
doesn't return a valid physical address.
Why is it called 'virt_to_phys'? What does it return then?
virt_to_phys only works for kernel direct mapped RAM memory.
In this case the virtual address could be an ioremap address, therefore
passing it to virt_to_phys would give you another physical address that
doesn't correspond to it.
Ah, so very much ARM (and in some way SPARC) specific. I think you need add some comments
in the code (And git commit) to explain this. Thank you.