ARM: 8633/1: nommu: allow mmap when !CONFIG_MMU
authorBenjamin Gaignard <benjamin.gaignard@linaro.org>
Mon, 12 Dec 2016 08:31:18 +0000 (09:31 +0100)
committerRussell King <rmk+kernel@armlinux.org.uk>
Tue, 10 Jan 2017 23:32:54 +0000 (23:32 +0000)
commit ab6494f0c96f ("nommu: Add noMMU support to the DMA API") have
add CONFIG_MMU compilation flag but that prohibit to use dma_mmap_wc()
when the platform doesn't have MMU.

This patch call vm_iomap_memory() in noMMU case to test if addresses
are correct and set vma->vm_flags rather than all return an error.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mm/dma-mapping.c

index ab7710002ba60e99287beb41e689e3ae4d148d6e..afa64ed5e36b7b11aeb702243ab5529ea263c3f3 100644 (file)
@@ -868,6 +868,9 @@ static int __arm_dma_mmap(struct device *dev, struct vm_area_struct *vma,
                                      vma->vm_end - vma->vm_start,
                                      vma->vm_page_prot);
        }
+#else
+       ret = vm_iomap_memory(vma, vma->vm_start,
+                             (vma->vm_end - vma->vm_start));
 #endif /* CONFIG_MMU */
 
        return ret;