[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250213-mipi_cocci_multi-v1-0-67d94ff319cc@redhat.com>
Date: Thu, 13 Feb 2025 15:44:17 -0500
From: Anusha Srivatsa <asrivats@...hat.com>
To: Neil Armstrong <neil.armstrong@...aro.org>,
Jessica Zhang <quic_jesszhan@...cinc.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>, Thomas Zimmermann <tzimmermann@...e.de>,
David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
Joel Selvaraj <jo@...amily.in>, Ondrej Jirman <megi@....cz>,
Javier Martinez Canillas <javierm@...hat.com>,
Jianhua Lu <lujianhua000@...il.com>, Robert Chiras <robert.chiras@....com>,
Artur Weber <aweber.kernel@...il.com>, Jonathan Corbet <corbet@....net>
Cc: dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org,
linux-doc@...r.kernel.org, Anusha Srivatsa <asrivats@...hat.com>,
Douglas Anderson <dianders@...omium.org>
Subject: [PATCH 00/20] drm/panel: Move to using mipi_dsi_*_multi() variants
when available
A lot of mipi API are deprecated and have a _multi() variant
which is the preferred way forward. This covers TODO in the
gpu Documentation:[1]
An incomplete effort was made in the previous version
to address this[2]. It removed on the mipi_dsi_dcs_write_seq()
and mipi_dsi_generic_write_seq_multi() with the respective
replacemts and not the rest of the API.
The Coccinelle patch used to mkae changes:
@rule_1@
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_2@
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);
...+>
@rule_3@
identifier func;
identifier r;
type t;
expression list es;
position p;
@@
t func(...) {
<+...
(
-mipi_dsi_dcs_write_seq(dsi_var,es);
+mipi_dsi_dcs_write_seq_multi(&dsi_ctx,es);
|
-r = mipi_dsi_dcs_exit_sleep_mode(jdi->link1)@p;
+mipi_dsi_dcs_exit_sleep_mode_multi(&dsi_ctx1);
|
-r = mipi_dsi_dcs_enter_sleep_mode(jdi->link1)@p;
+mipi_dsi_dcs_enter_sleep_mode_multi(&dsi_ctx1);
|
-r = mipi_dsi_dcs_set_display_off(jdi->link1)@p;
+mipi_dsi_dcs_set_display_off_multi(&dsi_ctx1);
|
.....//rest of the mipi APIs with _multi variant
)
<+...
-if(r < 0) {
-...
-}
...+>
[1] -> https://docs.kernel.org/gpu/todo.html#transition-away-from-using-mipi-dsi-write-seq
[2] -> https://patchwork.freedesktop.org/series/144446/
Signed-off-by: Anusha Srivatsa <asrivats@...hat.com>
---
Anusha Srivatsa (20):
drm/panel/xpp055c272: Move to using mipi_dsi_*_multi() variants
drm/panel/visionox-r66451: Move to using mipi_dsi_*_multi() variants
drm/panel/asus-tm5p5-n35596: Move to using mipi_dsi_*_multi() variants
drm/panel/boe-bf060y8m-aj0: Move to using mipi_dsi_*_multi() variants
drm/panel/dsi-cm: Move to using mipi_dsi_*_multi() variants
drm/panel/sony-nt35521: Move to using mipi_dsi_*_multi() variants
drm/panel/ebbg-ft8719: Move to using mipi_dsi_*_multi() variants
drm/panel/himax-hx8394: Move to using mipi_dsi_*_multi() variants
drm/panel/jdi-lpm102a188a: Move to using mipi_dsi_*_multi() variants
drm/panel/jdi-lt070me05000: Move to using mipi_dsi_*_multi() variants
drm/panel/novatek-nt36523: Move to using mipi_dsi_*_multi() variants
drm/panel/raydium-rm67191: Move to using mipi_dsi_*_multi() variants
drm/panel/samsung-s6d7aa0:Move to using mipi_dsi_*_multi() variants
drm/panel/s6e88a0-ams452ef01: Move to using mipi_dsi_*_multi() variants
drm/panel/samsung-sofef00: Move to using mipi_dsi_*_multi() variants
drm/panel/ls043t1le01: Move to using mipi_dsi_*_multi() variants
drm/panel/ls060t1sx01: Move to using mipi_dsi_*_multi() variants
drm/panel/sony-td4353-jdi: Move to using mipi_dsi_*_multi() variants
drm/panel: Remove deprecated functions
Documentation: Update the documentation
Documentation/gpu/todo.rst | 19 -
drivers/gpu/drm/drm_mipi_dsi.c | 56 -
.../gpu/drm/panel/panel-asus-z00t-tm5p5-n35596.c | 6 +-
drivers/gpu/drm/panel/panel-boe-bf060y8m-aj0.c | 75 +-
drivers/gpu/drm/panel/panel-dsi-cm.c | 44 +-
drivers/gpu/drm/panel/panel-ebbg-ft8719.c | 45 +-
drivers/gpu/drm/panel/panel-himax-hx8394.c | 389 +++--
drivers/gpu/drm/panel/panel-jdi-lpm102a188a.c | 141 +-
drivers/gpu/drm/panel/panel-jdi-lt070me05000.c | 81 +-
drivers/gpu/drm/panel/panel-novatek-nt36523.c | 1678 ++++++++++----------
drivers/gpu/drm/panel/panel-raydium-rm67191.c | 60 +-
drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c | 101 +-
.../drm/panel/panel-samsung-s6e88a0-ams452ef01.c | 63 +-
drivers/gpu/drm/panel/panel-samsung-sofef00.c | 54 +-
drivers/gpu/drm/panel/panel-sharp-ls043t1le01.c | 28 +-
drivers/gpu/drm/panel/panel-sharp-ls060t1sx01.c | 34 +-
drivers/gpu/drm/panel/panel-sony-td4353-jdi.c | 71 +-
.../gpu/drm/panel/panel-sony-tulip-truly-nt35521.c | 6 +-
drivers/gpu/drm/panel/panel-visionox-r66451.c | 156 +-
drivers/gpu/drm/panel/panel-xinpeng-xpp055c272.c | 138 +-
include/drm/drm_mipi_dsi.h | 47 -
21 files changed, 1432 insertions(+), 1860 deletions(-)
---
base-commit: febbc555cf0fff895546ddb8ba2c9a523692fb55
change-id: 20250211-mipi_cocci_multi-440af15236c2
Best regards,
--
Anusha Srivatsa <asrivats@...hat.com>
Powered by blists - more mailing lists