ARM: shmobile: No R-Car Gen2 CMA reservation when HIGHMEM=n
[firefly-linux-kernel-4.4.55.git] / arch / arm / mach-shmobile / setup-rcar-gen2.c
index d1fa625e61f5ef604ba98fb48eb89fb784879962..8c7ec9374e3b51428e8e5036eb5ebae48392ebf8 100644 (file)
@@ -21,6 +21,7 @@
 #include <linux/dma-contiguous.h>
 #include <linux/io.h>
 #include <linux/kernel.h>
+#include <linux/memblock.h>
 #include <linux/of.h>
 #include <linux/of_fdt.h>
 #include <asm/mach/arch.h>
@@ -199,7 +200,7 @@ void __init rcar_gen2_reserve(void)
 
        of_scan_flat_dt(rcar_gen2_scan_mem, &mrc);
 #ifdef CONFIG_DMA_CMA
-       if (mrc.size)
+       if (mrc.size && memblock_is_region_memory(mrc.base, mrc.size))
                dma_contiguous_reserve_area(mrc.size, mrc.base, 0,
                                            &rcar_gen2_dma_contiguous, true);
 #endif