[PATCH v4 0/2] drm/imx: replace simple display pipe with atomic helpers

Thomas Zimmermann tzimmermann at suse.de
Thu Oct 1 00:25:29 PDT 2026


Merged into drm-misc-next

Am 19.09.26 um 16:59 schrieb Ze Huang:
> struct drm_simple_display_pipe was meant to simplify simple DRM
> drivers, but instead adds an extra wrapper around normal DRM atomic
> helper setup. As noted in Documentation/gpu/todo.rst, remaining users
> should be converted to regular atomic helpers and stop depending on the
> simple-KMS interfaces.
>
> The series replaces drm_simple_display_pipe_init() with explicit
> primary plane, CRTC and encoder setup, and moves the old simple-pipe
> callbacks into regular plane and CRTC helper callbacks named according
> to local driver conventions.
>
> The conversion preserves helper behavior that used to be implicit in
> drm_simple_kms_helper.c, including plane-state validation, CRTC
> primary-plane checks, affected-plane propagation, framebuffer prepare
> handling, and existing event/vblank flow where applicable.
>
> Result is less helper indirection and more explicit driver-side atomic
> wiring, with no remaining simple-KMS dependency in this driver.
>
> Changes are build-tested only. No hardware testing has been performed.
>
> The patches are based on v7.3-rc2.
>
> AI usage disclosure:
> - AI tools were also used to review the code and suggest code changes for
>    the DRM atomic conversion.
>
> Thanks,
> Ze Huang
>
> Signed-off-by: Ze Huang <ze.huang at oss.qualcomm.com>
> ---
> Changes in v4:
> - Use drm_crtc_vblank_atomic_flush() instead of the driver's own flush
>    callback.
> - Replace the reset callbacks with the atomic_create_state helpers and use
>    drm_mode_config_create_initial_state() in probe.
> - Link to v3: https://lore.kernel.org/all/20260727-drm-simple-kms-removal-v3-0-de36e534f7a1@oss.qualcomm.com/
>
> Changes in v3:
> - Add a new preparatory patch to avoid duplicate clk_per enables in
>    imx-lcdc pipe update after CRTC enable.
> - Use commit-local atomic state in enable/update/check paths.
> - Link to v2: https://patch.msgid.link/20260716-drm-simple-kms-removal-v2-1-7e4a6b8528e6@oss.qualcomm.com/
>
> Changes in v2:
> - use 'commit' as name of struct drm_atomic_commit in atomic helpers
> - improve control flow in *_crtc_helper_atomic_check() and
>    *_plane_helper_atomic_check()
> - Moved page-flip/vblank event handling out of plane update paths and into
>    CRTC atomic_flush(), using atomic_flush and disable paths
> - decide clock disable by old crtc state
> - add calls to drm_crtc_vblank_on() and drm_crtc_vblank_off() in crtc
>    atomic_enable() and atomic_disbale()
> - test crtc_state->enable before mode size check
> - Link to v1: https://patch.msgid.link/20260705-drm-simple-kms-removal-v1-0-b4e1ca053623@oss.qualcomm.com
>
> To: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> To: Maxime Ripard <mripard at kernel.org>
> To: Thomas Zimmermann <tzimmermann at suse.de>
> To: David Airlie <airlied at gmail.com>
> To: Simona Vetter <simona at ffwll.ch>
> To: Frank Li <Frank.Li at nxp.com>
> To: Sascha Hauer <s.hauer at pengutronix.de>
> To: Pengutronix Kernel Team <kernel at pengutronix.de>
> To: Fabio Estevam <festevam at gmail.com>
> To: Philipp Zabel <p.zabel at pengutronix.de>
> To: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
> To: Marian Cichy <m.cichy at pengutronix.de>
> Cc: dri-devel at lists.freedesktop.org
> Cc: imx at lists.linux.dev
> Cc: linux-arm-kernel at lists.infradead.org
> Cc: linux-kernel at vger.kernel.org
>
> ---
> Ze Huang (2):
>        drm/imx/lcdc: avoid duplicate clk_per enable
>        drm/imx: replace struct drm_simple_display_pipe with regular atomic helpers
>
>   drivers/gpu/drm/imx/lcdc/imx-lcdc.c | 249 +++++++++++++++++++++++++-----------
>   1 file changed, 175 insertions(+), 74 deletions(-)
> ---
> base-commit: 5e036ce12de91c6fd674dad33b169c6150be2a7a
> change-id: 20260919-b4-imx-simple-kms-v4-3f7d32e17548
>
> Best regards,
> --
> Ze Huang <ze.huang at oss.qualcomm.com>
>

-- 
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstr. 146, 90461 Nürnberg, Germany, www.suse.com
GF: Stefan Gaiser, Jochen Jaser, Abhinav Puri, (HRB 36809, AG Nürnberg)





More information about the linux-arm-kernel mailing list