[PATCH 00/14] drm/panel: Transition away from using mipi_dsi_*_write_seq()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Transition away from mipi_dsi_generic_write_seq() and
mipi_dsi_dcs_write_seq() to mipi_dsi_generic_write_seq_multi()
and mipi_dsi_dcs_write_seq_multi() respectively.

This is addressing one of the gpu todo items [1]

Used Coccinelle to make the code changes.Semantic patch:
@rule_1@
identifier dsi_var;
expression dsi_device;
expression list es;
@@
struct mipi_dsi_device *dsi_var = dsi_device;
+struct mipi_dsi_multi_context dsi_ctx = { .dsi = dsi_var };
<+...
-mipi_dsi_dcs_write_seq(dsi_var,es);
+mipi_dsi_dcs_write_seq_multi(&dsi_ctx,es);
...+>

//rule_2
@rule_2@
expression dsi_var;
expression list es;
identifier jdi;
@@
static int jdi_write_dcdc_registers(struct jdi_panel *jdi)
{
+struct mipi_dsi_multi_context dsi_ctx1 = { .dsi = jdi->link1 };
+struct mipi_dsi_multi_context dsi_ctx2 = { .dsi = jdi->link2 };
<+...
-mipi_dsi_generic_write_seq(jdi->link1,es);
+mipi_dsi_generic_write_seq_multi(&dsi_ctx1,es);
-mipi_dsi_generic_write_seq(jdi->link2,es);
+mipi_dsi_generic_write_seq_multi(&dsi_ctx2,es);
...+>
}

//rule_3
@rule_3@
expression dsi_var;
expression list es;
identifier jdi;
@@
struct mipi_dsi_device *dsi0 = pinfo->dsi[0];
struct mipi_dsi_device *dsi1 = pinfo->dsi[1];
+struct mipi_dsi_multi_context dsi_ctx0 = { .dsi = dsi0 };
+struct mipi_dsi_multi_context dsi_ctx1 = { .dsi = dsi1 };
<+...
-mipi_dsi_dual_dcs_write_seq(dsi0, dsi1, es);
+mipi_dsi_dual_dcs_write_seq(dsi_ctx0, dsi_ctx1, es);
...+>

[1] -> https://docs.kernel.org/gpu/todo.html#transition-away-from-using-mipi-dsi-write-seq

Signed-off-by: Anusha Srivatsa <asrivats@xxxxxxxxxx>
---
Anusha Srivatsa (14):
      drm/panel/boe-bf060y8m-aj0: Move to using mipi_dsi_dcs_write_seq_multi()
      drm/panel/ebbg-ft8719: Move to using mipi_dsi_dcs_write_seq_multi()
      drm/panel/himax-hx8394: Move to using mipi_dsi_dcs_write_seq_multi()
      drm/panel/jdi-lpm102a188a: Move to using mipi_dsi_generic_write_seq_multi()
      drm/panel/samsung-s6d7aa0: Move to using mipi_dsi_dcs_write_seq_multi()
      drm/panel/6e88a0-ams452ef01: Move to using mipi_dsi_dcs_write_seq_multi()
      drm/panel/samsung-sofef00: Move to using mipi_dsi_dcs_write_seq_multi()
      drm/panel/ls060t1sx01: Move to using mipi_dsi_dcs_write_seq_multi()
      drm/panel/sony-td4353-jdi: Move to using mipi_dsi_dcs_write_seq_multi()
      drm/panel/visionox-r66451: Move to using mipi_dsi_dcs_write_seq_multi()
      drm/panel/xpp055c272: Move to using mipi_dsi_dcs_write_seq_multi()
      drm/panel/novatek-nt36523: Move to using mipi_dsi_dcs_write_seq_multi()
      drm/panel: Remove deprecated functions
      Documentation: Update the documentation

 Documentation/gpu/todo.rst                         |   19 -
 drivers/gpu/drm/drm_mipi_dsi.c                     |   56 -
 drivers/gpu/drm/panel/panel-boe-bf060y8m-aj0.c     |   36 +-
 drivers/gpu/drm/panel/panel-ebbg-ft8719.c          |    7 +-
 drivers/gpu/drm/panel/panel-himax-hx8394.c         |  364 +++--
 drivers/gpu/drm/panel/panel-jdi-lpm102a188a.c      |   31 +-
 drivers/gpu/drm/panel/panel-novatek-nt36523.c      | 1588 ++++++++++----------
 drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c      |   88 +-
 .../drm/panel/panel-samsung-s6e88a0-ams452ef01.c   |   34 +-
 drivers/gpu/drm/panel/panel-samsung-sofef00.c      |   19 +-
 drivers/gpu/drm/panel/panel-sharp-ls060t1sx01.c    |    5 +-
 drivers/gpu/drm/panel/panel-sony-td4353-jdi.c      |   10 +-
 drivers/gpu/drm/panel/panel-visionox-r66451.c      |  118 +-
 drivers/gpu/drm/panel/panel-xinpeng-xpp055c272.c   |  113 +-
 include/drm/drm_mipi_dsi.h                         |   47 -
 15 files changed, 1244 insertions(+), 1291 deletions(-)
---
base-commit: 92514ef226f511f2ca1fb1b8752966097518edc0
change-id: 20250206-mipi-cocci-8c356b1ae765

Best regards,
-- 
Anusha Srivatsa <asrivats@xxxxxxxxxx>




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux