Re: [PATCH v2 1/2] ARM: dts: bcm2711: force CMA into first GB of memory

From: Stefan Wahren
Date: Thu Nov 07 2019 - 01:23:35 EST


Hi Nicolas,

Am 06.11.19 um 10:59 schrieb Nicolas Saenz Julienne:
> arm64 places the CMA in ZONE_DMA32, which is not good enough for the
> Raspberry Pi 4 since it contains peripherals that can only address the
> first GB of memory. Explicitly place the CMA into that area.
>
> Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@xxxxxxx>
>
> ---
>
> Changes since v1:
> - Move into bcm2711.dtsi
>
> arch/arm/boot/dts/bcm2711.dtsi | 20 ++++++++++++++++++++
> 1 file changed, 20 insertions(+)
>
> diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi
> index 1f3acd3363ea..6000a01652fa 100644
> --- a/arch/arm/boot/dts/bcm2711.dtsi
> +++ b/arch/arm/boot/dts/bcm2711.dtsi
> @@ -12,6 +12,26 @@
>
> interrupt-parent = <&gicv2>;
>
> + reserved-memory {
> + #address-cells = <2>;
> + #size-cells = <1>;
> + ranges;
> +
> + /*
> + * arm64 reserves the CMA by default somewhere in ZONE_DMA32,
> + * that's not good enough for the Raspberry Pi 4 as some

sorry for the nitpicking but i hope the Raspberry Pi 4 B wont be the
only user of BCM2711.

So please s/Raspberry Pi 4/BCM2711/

Beside that:

Acked-by: Stefan Wahren <wahrenst@xxxxxxx>

> + * devices can only address the lower 1G of memory (ZONE_DMA).
> + */
> + linux,cma {
> + compatible = "shared-dma-pool";
> + size = <0x2000000>; /* 32MB */
> + alloc-ranges = <0x0 0x00000000 0x40000000>;
> + reusable;
> + linux,cma-default;
> + };
> + };
> +
> +
> soc {
> /*
> * Defined ranges: