Move DCS off commands from .unprepare to .disable so that they
actually reach the DSI host.

Signed-off-by: Barnabás Czémán <traba...@gmail.com>
---
 drivers/gpu/drm/panel/panel-jdi-fhd-r63452.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-jdi-fhd-r63452.c 
b/drivers/gpu/drm/panel/panel-jdi-fhd-r63452.c
index 483dc88d16d8..f7222974d6ed 100644
--- a/drivers/gpu/drm/panel/panel-jdi-fhd-r63452.c
+++ b/drivers/gpu/drm/panel/panel-jdi-fhd-r63452.c
@@ -169,6 +169,15 @@ static int jdi_fhd_r63452_prepare(struct drm_panel *panel)
 }
 
 static int jdi_fhd_r63452_unprepare(struct drm_panel *panel)
+{
+       struct jdi_fhd_r63452 *ctx = to_jdi_fhd_r63452(panel);
+
+       gpiod_set_value_cansleep(ctx->reset_gpio, 1);
+
+       return 0;
+}
+
+static int jdi_fhd_r63452_disable(struct drm_panel *panel)
 {
        struct jdi_fhd_r63452 *ctx = to_jdi_fhd_r63452(panel);
        struct device *dev = &ctx->dsi->dev;
@@ -178,8 +187,6 @@ static int jdi_fhd_r63452_unprepare(struct drm_panel *panel)
        if (ret < 0)
                dev_err(dev, "Failed to un-initialize panel: %d\n", ret);
 
-       gpiod_set_value_cansleep(ctx->reset_gpio, 1);
-
        return 0;
 }
 
@@ -219,6 +226,7 @@ static int jdi_fhd_r63452_get_modes(struct drm_panel *panel,
 static const struct drm_panel_funcs jdi_fhd_r63452_panel_funcs = {
        .prepare = jdi_fhd_r63452_prepare,
        .unprepare = jdi_fhd_r63452_unprepare,
+       .disable = jdi_fhd_r63452_disable,
        .get_modes = jdi_fhd_r63452_get_modes,
 };
 

---
base-commit: 704ba27ac55579704ba1289392448b0c66b56258
change-id: 20240509-jdi-use-disable-ee29098d9c81

Best regards,
-- 
Barnabás Czémán <traba...@gmail.com>

Reply via email to