Re: [PATCH v2 07/16] drm/imx: Add i.MX8qxp Display Controller pixel engine

From: Dmitry Baryshkov
Date: Sat Jul 27 2024 - 12:13:48 EST


On Fri, Jul 12, 2024 at 05:32:34PM GMT, Liu Ying wrote:
> i.MX8qxp Display Controller pixel engine consists of all processing
> units that operate in the AXI bus clock domain. Add drivers for
> ConstFrame, ExtDst, FetchLayer, FetchWarp and LayerBlend units, as
> well as a pixel engine driver, so that two displays with primary
> planes can be supported. The pixel engine driver as a master binds
> those unit drivers as components. While at it, the pixel engine
> driver is a component to be bound with the upcoming DRM driver.

Same question / comment: create subnodes directly, without going
through the subdevices. A lot of small functions that would benefit
being inlined.

> +static int dc_cf_bind(struct device *dev, struct device *master, void *data)
> +{
> + struct platform_device *pdev = to_platform_device(dev);
> + struct dc_drm_device *dc_drm = data;
> + struct dc_pe *pe = dc_drm->pe;
> + struct dc_cf_priv *priv;
> + int id;
> +
> + priv = drmm_kzalloc(&dc_drm->base, sizeof(*priv), GFP_KERNEL);
> + if (!priv)
> + return -ENOMEM;
> +
> + priv->reg_cfg = devm_platform_ioremap_resource_byname(pdev, "cfg");
> + if (IS_ERR(priv->reg_cfg))
> + return PTR_ERR(priv->reg_cfg);
> +
> + id = of_alias_get_id(dev->of_node, "dc0-constframe");

Is it documented? Acked?

> + if (id < 0) {
> + dev_err(dev, "failed to get alias id: %d\n", id);
> + return id;
> + }
> +

--
With best wishes
Dmitry