• Laura Abbott's avatar
    arm64: Implement custom mmap functions for dma mapping · 6e8d7968
    Laura Abbott authored
    The current dma_ops do not specify an mmap function so maping
    falls back to the default implementation. There are at least
    two issues with using the default implementation:
    1) The pgprot is always pgprot_noncached (strongly ordered)
    memory even with coherent operations
    2) dma_common_mmap calls virt_to_page on the remapped non-coherent
    address which leads to invalid memory being mapped.
    Fix both these issue by implementing a custom mmap function which
    correctly accounts for remapped addresses and sets vm_pg_prot
    Signed-off-by: default avatarLaura Abbott <lauraa@codeaurora.org>
    [catalin.marinas@arm.com: replaced "arm64_" with "__" prefix for consistency]
    Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>