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 <[email protected]>
---
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-de36e534f...@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-7e4a6b852...@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-b4e1ca053...@oss.qualcomm.com
To: Maarten Lankhorst <[email protected]>
To: Maxime Ripard <[email protected]>
To: Thomas Zimmermann <[email protected]>
To: David Airlie <[email protected]>
To: Simona Vetter <[email protected]>
To: Frank Li <[email protected]>
To: Sascha Hauer <[email protected]>
To: Pengutronix Kernel Team <[email protected]>
To: Fabio Estevam <[email protected]>
To: Philipp Zabel <[email protected]>
To: Uwe Kleine-König <[email protected]>
To: Marian Cichy <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
---
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 <[email protected]>
--
--
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)