]> git.ipfire.org Git - thirdparty/linux.git/commit
drm/mipi-dbi: Only modify planes on enabled CRTCs
authorThomas Zimmermann <tzimmermann@suse.de>
Thu, 19 Mar 2026 15:59:37 +0000 (16:59 +0100)
committerThomas Zimmermann <tzimmermann@suse.de>
Wed, 25 Mar 2026 14:04:24 +0000 (15:04 +0100)
commit514c8451fc5829db3f022f0cb9018c06c570261d
tree3e413cfbe5b7ba8dddfe3dbd0ef0d697a601520e
parentd84b087c7662dd65cd51b228219987c31b1cee02
drm/mipi-dbi: Only modify planes on enabled CRTCs

Use drm_atomic_helper_commit_tail_rpm() as commit tail to update the
plane after enabling the CRTC. Then remove the plane-update code from
mipi_dbi_enable_flush() and inline the remaining backlight code where
necessary.

Mipi-dbi's current commit tail drm_atomic_helper_commit_tail() first
updates the plane and then enables the CRTC. But the CRTC enablement
includes power management that prevents the initial plane update from
working. Hence, each mipi-dbi driver includes a plane update in their
CRTC enablement; in the form of mipi_dbi_enable_flush() or custom code.

Using drm_atomic_helper_commit_tail_rpm() enables the CRTC before any
plane updates. Hence the additional plane update can be removed from
mipi_dbi_enable_flush() and a number of drivers.

This leaves backlight_enable() in the helper, which can now be inlined
into affected drivers. Drivers now enable the CRTC plus an optional
backlight and then automatically update the plane.

In the case of disabling the display, drm_atomic_helper_commit_tail_rpm()
only disables the CRTC without touching the plane at all. Mipi-dbi's
mipi_dbi_pipe_disable() already contains the necessary logic.

Removing the plane update from the CRTC enablement will also help with
converting mipi-dbi from simple-pipe helpers to regular atomic helpers.

v3:
- st7586: remove unused variable
v2:
- ili9225: remove unused variables (David)
- st7586: remove unused variables (David)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: David Lechner <david@lechnology.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://patch.msgid.link/20260319160110.109610-2-tzimmermann@suse.de
drivers/gpu/drm/drm_mipi_dbi.c
drivers/gpu/drm/sitronix/st7586.c
drivers/gpu/drm/sitronix/st7735r.c
drivers/gpu/drm/tiny/hx8357d.c
drivers/gpu/drm/tiny/ili9163.c
drivers/gpu/drm/tiny/ili9225.c
drivers/gpu/drm/tiny/ili9341.c
drivers/gpu/drm/tiny/ili9486.c
drivers/gpu/drm/tiny/mi0283qt.c
drivers/gpu/drm/tiny/panel-mipi-dbi.c
include/drm/drm_mipi_dbi.h