mem=XXXM ioremap DMA

Eric Nuckols jrocnuck at
Tue Jan 30 02:33:25 EST 2007

>Eric Nuckols wrote:
> > in my driver, I'm calling
> > my_virt_address =   ioremap( 0x1F800000, 0x800000  );
> > my_bus_address = virt_to_bus( my_virt_address );
> >
>You can't use virt_to_bus on address returned by ioremap AFAIK.
>I think you could do
>my_bus_address = virt_to_bus(phys_to_virt(0x1f800000));
>Altough it slightly misuse the functions ... but that should work.
>         Sylvain

If I use this approach in a driver, won't I still need to use the ioremap 
function to make sure the kernel does not reassign the virtual addresses to 
some other physical memory locations?

I want to hand off bus address descriptors to a hardware device that will 
perform bus master DMA back into the memory starting at 0x1f800000, but I 
want to make sure the virt addresses don't coincide with anything other than 
this range of memory (no matter what context I'm in 


Turn searches into helpful donations. Make your search count.

More information about the Linuxppc-embedded mailing list