]> rtime.felk.cvut.cz Git - vajnamar/linux-xlnx.git/commitdiff
ARM: zynq: Reserve correct amount of non-DMA RAM
authorKyle Roeschley <kyle.roeschley@ni.com>
Mon, 31 Oct 2016 16:26:17 +0000 (11:26 -0500)
committerMichal Simek <michal.simek@xilinx.com>
Thu, 20 Jul 2017 13:41:30 +0000 (15:41 +0200)
On Zynq, we haven't been reserving the correct amount of DMA-incapable
RAM to keep DMA away from it (per the Zynq TRM Section 4.1, it should be
the first 512k). In older kernels, this was masked by the
memblock_reserve call in arm_memblock_init(). Now, reserve the correct
amount excplicitly rather than relying on swapper_pg_dir, which is an
address and not a size anyway.

Fixes: 46f5b96 ("ARM: zynq: Reserve not DMAable space in front of the
kernel")

Signed-off-by: Kyle Roeschley <kyle.roeschley@ni.com>
Tested-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
arch/arm/mach-zynq/common.c

index 79ce23b6027b384efe13aae47bbfe9d7ad0442c0..8177cdbb908d35a0996ea7db9c19e546107cd36b 100644 (file)
@@ -59,7 +59,7 @@ void __iomem *zynq_scu_base;
 static void __init zynq_memory_init(void)
 {
        if (!__pa(PAGE_OFFSET))
-               memblock_reserve(__pa(PAGE_OFFSET), __pa(swapper_pg_dir));
+               memblock_reserve(__pa(PAGE_OFFSET), 0x80000);
 }
 
 static struct platform_device zynq_cpuidle_device = {