• L
    microblaze: Fix mmap for cache coherent memory · 3a8e3265
    Lars-Peter Clausen 提交于
    When running in non-cache coherent configuration the memory that was
    allocated with dma_alloc_coherent() has a custom mapping and so there is no
    1-to-1 relationship between the kernel virtual address and the PFN. This
    means that virt_to_pfn() will not work correctly for those addresses and the
    default mmap implementation in the form of dma_common_mmap() will map some
    random, but not the requested, memory area.
    
    Fix this by providing a custom mmap implementation that looks up the PFN
    from the page table rather than using virt_to_pfn.
    Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
    Signed-off-by: NMichal Simek <michal.simek@xilinx.com>
    3a8e3265
consistent.c 6.6 KB