• Benjamin Herrenschmidt's avatar
    Revert "powerpc: Rework dma-noncoherent to use generic vmalloc layer" · 84532a0f
    Benjamin Herrenschmidt authored
    This reverts commit 33f00dce.
    
        While it was a good idea to try to use the mm/vmalloc.c allocator instead
        of our own (in fact, ours is itself a dup on an old variant of the vmalloc
        one), unfortunately, the approach is terminally busted since
        dma_alloc_coherent() can be called at interrupt time or in atomic contexts
        and there's little chances we'll make the code in mm/vmalloc.c cope with\       that :-(
    
        Until we can get the generic code to forbid that idiocy and fix all
        drivers abusing it, we pretty much have no choice but revert to
        our custom virtual space allocator.
    
        There's also a problem with SMP safety since freeing such mapping
        would require an IPI which cannot be done at interrupt time.
    
        However, right now, I don't think we support any platform that is
        both SMP and has non-coherent DMA (don't laugh, I know such things
        do exist !) so we can sort that out later.
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    84532a0f
dma-noncoherent.c 10.3 KB