Message ID | 20240613150902.2173582-3-devarsht@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add global CMA reserve area | expand |
Hi Devarsh, On 20:39-20240613, Devarsh Thakkar wrote: > 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 [1] > Signed-off-by: Devarsh Thakkar <devarsht@ti.com> I have validated that this patch works with VPU. Tested-by: Brandon Brnich <b-brnich@ti.com> Best, Brandon > --- > arch/arm64/boot/dts/ti/k3-am62a7-sk.dts | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts > index e026f65738b3..67faf46d7a35 100644 > --- a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts > +++ b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts > @@ -40,6 +40,15 @@ reserved-memory { > #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>; > -- > 2.39.1 >
diff --git a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts index e026f65738b3..67faf46d7a35 100644 --- a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts +++ b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts @@ -40,6 +40,15 @@ reserved-memory { #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>;
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 [1] Signed-off-by: Devarsh Thakkar <devarsht@ti.com> --- arch/arm64/boot/dts/ti/k3-am62a7-sk.dts | 9 +++++++++ 1 file changed, 9 insertions(+)