Move DCS off commands from .unprepare to .disable so that they actually reach the DSI host. Signed-off-by: Barnabás Czémán <trabarni@xxxxxxxxx> --- 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 <trabarni@xxxxxxxxx>