[openib-general] Re: [PATCH 5 of 13] ipath - use proper address translation routine

Arjan van de Ven arjan at infradead.org
Mon May 1 11:54:06 PDT 2006


On Mon, 2006-05-01 at 11:50 -0700, Roland Dreier wrote:
>     Bryan> Move away from an obsolete, unportable routine for
>     Bryan> translating physical addresses.
> 
> This change:
> 
>  > -		isge->vaddr = bus_to_virt(sge->addr);
>  > +		isge->vaddr = phys_to_virt(sge->addr);
> 
> is really wrong.  bus_to_virt() is really what you want, because in
> this case the address is a bus address that came from dma_map_xxx().
> You're still going to be hosed on systems with IOMMUs for example.

do you really NEED the vaddr? 
(most of the time linux drivers don't need it, while other OSes do)
If you really need it you should grab it at dma_map time ...
(and realize that it's not kernel addressable per se ;)




More information about the general mailing list