]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: ti: k3-am62a7-sk: Reserve 576MiB of global CMA
authorDevarsh Thakkar <devarsht@ti.com>
Thu, 13 Jun 2024 15:09:01 +0000 (20:39 +0530)
committerVignesh Raghavendra <vigneshr@ti.com>
Wed, 3 Jul 2024 14:21:21 +0000 (19:51 +0530)
Reserve 576MiB of CMA as global CMA pool starting after initial 1GiB of
DDR.

AM62ax has different multimedia components such as Camera, Display, H.264
VPU and JPEG Encoder which use CMA for buffer allocations.

The 12x 720x480 realtime VPU decode use-case requires 544MiB of CMA,
additional 32MiB is kept as buffer in case some other peripheral also
require it while VPU is running.

The reason to choose latter 1GiB is to not overlap with existing memory map
which is utilizing initial 1GiB for remoteproc firmwares as shared here
[1].

Also some drivers such as JPEG require 32bit addressing so not allocating
from higher DDR address.

Link: https://lore.kernel.org/all/20240605124859.3034-5-hnagalla@ti.com
Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
Tested-by: Brandon Brnich <b-brnich@ti.com>
Reviewed-by: Randolph Sapp <rs@ti.com>
Link: https://lore.kernel.org/r/20240613150902.2173582-3-devarsht@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
arch/arm64/boot/dts/ti/k3-am62a7-sk.dts

index e026f65738b395ef781b2ce73d14c78d7256c8e1..67faf46d7a35a5954a5a832b8ab766320b48ea59 100644 (file)
                #size-cells = <2>;
                ranges;
 
+               /* global cma region */
+               linux,cma {
+                       compatible = "shared-dma-pool";
+                       reusable;
+                       size = <0x00 0x24000000>;
+                       alloc-ranges = <0x00 0xc0000000 0x00 0x24000000>;
+                       linux,cma-default;
+               };
+
                secure_tfa_ddr: tfa@9e780000 {
                        reg = <0x00 0x9e780000 0x00 0x80000>;
                        alignment = <0x1000>;