[PATCH v5 0/4] drm: Fix bug in panel driver, update MIPI support macros

Brigham Campbell
2025-07-19T08:27:02Z

This series removes the unintuitive mipi_dsi_generic_write_seq() macro
and related mipi_dsi_generic_write_chatty() method from the drm
subsystem. This is in accordance with a TODO item from Douglas Anderson
in the drm subsystem documentation. Tejas Vipin (among others) has
largely spearheaded this effort up until now, converting MIPI panel
drivers one at a time.

The second patch of the series removes the last remaining references to
mipi_dsi_generic_write_seq() in the jdi-lpm102a188a driver and updates
the driver to use the undeprecated _multi variants of MIPI functions. It
fixes a bug in the driver's unprepare function and cleans up duplicated
code using the new mipi_dsi_dual macro introduced in the first patch.

changes to v5:
- Rework mipi_dsi_dual to explicitly not support passing macros into
_func and add "dual" variants of the generic and dcs write macros.
- Make jdi-lpm102a188a use the new
mipi_dsi_dual_generic_write_seq_multi macro.
- Make local struct variable in jdi-lpm102a188a conform to reverse
christmas tree order.

changes to v4:
- Fix whitespace (I forgot to run checkpatch. Thanks for your patience
as I familiarize myself with the kernel development process)
- Initialize mipi_dsi_multi_context struct

changes to v3:
- Define new mipi_dsi_dual macro in drm_mipi_dsi.h to reduce code
duplication.
- Fix bug in lpm102a188a panel driver's unprepare function which causes
it to return a nonsensical value.
- Make lpm102a188a panel driver's unprepare function send "display off"
and "enter sleep mode" commands to both serial interfaces regardless
of whether an error occurred when sending the last command.

changes to v2:
- Remove all usages of deprecated MIPI functions from jdi-lpm102a188a
driver instead of just mipi_dsi_generic_write_seq().
- Update TODO item in drm documentation instead of removing it
entirely.

Brigham Campbell (4):
drm: Create mipi_dsi_dual* macros
drm/panel: jdi-lpm102a188a: Fix bug and clean up driver
drm: Remove unused MIPI write seq and chatty functions
drm: docs: Update task from drm TODO list

Documentation/gpu/todo.rst | 22 +-
drivers/gpu/drm/drm_mipi_dsi.c | 82 +++++---
drivers/gpu/drm/panel/panel-jdi-lpm102a188a.c | 196 ++++++------------
include/drm/drm_mipi_dsi.h | 112 ++++++++--
4 files changed, 210 insertions(+), 202 deletions(-)

v4: https://lore.kernel.org/all/20250717164053.284969-1-me@brighamcampbell.com/
v3: https://lore.kernel.org/all/20250717065757.246122-1-me@brighamcampbell.com/
v2: https://lore.kernel.org/all/20250708073901.90027-1-me@brighamcampbell.com/
v1: https://lore.kernel.org/all/20250707075659.75810-1-me@brighamcampbell.com/

base-commit: ca2a6abdaee43808034cdb218428d2ed85fd3db8

May you all have a wonderful weekend. I'll be riding my motorcycle up
Logan Canyon.
--
2.50.1