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

Doug Anderson dianders at chromium.org
Tue Jul 29 15:42:58 UTC 2025


Hi,

On Mon, Jul 21, 2025 at 6:53 PM Brigham Campbell <me at brighamcampbell.com> wrote:
>
> 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* macros introduced in the first patch.
>
> changes to v6:
>  - Fix various style and kerneldoc issues in patch 1/4
>  - Fix typo mpi_dsi_dual... -> mipi_dsi_dual...
>  - Fix incorrectly named "data" and "len" variables
>  - Make _seq argument of mipi_dsi_dual_dcs_write_seq_multi macro
>    variadic
>  - Remove duplicate definition of mipi_dsi_dual_dcs_write_seq_multi
>    macro from novatek display driver
>
> 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 ++---
>  drivers/gpu/drm/panel/panel-novatek-nt36523.c | 804 +++++++++---------
>  include/drm/drm_mipi_dsi.h                    | 118 ++-
>  5 files changed, 614 insertions(+), 608 deletions(-)

Pushed all 4 to drm-misc-next. Technically one of them has a minor
bugfix as mentioned in the commit message, but it's VERY minor (I
didn't even think it needed a Fixes tag) so I didn't worry about
trying to get it into drm-misc-fixes...

[1/4] drm: Create mipi_dsi_dual* macros
      commit: d94a2a00d2b8878678607c2969fee3b4e59126cb
[2/4] drm/panel: jdi-lpm102a188a: Fix bug and clean up driver
      commit: a6adf47d30cccaf3c1936ac9de94948c140e17dd
[3/4] drm: Remove unused MIPI write seq and chatty functions
      commit: 79b6bb18f849818140dd351f6e76a097efe99e9f
[4/4] drm: docs: Update task from drm TODO list
      commit: 85c23f28905cf20a86ceec3cfd7a0a5572c9eb13

-Doug


More information about the dri-devel mailing list