From: amit <amittibi123@gmail.com>
To: neil.armstrong@linaro.org
Cc: hanxu5@huaqin.corp-partner.google.com, jesszhan0024@gmail.com,
maarten.lankhorst@linux.intel.com, mripard@kernel.org,
tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch,
icenowy@aosc.io, jagan@amarulasolutions.com, linusw@kernel.org,
robert.chiras@nxp.com, dri-devel@lists.freedesktop.org,
linux-kernel@vger.kernel.org, amit <amittibi123@gmail.com>
Subject: [PATCH] drm/panel: Replace deprecated DCS display-on calls
Date: Wed, 4 Nov 2026 09:38:13 +0200 [thread overview]
Message-ID: <20261104073813.42429-1-amittibi123@gmail.com> (raw)
Signed-off-by: amit <amittibi123@gmail.com>
---
drivers/gpu/drm/panel/panel-boe-himax8279d.c | 14 ++++++++++++--
drivers/gpu/drm/panel/panel-dsi-cm.c | 7 ++++++-
drivers/gpu/drm/panel/panel-feixin-k101-im2ba02.c | 7 +++++--
.../gpu/drm/panel/panel-feiyang-fy07024di26a30d.c | 6 +++++-
drivers/gpu/drm/panel/panel-innolux-p079zca.c | 7 ++++++-
drivers/gpu/drm/panel/panel-khadas-ts050.c | 7 ++++++-
drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c | 7 ++++++-
drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c | 7 ++++++-
drivers/gpu/drm/panel/panel-newvision-nv3051d.c | 7 ++++++-
drivers/gpu/drm/panel/panel-novatek-nt35510.c | 7 ++++++-
drivers/gpu/drm/panel/panel-raydium-rm67191.c | 7 ++++++-
drivers/gpu/drm/panel/panel-raydium-rm68200.c | 7 ++++++-
drivers/gpu/drm/panel/panel-samsung-s6e63j0x03.c | 7 ++++++-
drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.c | 7 ++++++-
14 files changed, 88 insertions(+), 16 deletions(-)
diff --git a/drivers/gpu/drm/panel/panel-boe-himax8279d.c b/drivers/gpu/drm/panel/panel-boe-himax8279d.c
index 4a8560b4b..a4b35e042 100644
--- a/drivers/gpu/drm/panel/panel-boe-himax8279d.c
+++ b/drivers/gpu/drm/panel/panel-boe-himax8279d.c
@@ -155,7 +155,12 @@ static int boe_panel_prepare(struct drm_panel *panel)
/* T6: 120ms - 121ms */
usleep_range(120000, 121000);
- err = mipi_dsi_dcs_set_display_on(pinfo->link);
+ struct mipi_dsi_multi_context dsi_ctx = {
+ .dsi = pinfo->link,
+ };
+
+ mipi_dsi_dcs_set_display_on_multi(&dsi_ctx);
+ err = dsi_ctx.accum_err;
if (err < 0) {
dev_err(panel->dev, "failed to set display on: %d\n", err);
goto poweroff;
@@ -178,7 +183,12 @@ static int boe_panel_enable(struct drm_panel *panel)
usleep_range(120000, 121000);
- ret = mipi_dsi_dcs_set_display_on(pinfo->link);
+ struct mipi_dsi_multi_context dsi_ctx = {
+ .dsi = pinfo->link,
+ };
+
+ mipi_dsi_dcs_set_display_on_multi(&dsi_ctx);
+ ret = dsi_ctx.accum_err;
if (ret < 0) {
dev_err(panel->dev, "failed to set display on: %d\n", ret);
return ret;
diff --git a/drivers/gpu/drm/panel/panel-dsi-cm.c b/drivers/gpu/drm/panel/panel-dsi-cm.c
index ae6e9ffc4..37dd2961a 100644
--- a/drivers/gpu/drm/panel/panel-dsi-cm.c
+++ b/drivers/gpu/drm/panel/panel-dsi-cm.c
@@ -289,6 +289,10 @@ static int dsicm_power_on(struct panel_drv_data *ddata)
ddata->dsi->mode_flags |= MIPI_DSI_MODE_LPM;
+ struct mipi_dsi_multi_context ctx = {
+ .dsi = ddata->dsi,
+ };
+
r = dsicm_sleep_out(ddata);
if (r)
goto err;
@@ -314,7 +318,8 @@ static int dsicm_power_on(struct panel_drv_data *ddata)
if (r)
goto err;
- r = mipi_dsi_dcs_set_display_on(ddata->dsi);
+ mipi_dsi_dcs_set_display_on_multi(&ctx);
+ r = ctx.accum_err;
if (r)
goto err;
diff --git a/drivers/gpu/drm/panel/panel-feixin-k101-im2ba02.c b/drivers/gpu/drm/panel/panel-feixin-k101-im2ba02.c
index 8c3a231c1..baa64b7ae 100644
--- a/drivers/gpu/drm/panel/panel-feixin-k101-im2ba02.c
+++ b/drivers/gpu/drm/panel/panel-feixin-k101-im2ba02.c
@@ -344,12 +344,15 @@ static int k101_im2ba02_enable(struct drm_panel *panel)
{
struct k101_im2ba02 *ctx = panel_to_k101_im2ba02(panel);
const struct k101_im2ba02_init_cmd *cmd = &timed_cmds[1];
+ struct mipi_dsi_multi_context dsi_ctx = {
+ .dsi = ctx->dsi,
+ };
int ret;
msleep(150);
- ret = mipi_dsi_dcs_set_display_on(ctx->dsi);
- if (ret < 0)
+ mipi_dsi_dcs_set_display_on_multi(&dsi_ctx);
+ if (dsi_ctx.accum_err)
return ret;
msleep(50);
diff --git a/drivers/gpu/drm/panel/panel-feiyang-fy07024di26a30d.c b/drivers/gpu/drm/panel/panel-feiyang-fy07024di26a30d.c
index c1d8ca5ca..070faf55f 100644
--- a/drivers/gpu/drm/panel/panel-feiyang-fy07024di26a30d.c
+++ b/drivers/gpu/drm/panel/panel-feiyang-fy07024di26a30d.c
@@ -93,11 +93,15 @@ static int feiyang_prepare(struct drm_panel *panel)
static int feiyang_enable(struct drm_panel *panel)
{
struct feiyang *ctx = panel_to_feiyang(panel);
+ struct mipi_dsi_multi_context dsi_ctx = {
+ .dsi = ctx->dsi,
+ };
/* T12 (video & logic signal rise + backlight rise) T12 >= 200ms */
msleep(200);
- return mipi_dsi_dcs_set_display_on(ctx->dsi);
+ mipi_dsi_dcs_set_display_on_multi(&dsi_ctx);
+ return dsi_ctx.accum_err;
}
static int feiyang_disable(struct drm_panel *panel)
diff --git a/drivers/gpu/drm/panel/panel-innolux-p079zca.c b/drivers/gpu/drm/panel/panel-innolux-p079zca.c
index 80afeeab9..300cb5a3c 100644
--- a/drivers/gpu/drm/panel/panel-innolux-p079zca.c
+++ b/drivers/gpu/drm/panel/panel-innolux-p079zca.c
@@ -117,7 +117,12 @@ static int innolux_panel_prepare(struct drm_panel *panel)
/* T6: 120ms - 1000ms*/
msleep(120);
- err = mipi_dsi_dcs_set_display_on(innolux->link);
+ struct mipi_dsi_multi_context dsi_ctx = {
+ .dsi = innolux->link,
+ };
+
+ mipi_dsi_dcs_set_display_on_multi(&dsi_ctx);
+ err = dsi_ctx.accum_err;
if (err < 0) {
dev_err(panel->dev, "failed to set display on: %d\n", err);
goto poweroff;
diff --git a/drivers/gpu/drm/panel/panel-khadas-ts050.c b/drivers/gpu/drm/panel/panel-khadas-ts050.c
index 67ca055f0..1dca6c592 100644
--- a/drivers/gpu/drm/panel/panel-khadas-ts050.c
+++ b/drivers/gpu/drm/panel/panel-khadas-ts050.c
@@ -694,7 +694,12 @@ static int khadas_ts050_panel_prepare(struct drm_panel *panel)
goto poweroff;
}
- err = mipi_dsi_dcs_set_display_on(khadas_ts050->link);
+ struct mipi_dsi_multi_context dsi_ctx = {
+ .dsi = khadas_ts050->link,
+ };
+
+ mipi_dsi_dcs_set_display_on_multi(&dsi_ctx);
+ err = dsi_ctx.accum_err;
if (err < 0) {
dev_err(panel->dev, "failed to set display on: %d\n", err);
goto poweroff;
diff --git a/drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c b/drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c
index 893af9b16..deb82404d 100644
--- a/drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c
+++ b/drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c
@@ -250,7 +250,12 @@ static int kingdisplay_panel_prepare(struct drm_panel *panel)
/* T6: 120ms */
msleep(120);
- err = mipi_dsi_dcs_set_display_on(kingdisplay->link);
+ struct mipi_dsi_multi_context dsi_ctx = {
+ .dsi = kingdisplay->link,
+ };
+
+ mipi_dsi_dcs_set_display_on_multi(&dsi_ctx);
+ err = dsi_ctx.accum_err;
if (err < 0) {
dev_err(panel->dev, "failed to set display on: %d\n", err);
goto poweroff;
diff --git a/drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c b/drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c
index ff35b62a3..f1d9e4eed 100644
--- a/drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c
+++ b/drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c
@@ -553,7 +553,12 @@ static int ltk500hd1829_prepare(struct drm_panel *panel)
/* 120ms to exit sleep mode */
msleep(120);
- ret = mipi_dsi_dcs_set_display_on(dsi);
+ struct mipi_dsi_multi_context dsi_ctx = {
+ .dsi = dsi
+ };
+
+ mipi_dsi_dcs_set_display_on_multi(&dsi_ctx);
+ ret = dsi_ctx.accum_err;
if (ret < 0) {
dev_err(panel->dev, "failed to set display on: %d\n", ret);
goto disable_iovcc;
diff --git a/drivers/gpu/drm/panel/panel-newvision-nv3051d.c b/drivers/gpu/drm/panel/panel-newvision-nv3051d.c
index 22560384e..eeb18ad87 100644
--- a/drivers/gpu/drm/panel/panel-newvision-nv3051d.c
+++ b/drivers/gpu/drm/panel/panel-newvision-nv3051d.c
@@ -303,7 +303,12 @@ static int panel_nv3051d_prepare(struct drm_panel *panel)
msleep(200);
- ret = mipi_dsi_dcs_set_display_on(dsi);
+ struct mipi_dsi_multi_context dsi_ctx = {
+ .dsi = dsi
+ };
+
+ mipi_dsi_dcs_set_display_on_multi(&dsi_ctx);
+ ret = dsi_ctx.accum_err;
if (ret < 0) {
dev_err(ctx->dev, "Failed to set display on: %d\n", ret);
goto disable_vdd;
diff --git a/drivers/gpu/drm/panel/panel-novatek-nt35510.c b/drivers/gpu/drm/panel/panel-novatek-nt35510.c
index 3189d89c7..d977b9f28 100644
--- a/drivers/gpu/drm/panel/panel-novatek-nt35510.c
+++ b/drivers/gpu/drm/panel/panel-novatek-nt35510.c
@@ -1039,7 +1039,12 @@ static int nt35510_prepare(struct drm_panel *panel)
return ret;
}
- ret = mipi_dsi_dcs_set_display_on(dsi);
+ struct mipi_dsi_multi_context dsi_ctx = {
+ .dsi = dsi
+ };
+
+ mipi_dsi_dcs_set_display_on_multi(&dsi_ctx);
+ ret = dsi_ctx.accum_err;
if (ret) {
dev_err(nt->dev, "failed to turn display on (%d)\n", ret);
return ret;
diff --git a/drivers/gpu/drm/panel/panel-raydium-rm67191.c b/drivers/gpu/drm/panel/panel-raydium-rm67191.c
index 2af6aa47a..bf9644424 100644
--- a/drivers/gpu/drm/panel/panel-raydium-rm67191.c
+++ b/drivers/gpu/drm/panel/panel-raydium-rm67191.c
@@ -371,7 +371,12 @@ static int rad_panel_enable(struct drm_panel *panel)
usleep_range(5000, 7000);
- ret = mipi_dsi_dcs_set_display_on(dsi);
+ struct mipi_dsi_multi_context dsi_ctx = {
+ .dsi = dsi
+ };
+
+ mipi_dsi_dcs_set_display_on_multi(&dsi_ctx);
+ ret = dsi_ctx.accum_err;
if (ret < 0) {
dev_err(dev, "Failed to set display ON (%d)\n", ret);
goto fail;
diff --git a/drivers/gpu/drm/panel/panel-raydium-rm68200.c b/drivers/gpu/drm/panel/panel-raydium-rm68200.c
index c535dc931..38993f821 100644
--- a/drivers/gpu/drm/panel/panel-raydium-rm68200.c
+++ b/drivers/gpu/drm/panel/panel-raydium-rm68200.c
@@ -281,7 +281,12 @@ static int rm68200_prepare(struct drm_panel *panel)
msleep(125);
- ret = mipi_dsi_dcs_set_display_on(dsi);
+ struct mipi_dsi_multi_context dsi_ctx = {
+ .dsi = dsi
+ };
+
+ mipi_dsi_dcs_set_display_on_multi(&dsi_ctx);
+ ret = dsi_ctx.accum_err;
if (ret)
return ret;
diff --git a/drivers/gpu/drm/panel/panel-samsung-s6e63j0x03.c b/drivers/gpu/drm/panel/panel-samsung-s6e63j0x03.c
index 1f825d995..36edb80b1 100644
--- a/drivers/gpu/drm/panel/panel-samsung-s6e63j0x03.c
+++ b/drivers/gpu/drm/panel/panel-samsung-s6e63j0x03.c
@@ -389,7 +389,12 @@ static int s6e63j0x03_enable(struct drm_panel *panel)
if (ret < 0)
return ret;
- ret = mipi_dsi_dcs_set_display_on(dsi);
+ struct mipi_dsi_multi_context dsi_ctx = {
+ .dsi = dsi
+ };
+
+ mipi_dsi_dcs_set_display_on_multi(&dsi_ctx);
+ ret = dsi_ctx.accum_err;
if (ret < 0)
return ret;
diff --git a/drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.c b/drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.c
index d159b0e4f..e462c47f6 100644
--- a/drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.c
+++ b/drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.c
@@ -206,7 +206,12 @@ static int sharp_panel_prepare(struct drm_panel *panel)
goto poweroff;
}
- err = mipi_dsi_dcs_set_display_on(sharp->link1);
+ struct mipi_dsi_multi_context dsi_ctx = {
+ .dsi = sharp->link1,
+ };
+
+ mipi_dsi_dcs_set_display_on_multi(&dsi_ctx);
+ err = dsi_ctx.accum_err;
if (err < 0) {
dev_err(panel->dev, "failed to set display on: %d\n", err);
goto poweroff;
--
2.54.0
next reply other threads:[~2026-11-04 7:38 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-04 7:38 amit [this message]
2026-11-04 12:11 ` Linus Walleij
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261104073813.42429-1-amittibi123@gmail.com \
--to=amittibi123@gmail.com \
--cc=airlied@gmail.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=hanxu5@huaqin.corp-partner.google.com \
--cc=icenowy@aosc.io \
--cc=jagan@amarulasolutions.com \
--cc=jesszhan0024@gmail.com \
--cc=linusw@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=robert.chiras@nxp.com \
--cc=simona@ffwll.ch \
--cc=tzimmermann@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®