• Becky Bruce's avatar
    powerpc: Merge 32 and 64-bit dma code · 4fc665b8
    Becky Bruce authored
    We essentially adopt the 64-bit dma code, with some changes to support
    32-bit systems, including HIGHMEM.  dma functions on 32-bit are now
    invoked via accessor functions which call the correct op for a device based
    on archdata dma_ops.  If there is no archdata dma_ops, this defaults
    to dma_direct_ops.
    
    In addition, the dma_map/unmap_page functions are added to dma_ops
    because we can't just fall back on map/unmap_single when HIGHMEM is
    enabled. In the case of dma_direct_*, we stop using map/unmap_single
    and just use the page version - this saves a lot of ugly
    ifdeffing.  We leave map/unmap_single in the dma_ops definition,
    though, because they are needed by the iommu code, which does not
    implement map/unmap_page.  Ideally, going forward, we will completely
    eliminate map/unmap_single and just have map/unmap_page, if it's
    workable for 64-bit.
    Signed-off-by: default avatarBecky Bruce <becky.bruce@freescale.com>
    Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
    4fc665b8
dma.c 3.17 KB