Message ID | 20200701103126.1512615-11-megous@megous.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add support for PinePhone LCD panel | expand |
Hi, On Wed, Jul 01, 2020 at 12:31:23PM +0200, Ondrej Jirman wrote: > The datasheet suggests to issue sleep in after display off > as a part of the panel's shutdown sequence. Out of curiosity: which exact datasheet did you use? Reviewed-by: Guido Günther <agx@sigxcpu.org> > > 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 5cd5503f894f..0c4167994d01 100644 > --- a/drivers/gpu/drm/panel/panel-sitronix-st7703.c > +++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c > @@ -395,8 +395,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) > -- > 2.27.0 >
diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7703.c b/drivers/gpu/drm/panel/panel-sitronix-st7703.c index 5cd5503f894f..0c4167994d01 100644 --- a/drivers/gpu/drm/panel/panel-sitronix-st7703.c +++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c @@ -395,8 +395,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)