The datasheet suggests to issue sleep in after display off as a part of the panel's shutdown sequence.
Signed-off-by: Ondrej Jirman megous@megous.com Reviewed-by: Linus Walleij linus.walleij@linaro.org --- drivers/gpu/drm/panel/panel-sitronix-st7703.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7703.c b/drivers/gpu/drm/panel/panel-sitronix-st7703.c index dadb482b244d..7750179bca60 100644 --- a/drivers/gpu/drm/panel/panel-sitronix-st7703.c +++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c @@ -393,8 +393,19 @@ static int st7703_disable(struct drm_panel *panel) { struct st7703 *ctx = panel_to_st7703(panel); struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev); + int ret; + + ret = mipi_dsi_dcs_set_display_off(dsi); + if (ret < 0) + DRM_DEV_ERROR(ctx->dev, + "Failed to turn off the display: %d\n", ret);
- return mipi_dsi_dcs_set_display_off(dsi); + ret = mipi_dsi_dcs_enter_sleep_mode(dsi); + if (ret < 0) + DRM_DEV_ERROR(ctx->dev, + "Failed to enter sleep mode: %d\n", ret); + + return 0; }
static int st7703_unprepare(struct drm_panel *panel)