All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] drm/panel: Convert four panel drivers to mipi_dsi_*_multi()
@ 2026-10-13  4:34 Akash Sukhavasi
  2026-10-13  4:34 ` [PATCH 1/4] drm/panel: leadtek-ltk500hd1829: Use mipi_dsi_*_multi() Akash Sukhavasi
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Akash Sukhavasi @ 2026-10-13  4:34 UTC (permalink / raw)
  To: Doug Anderson, Neil Armstrong, Jessica Zhang, Maarten Lankhorst,
	Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter
  Cc: dri-devel, linux-kernel, Akash Sukhavasi, Heiko Stuebner,
	Chris Morgan

This series converts deprecated mipi_dsi_dcs_*() calls to their
_multi() equivalents in four panel drivers: leadtek-ltk500hd1829,
kingdisplay-kd097d04, innolux-p079zca, and newvision-nv3051d. The
first two drivers also convert mipi_dsi_generic_write().

In patches 2-4, unprepare() previously returned early when
enter_sleep_mode() failed, skipping GPIO and regulator teardown.
Because drm_panel_unprepare() leaves panel->prepared set when the
callback returns an error, the panel could not be prepared again.
These patches remove the early return, so GPIO and regulator
teardown always runs, and have unprepare() always return 0, so
drm_panel_unprepare() clears panel->prepared. Patches 2 and 3
likewise stop returning regulator disable errors from unprepare().

In patches 1, 3, and 4, the original code treated a set_display_off()
failure as non-fatal and still attempted enter_sleep_mode(). These
patches clear accum_err after set_display_off_multi() to keep that
behaviour.

All four patches are compile tested only. checkpatch and a W=1 build
are clean. Tested-by tags would be very welcome.

While converting nv3051d, I noticed that panel_nv3051d_init_sequence()
always returns 0, so init sequence errors never reach prepare(). This
series leaves that unchanged, and I plan to send a separate fix.

Signed-off-by: Akash Sukhavasi <akash.sukhavasi@gmail.com>
---
Akash Sukhavasi (4):
      drm/panel: leadtek-ltk500hd1829: Use mipi_dsi_*_multi()
      drm/panel: kingdisplay-kd097d04: Use mipi_dsi_*_multi(); fix minor bugs
      drm/panel: innolux-p079zca: Use mipi_dsi_*_multi(); fix minor bugs
      drm/panel: newvision-nv3051d: Use mipi_dsi_*_multi(); fix minor bugs

 drivers/gpu/drm/panel/panel-innolux-p079zca.c      | 43 +++++++-----------
 drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c | 53 ++++++++--------------
 drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c | 40 ++++++----------
 drivers/gpu/drm/panel/panel-newvision-nv3051d.c    | 36 ++++++---------
 4 files changed, 61 insertions(+), 111 deletions(-)
---
base-commit: 725953d4da85cfb97a4c309fad6346b72f8529e7
change-id: 20261011-mipi-multi-series-6c98bec0c75e

Best regards,
-- 
Akash Sukhavasi <akash.sukhavasi@gmail.com>


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2026-10-13  7:54 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-13  4:34 [PATCH 0/4] drm/panel: Convert four panel drivers to mipi_dsi_*_multi() Akash Sukhavasi
2026-10-13  4:34 ` [PATCH 1/4] drm/panel: leadtek-ltk500hd1829: Use mipi_dsi_*_multi() Akash Sukhavasi
2026-10-13  4:34 ` [PATCH 2/4] drm/panel: kingdisplay-kd097d04: Use mipi_dsi_*_multi(); fix minor bugs Akash Sukhavasi
2026-10-13  4:34 ` [PATCH 3/4] drm/panel: innolux-p079zca: " Akash Sukhavasi
2026-10-13  4:34 ` [PATCH 4/4] drm/panel: newvision-nv3051d: " Akash Sukhavasi
2026-10-13  4:43   ` sashiko-bot
2026-10-13  5:04     ` Akash Sukhavasi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.