diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-0640-ARM-dts-bcm2711-Restrict-CMA-to-first-768MB.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.4/950-0640-ARM-dts-bcm2711-Restrict-CMA-to-first-768MB.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-0640-ARM-dts-bcm2711-Restrict-CMA-to-first-768MB.patch b/target/linux/bcm27xx/patches-5.4/950-0640-ARM-dts-bcm2711-Restrict-CMA-to-first-768MB.patch new file mode 100644 index 0000000000..9a1e29e7d1 --- /dev/null +++ b/target/linux/bcm27xx/patches-5.4/950-0640-ARM-dts-bcm2711-Restrict-CMA-to-first-768MB.patch @@ -0,0 +1,33 @@ +From 7b307016ed13cbb65e08b6a704912e5c9e5b81ac Mon Sep 17 00:00:00 2001 +From: Phil Elwell <phil@raspberrypi.com> +Date: Tue, 14 Apr 2020 15:25:02 +0100 +Subject: [PATCH] ARM: dts: bcm2711: Restrict CMA to first 768MB + +The downstream 32-bit 2711 kernel configuration enables HIGHMEM for +access to more physical RAM. The HIGHMEM zone starts at 0x30000000 +(768MB), and allowing the CMA zone to overlap that area causes a +failure during CMA activation. + +Avoid the overlap by limiting CMA to the first 768MB. This is overly +restrictive on a 64-bit kernel, but shouldn't cause any practical +problems. + +Signed-off-by: Phil Elwell <phil@raspberrypi.com> +--- + arch/arm/boot/dts/bcm2711-rpi.dtsi | 5 +++++ + 1 file changed, 5 insertions(+) + +--- a/arch/arm/boot/dts/bcm2711-rpi.dtsi ++++ b/arch/arm/boot/dts/bcm2711-rpi.dtsi +@@ -45,6 +45,11 @@ + }; + }; + ++&cma { ++ /* Limit cma to the lower 768MB to allow room for HIGHMEM on 32-bit */ ++ alloc-ranges = <0x0 0x00000000 0x30000000>; ++}; ++ + &soc { + thermal: thermal@7d5d2200 { + compatible = "brcm,avs-tmon-bcm2711"; |