From mboxrd@z Thu Jan 1 00:00:00 1970 From: Colin Ngam Date: Thu, 15 May 2003 23:40:22 +0000 Subject: [Linux-ia64] Re: 64 Bits DMA Addresses for Alloc Consistent Interfaces. Message-Id: List-Id: References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-ia64@vger.kernel.org "David S. Miller" wrote: > From: Colin Ngam > 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.