Re: struct page to 36 (or 64) bit bus address?

Johannes Erdfelt (johannes@erdfelt.com)
Thu, 9 Aug 2001 15:10:22 -0400


On Thu, Aug 09, 2001, Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
> > I have a 64 bit PCI card which I'd like to do 64 bit DMA with. I have a
> > struct page, but I don't see an easy way of determining what the bus
> > address for that page is.
> >
> > Is there a way to do it at all?
>
> Yes but its not the right way to do it (bttv does it for example). You want
> to be using the pci or kiovec apis (Documentation/DMA-mapping.txt)
>
> Thats important because it may well be an iommu that handles the mapping to
> make the stuff visible - not the cpu

Unfortunately the PCI DMA API on i386 will only return 32 bit addresses,
which kinda defeats the purpose of what I'm doing.

Obviously the more portable way across architectures is using the PCI
DMA API but when will the implementation be fixed so I can use it to
exploit the full potential of this device?

I'll take a look at the BTTV for a short term solution.

JE

-
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/