[PATCH v8 10/19] drm/imx: Add i.MX8qxp Display Controller pixel engine
Dmitry Baryshkov
dmitry.baryshkov at linaro.org
Mon Dec 30 12:30:56 UTC 2024
On Mon, Dec 30, 2024 at 10:11:58AM +0800, 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 and those unit
> drivers are components to be aggregated by a master registered in
> the upcoming DRM driver.
>
> Reviewed-by: Maxime Ripard <mripard at kernel.org>
> Signed-off-by: Liu Ying <victor.liu at nxp.com>
> ---
> v8:
> * Get CF/ED/FL/FW/LB device instance numbers through register start addresses
> of the devices, instead of compatible strings. (Dmitry)
> * s/shdld/shdload/ for ED IRQs. (Dmitry)
> * Add dc_pe_post_bind(), to avoid dependency on the component helper's way of
> implementing component binding order. (Dmitry)
> * Add dev_warn() to dc_lb_pec_dynamic_{prim,sec}_sel(). (Dmitry)
> * Drop lb_links[] and dc_fetchunit_all_fracs[] arrays. (Dmitry)
>
> v7:
> * Add kernel doc for struct dc_drm_device. (Dmitry)
> * Fix regmap_config definitions by correcting name field, correcting read
> ranges and setting max_register field.
> * Get instance numbers from device data(compatible strings) instead of OF
> aliases.
> * Collect Maxime's R-b tag.
> * Trivial tweaks.
>
> v6:
> * Fix build warning by expanding sizeof(fu->name) from 13 to 21.
> (kernel test robot)
>
> v5:
> * Replace .remove_new with .remove in dc-{cf,de,fl,fw,lb,pe}.c. (Uwe)
> * Fix commit message to state that pixel engine driver is a component driver
> instead of a master/aggregate driver.
>
> v4:
> * Use regmap to define register map for all registers. (Dmitry)
> * Use regmap APIs to access registers. (Dmitry)
> * Inline some small functions. (Dmitry)
> * Move dc_lb_blendcontrol() function call from KMS routine to initialization
> stage. (Dmitry)
> * Use devm_kzalloc() to drmm_kzalloc() to allocate dc_* data strutures.
> * Drop unnecessary private struct dc_*_priv.
> * Set suppress_bind_attrs driver flag to true to avoid unnecessary sys
> interfaces to bind/unbind the drivers.
> * Make some fetch unit operations be aware of fractional fetch unit index(0-7).
>
> v3:
> * No change.
>
> v2:
> * Use OF alias id to get instance id.
>
> drivers/gpu/drm/imx/dc/Makefile | 3 +-
> drivers/gpu/drm/imx/dc/dc-cf.c | 172 +++++++++++++++++
> drivers/gpu/drm/imx/dc/dc-drv.c | 6 +
> drivers/gpu/drm/imx/dc/dc-drv.h | 22 +++
> drivers/gpu/drm/imx/dc/dc-ed.c | 288 ++++++++++++++++++++++++++++
> drivers/gpu/drm/imx/dc/dc-fl.c | 185 ++++++++++++++++++
> drivers/gpu/drm/imx/dc/dc-fu.c | 258 +++++++++++++++++++++++++
> drivers/gpu/drm/imx/dc/dc-fu.h | 129 +++++++++++++
> drivers/gpu/drm/imx/dc/dc-fw.c | 222 ++++++++++++++++++++++
> drivers/gpu/drm/imx/dc/dc-lb.c | 325 ++++++++++++++++++++++++++++++++
> drivers/gpu/drm/imx/dc/dc-pe.c | 158 ++++++++++++++++
> drivers/gpu/drm/imx/dc/dc-pe.h | 101 ++++++++++
> 12 files changed, 1868 insertions(+), 1 deletion(-)
> create mode 100644 drivers/gpu/drm/imx/dc/dc-cf.c
> create mode 100644 drivers/gpu/drm/imx/dc/dc-ed.c
> create mode 100644 drivers/gpu/drm/imx/dc/dc-fl.c
> create mode 100644 drivers/gpu/drm/imx/dc/dc-fu.c
> create mode 100644 drivers/gpu/drm/imx/dc/dc-fu.h
> create mode 100644 drivers/gpu/drm/imx/dc/dc-fw.c
> create mode 100644 drivers/gpu/drm/imx/dc/dc-lb.c
> create mode 100644 drivers/gpu/drm/imx/dc/dc-pe.c
> create mode 100644 drivers/gpu/drm/imx/dc/dc-pe.h
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
--
With best wishes
Dmitry
More information about the dri-devel
mailing list