1 From aa4e10d677dfe14c7e3132595558bcbf2fc25aca Mon Sep 17 00:00:00 2001
2 From: Phil Elwell <phil@raspberrypi.com>
3 Date: Mon, 26 Jul 2021 11:05:18 +0100
4 Subject: [PATCH] overlays: Set CMA to 512MB on Pi 4 for vc4
6 Pi 4s have at least 1GB, and there are advantages to having more CMA
7 available (HEVC works out of the box, support for more complex video
8 setups, etc.) without significant disadvantages.
10 Can be overridden by appending a parameter to the dtoverlay line, e.g.
11 dtoverlay=vc4-fkms-v3d,cma-256
13 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
15 arch/arm/boot/dts/overlays/Makefile | 1 +
16 arch/arm/boot/dts/overlays/README | 17 +++++++
17 arch/arm/boot/dts/overlays/overlay_map.dts | 9 ++++
18 .../dts/overlays/upstream-pi4-overlay.dts | 2 +-
19 .../dts/overlays/vc4-fkms-v3d-pi4-overlay.dts | 44 +++++++++++++++++++
20 .../dts/overlays/vc4-kms-v3d-pi4-overlay.dts | 6 ++-
21 6 files changed, 77 insertions(+), 2 deletions(-)
22 create mode 100644 arch/arm/boot/dts/overlays/vc4-fkms-v3d-pi4-overlay.dts
24 --- a/arch/arm/boot/dts/overlays/Makefile
25 +++ b/arch/arm/boot/dts/overlays/Makefile
26 @@ -220,6 +220,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
30 + vc4-fkms-v3d-pi4.dtbo \
31 vc4-kms-dpi-at056tn53v1.dtbo \
32 vc4-kms-dsi-7inch.dtbo \
33 vc4-kms-dsi-lt070me05000.dtbo \
34 --- a/arch/arm/boot/dts/overlays/README
35 +++ b/arch/arm/boot/dts/overlays/README
36 @@ -3268,6 +3268,23 @@ Params: cma-512 CMA is 5
37 cma-default Use upstream's default value
40 +Name: vc4-fkms-v3d-pi4
41 +Info: Enable Eric Anholt's DRM VC4 V3D driver on top of the dispmanx
43 +Load: dtoverlay=vc4-fkms-v3d-pi4,<param>
44 +Params: cma-512 CMA is 512MB (needs 1GB)
45 + cma-448 CMA is 448MB (needs 1GB)
46 + cma-384 CMA is 384MB (needs 1GB)
47 + cma-320 CMA is 320MB (needs 1GB)
48 + cma-256 CMA is 256MB (needs 1GB)
49 + cma-192 CMA is 192MB (needs 1GB)
50 + cma-128 CMA is 128MB
53 + cma-size CMA size in bytes, 4MB aligned
54 + cma-default Use upstream's default value
57 Name: vc4-kms-dpi-at056tn53v1
58 Info: Enable an Innolux 5.6in VGA TFT connected to DPI interface under KMS.
59 Requires vc4-kms-v3d to be loaded.
60 --- a/arch/arm/boot/dts/overlays/overlay_map.dts
61 +++ b/arch/arm/boot/dts/overlays/overlay_map.dts
68 + bcm2711 = "vc4-fkms-v3d-pi4";
77 bcm2711 = "vc4-kms-v3d-pi4";
78 --- a/arch/arm/boot/dts/overlays/upstream-pi4-overlay.dts
79 +++ b/arch/arm/boot/dts/overlays/upstream-pi4-overlay.dts
81 #include <dt-bindings/clock/bcm2835.h>
84 - compatible = "brcm,bcm2835";
85 + compatible = "brcm,bcm2711";
90 +++ b/arch/arm/boot/dts/overlays/vc4-fkms-v3d-pi4-overlay.dts
93 + * vc4-fkms-v3d-overlay.dts
99 +#include "cma-overlay.dts"
102 + size = <(512*1024*1024)>;
106 + compatible = "brcm,bcm2711";
111 + status = "disabled";
116 + target = <&firmwarekms>;
136 --- a/arch/arm/boot/dts/overlays/vc4-kms-v3d-pi4-overlay.dts
137 +++ b/arch/arm/boot/dts/overlays/vc4-kms-v3d-pi4-overlay.dts
140 #include "cma-overlay.dts"
143 + size = <(512*1024*1024)>;
147 - compatible = "brcm,bcm2835";
148 + compatible = "brcm,bcm2711";