• Benjamin Herrenschmidt's avatar
    powerpc: Fix up dma_alloc_coherent() on platforms without cache coherency. · 8b31e49d
    Benjamin Herrenschmidt authored
    The implementation we just revived has issues, such as using a
    Kconfig-defined virtual address area in kernel space that nothing
    actually carves out (and thus will overlap whatever is there),
    or having some dependencies on being self contained in a single
    PTE page which adds unnecessary constraints on the kernel virtual
    address space.
    
    This fixes it by using more classic PTE accessors and automatically
    locating the area for consistent memory, carving an appropriate hole
    in the kernel virtual address space, leaving only the size of that
    area as a Kconfig option. It also brings some dma-mask related fixes
    from the ARM implementation which was almost identical initially but
    grew its own fixes.
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    8b31e49d
dma.c 4.11 KB