-
Andrew Morton authored
From: Jes Sorensen <jes@wildopensource.com> This is patch which provides support for 64 bit address allocations from pci_alloc_consistent(), based on the address mask set through pci_set_consistent_dma_mask(). This is necessary on some platforms which are unable to provide physical memory in the lower 4GB block and do not provide IOMMU support for cards operating in certain bus modes, such as PCI-X on the SGI SN2. The default mask for pci_alloc_consistent() is still 32 bit as there are 64 bit capable hardware out there that doesn't support 64 bit addresses for descripters etc. Likewise, platforms which provide IOMMU support in all bus modes can ignore struct pci_dev->consistent_dma_mask and just return a 32 bit address as before. The patch also includes changes to tg3.c to make it use the new api as well as a documentation update. I have done my best on the documentation part, if anyone feel the can make my scribbles clearer, please do. Thanks to Dave Miller, Grant Grundler, James Bottomley, Colin Ngam, and Jeremy Higdon for input and code/documentation portions.
747ec9b0