Re: [PATCH v3 11/12] arm64: dts: imx8q: add linux,cma node for imx8qm-mek and imx8qxp-mek

Laurent Pinchart
2025-03-27T19:01:01Z

Hi Frank,

Thank you for the patch.

On Mon, Feb 10, 2025 at 03:59:30PM -0500, Frank Li wrote:
> Add linux,cma node because some devices, such as camera, need big continue
> physical memory.
>
> Signed-off-by: Frank Li <Frank.Li@nxp.com>
> ---
> change from v1 to v3
> - none
> ---
> arch/arm64/boot/dts/freescale/imx8qm-mek.dts | 9 +++++++++
> arch/arm64/boot/dts/freescale/imx8qxp-mek.dts | 8 ++++++++
> 2 files changed, 17 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8qm-mek.dts b/arch/arm64/boot/dts/freescale/imx8qm-mek.dts
> index 50fd3370f7dce..61ef00f4259e1 100644
> --- a/arch/arm64/boot/dts/freescale/imx8qm-mek.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8qm-mek.dts
> @@ -113,6 +113,15 @@ dsp_vdev0buffer: memory@94300000 {
> reg = <0 0x94300000 0 0x100000>;
> no-map;
> };
> +
> + /* global autoconfigured region for contiguous allocations */
> + linux,cma {
> + compatible = "shared-dma-pool";
> + alloc-ranges = <0 0xc0000000 0 0x3c000000>;
> + size = <0 0x3c000000>;
> + linux,cma-default;
> + reusable;
> + };

This is system memory. Why is it reserved here, hardcoding a specific
use case in a board DT, instead of specifying an overall CMA size in the
kernel configuration or through the kernel command line ?

> };
>
> lvds_backlight0: backlight-lvds0 {
> diff --git a/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts b/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts
> index be79c793213a5..89c6516c5ba90 100644
> --- a/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts
> @@ -56,6 +56,14 @@ dsp_vdev0buffer: memory@94300000 {
> reg = <0 0x94300000 0 0x100000>;
> no-map;
> };
> +
> + linux,cma {
> + compatible = "shared-dma-pool";
> + alloc-ranges = <0 0xc0000000 0 0x3c000000>;
> + size = <0 0x3c000000>;
> + linux,cma-default;
> + reusable;
> + };
> };
>
> reg_usdhc2_vmmc: usdhc2-vmmc {

--
Regards,

Laurent Pinchart