diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-5.10/950-0718-overlays-Set-CMA-to-512MB-on-Pi-4-for-vc4.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.10/950-0718-overlays-Set-CMA-to-512MB-on-Pi-4-for-vc4.patch | 151 |
1 files changed, 151 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.10/950-0718-overlays-Set-CMA-to-512MB-on-Pi-4-for-vc4.patch b/target/linux/bcm27xx/patches-5.10/950-0718-overlays-Set-CMA-to-512MB-on-Pi-4-for-vc4.patch new file mode 100644 index 0000000000..43a2775af8 --- /dev/null +++ b/target/linux/bcm27xx/patches-5.10/950-0718-overlays-Set-CMA-to-512MB-on-Pi-4-for-vc4.patch @@ -0,0 +1,151 @@ +From aa4e10d677dfe14c7e3132595558bcbf2fc25aca Mon Sep 17 00:00:00 2001 +From: Phil Elwell <phil@raspberrypi.com> +Date: Mon, 26 Jul 2021 11:05:18 +0100 +Subject: [PATCH] overlays: Set CMA to 512MB on Pi 4 for vc4 + +Pi 4s have at least 1GB, and there are advantages to having more CMA +available (HEVC works out of the box, support for more complex video +setups, etc.) without significant disadvantages. + +Can be overridden by appending a parameter to the dtoverlay line, e.g. +dtoverlay=vc4-fkms-v3d,cma-256 + +Signed-off-by: Phil Elwell <phil@raspberrypi.com> +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 17 +++++++ + arch/arm/boot/dts/overlays/overlay_map.dts | 9 ++++ + .../dts/overlays/upstream-pi4-overlay.dts | 2 +- + .../dts/overlays/vc4-fkms-v3d-pi4-overlay.dts | 44 +++++++++++++++++++ + .../dts/overlays/vc4-kms-v3d-pi4-overlay.dts | 6 ++- + 6 files changed, 77 insertions(+), 2 deletions(-) + create mode 100644 arch/arm/boot/dts/overlays/vc4-fkms-v3d-pi4-overlay.dts + +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -220,6 +220,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + upstream.dtbo \ + upstream-pi4.dtbo \ + vc4-fkms-v3d.dtbo \ ++ vc4-fkms-v3d-pi4.dtbo \ + vc4-kms-dpi-at056tn53v1.dtbo \ + vc4-kms-dsi-7inch.dtbo \ + vc4-kms-dsi-lt070me05000.dtbo \ +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -3268,6 +3268,23 @@ Params: cma-512 CMA is 5 + cma-default Use upstream's default value + + ++Name: vc4-fkms-v3d-pi4 ++Info: Enable Eric Anholt's DRM VC4 V3D driver on top of the dispmanx ++ display stack. ++Load: dtoverlay=vc4-fkms-v3d-pi4,<param> ++Params: cma-512 CMA is 512MB (needs 1GB) ++ cma-448 CMA is 448MB (needs 1GB) ++ cma-384 CMA is 384MB (needs 1GB) ++ cma-320 CMA is 320MB (needs 1GB) ++ cma-256 CMA is 256MB (needs 1GB) ++ cma-192 CMA is 192MB (needs 1GB) ++ cma-128 CMA is 128MB ++ cma-96 CMA is 96MB ++ cma-64 CMA is 64MB ++ cma-size CMA size in bytes, 4MB aligned ++ cma-default Use upstream's default value ++ ++ + Name: vc4-kms-dpi-at056tn53v1 + Info: Enable an Innolux 5.6in VGA TFT connected to DPI interface under KMS. + Requires vc4-kms-v3d to be loaded. +--- a/arch/arm/boot/dts/overlays/overlay_map.dts ++++ b/arch/arm/boot/dts/overlays/overlay_map.dts +@@ -138,6 +138,15 @@ + bcm2711; + }; + ++ vc4-fkms-v3d { ++ bcm2835; ++ bcm2711 = "vc4-fkms-v3d-pi4"; ++ }; ++ ++ vc4-fkms-v3d-pi4 { ++ bcm2711; ++ }; ++ + vc4-kms-v3d { + bcm2835; + bcm2711 = "vc4-kms-v3d-pi4"; +--- a/arch/arm/boot/dts/overlays/upstream-pi4-overlay.dts ++++ b/arch/arm/boot/dts/overlays/upstream-pi4-overlay.dts +@@ -6,7 +6,7 @@ + #include <dt-bindings/clock/bcm2835.h> + + / { +- compatible = "brcm,bcm2835"; ++ compatible = "brcm,bcm2711"; + fragment@0 { + target = <&ddc0>; + __overlay__ { +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/vc4-fkms-v3d-pi4-overlay.dts +@@ -0,0 +1,44 @@ ++/* ++ * vc4-fkms-v3d-overlay.dts ++ */ ++ ++/dts-v1/; ++/plugin/; ++ ++#include "cma-overlay.dts" ++ ++&frag0 { ++ size = <(512*1024*1024)>; ++}; ++ ++/ { ++ compatible = "brcm,bcm2711"; ++ ++ fragment@1 { ++ target = <&fb>; ++ __overlay__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@2 { ++ target = <&firmwarekms>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++ ++ fragment@3 { ++ target = <&v3d>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++ ++ fragment@4 { ++ target = <&vc4>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++}; +--- a/arch/arm/boot/dts/overlays/vc4-kms-v3d-pi4-overlay.dts ++++ b/arch/arm/boot/dts/overlays/vc4-kms-v3d-pi4-overlay.dts +@@ -9,8 +9,12 @@ + + #include "cma-overlay.dts" + ++&frag0 { ++ size = <(512*1024*1024)>; ++}; ++ + / { +- compatible = "brcm,bcm2835"; ++ compatible = "brcm,bcm2711"; + + fragment@1 { + target = <&ddc0>; |