On Mon, Dec 30, 2024 at 10:11:57AM +0800, Liu Ying wrote: > i.MX8qxp Display Controller display engine consists of all processing > units that operate in a display clock domain. Add minimal feature > support with FrameGen and TCon so that the engine can output display > timings. The FrameGen driver, TCon driver and display engine driver > are components to be aggregated by a master registered in the upcoming > DRM driver. > > Reviewed-by: Maxime Ripard <mripard@xxxxxxxxxx> > Signed-off-by: Liu Ying <victor.liu@xxxxxxx> > --- > v8: > * Get DE/FG/TC device instance numbers through register start addresses of the > devices, instead of compatible strings. (Dmitry) > * s/shdld/shdload/ for DE IRQs. (Dmitry) > * Drop id member from struct dc_de. (Dmitry) > * Add dc_de_post_bind(), to avoid dependency on the component helper's way of > implementing component binding order. (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: > * No change. > > v5: > * Replace .remove_new with .remove in dc-{de,fg,tc}.c. (Uwe) > * Select REGMAP and REGMAP_MMIO Kconfig options. > * Fix commit message to state that display 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_fg_displaymode() and dc_fg_panic_displaymode() function calls 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. > > v3: > * No change. > > v2: > * Use OF alias id to get instance id. > * Add dev member to struct dc_tc. > > drivers/gpu/drm/imx/Kconfig | 1 + > drivers/gpu/drm/imx/Makefile | 1 + > drivers/gpu/drm/imx/dc/Kconfig | 7 + > drivers/gpu/drm/imx/dc/Makefile | 5 + > drivers/gpu/drm/imx/dc/dc-de.c | 177 +++++++++++++++ > drivers/gpu/drm/imx/dc/dc-de.h | 56 +++++ > drivers/gpu/drm/imx/dc/dc-drv.c | 32 +++ > drivers/gpu/drm/imx/dc/dc-drv.h | 57 +++++ > drivers/gpu/drm/imx/dc/dc-fg.c | 376 ++++++++++++++++++++++++++++++++ > drivers/gpu/drm/imx/dc/dc-tc.c | 141 ++++++++++++ > 10 files changed, 853 insertions(+) > create mode 100644 drivers/gpu/drm/imx/dc/Kconfig > create mode 100644 drivers/gpu/drm/imx/dc/Makefile > create mode 100644 drivers/gpu/drm/imx/dc/dc-de.c > create mode 100644 drivers/gpu/drm/imx/dc/dc-de.h > create mode 100644 drivers/gpu/drm/imx/dc/dc-drv.c > create mode 100644 drivers/gpu/drm/imx/dc/dc-drv.h > create mode 100644 drivers/gpu/drm/imx/dc/dc-fg.c > create mode 100644 drivers/gpu/drm/imx/dc/dc-tc.c > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> -- With best wishes Dmitry