• Andrew Morton's avatar
    [PATCH] support 64 bit pci_alloc_consistent · 747ec9b0
    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
tg3.c 198 KB