[Linux-ia64] Re: 64 Bits DMA Addresses for Alloc Consistent Interfaces.

Colin Ngam
2003-05-15T23:40:22Z

"David S. Miller" wrote:

> From: Colin Ngam <cngam@sgi.com>
> Date: Thu, 15 May 2003 18:25:54 -0500
>
> Actually, our system does not have Physical Memory Address smaller than
> 48Bits - give or take couple bits ... Hence, 32Bits Mapped DMA address
> maps to 48Bits System Physical Address.
>
> If you support mapping 32-bit DMA bus spaces to the full 48-bit
> physical memory spaces, then why do you even need >4GB addressing?
>
> Saying that PCI-X devices can only generate DAC cycles is bogus,

I did not say that. it is very obvious that PCI-X devices can generate
either SAC or DAC.

What I did say is that, on our platform, in PCI-X mode, our PCI-X
Bridge Chipset do NOT support 32-Bit DMA Bus Space.

This does not break any PCI-X specs.

However, the pci_alloc_consistent() interface is documented to ONLY
return a 32-Bit DMA Bus Space .. we like this to be extended so that
PCI-X device drivers or PCI drivers can consumed 64-Bit DMA Bus
Space, if they have the capability.

Thanks.

colin

>
> I have PCI-X tg3 cards in my systems and they function just fine.
> Or does this rule only apply when the device is on a PCI-X bus?

>
>
> This all sounds seriously broken to me, I thought the issue was that
> a) the addresses could not be translated, it was direct phys-->virt
> and b) you can't guarentee that the physical address of memory
> allocated on any particular node is <4GB.