Commit 7a3cc2a7 authored by Kyle Roeschley's avatar Kyle Roeschley Committed by Michal Simek

ARM: zynq: Reserve correct amount of non-DMA RAM

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: 46f5b960 ("ARM: zynq: Reserve not DMAable space in front of the
kernel")
Signed-off-by: default avatarKyle Roeschley <kyle.roeschley@ni.com>
Tested-by: default avatarNathan Rossi <nathan@nathanrossi.com>
Signed-off-by: default avatarMichal Simek <michal.simek@xilinx.com>
parent 1001354c
...@@ -59,7 +59,7 @@ void __iomem *zynq_scu_base; ...@@ -59,7 +59,7 @@ void __iomem *zynq_scu_base;
static void __init zynq_memory_init(void) static void __init zynq_memory_init(void)
{ {
if (!__pa(PAGE_OFFSET)) 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 = { static struct platform_device zynq_cpuidle_device = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment