Re: virt_to_bus and virt_to_phys on Apple G4 target

Paul Mackerras (paulus@samba.org)
Wed, 4 Jul 2001 17:56:57 +1000 (EST)


mdaljeet@in.ibm.com writes:

> I am running linux 2.4.2 on Apple G4 machine. I think the 'PCI bus
> addresses' and 'physical addresses' are same on this architecture. I

They are the same on an Apple G4 but not necessarily on other PowerPC
machines. It depends on the PCI host bridge implementation.

> expected the two be different but according to asm/io.h 'virt_to_bus(addr)
> = virt_to_phys(addr) + PCI_DRAM_OFFSET'. I printed the value of
> 'PCI_DRAM_OFFSET' and that come out to be zero. Is this correct?

Yes, for an Apple G4.

> If I somehow get the physical address of a user space buffer in a module
> and take this as a PCI bus address, will I be able to do DMA properly?

Yes, on an Apple G4. If you use virt_to_bus then it should work on
all PowerPC machines that I know of (that run 32-bit PPC/Linux). But
as Dave points out, you should use the interfaces described in
Documentation/DMA-mapping.txt instead if at all possible. It's quite
possible that virt_to_bus will be removed during 2.5.x development.

Paul.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/