aa5ab7f
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
aa5ab7f
From: Ondrej Jirman <megous@megous.com>
aa5ab7f
Date: Fri, 26 Jun 2020 02:55:58 +0200
aa5ab7f
Subject: [PATCH] drm/panel: st7703: Enter sleep after display off
aa5ab7f
aa5ab7f
The datasheet suggests to issue sleep in after display off
aa5ab7f
as a part of the panel's shutdown sequence.
aa5ab7f
aa5ab7f
Signed-off-by: Ondrej Jirman <megous@megous.com>
aa5ab7f
---
aa5ab7f
 drivers/gpu/drm/panel/panel-sitronix-st7703.c | 13 ++++++++++++-
aa5ab7f
 1 file changed, 12 insertions(+), 1 deletion(-)
aa5ab7f
aa5ab7f
diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7703.c b/drivers/gpu/drm/panel/panel-sitronix-st7703.c
aa5ab7f
index 33611419059a..e771281eb547 100644
aa5ab7f
--- a/drivers/gpu/drm/panel/panel-sitronix-st7703.c
aa5ab7f
+++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c
aa5ab7f
@@ -394,8 +394,19 @@ static int st7703_disable(struct drm_panel *panel)
aa5ab7f
 {
aa5ab7f
 	struct st7703 *ctx = panel_to_st7703(panel);
aa5ab7f
 	struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
aa5ab7f
+	int ret;
aa5ab7f
+
aa5ab7f
+	ret = mipi_dsi_dcs_set_display_off(dsi);
aa5ab7f
+	if (ret < 0)
aa5ab7f
+		DRM_DEV_ERROR(ctx->dev,
aa5ab7f
+			      "Failed to turn off the display: %d\n", ret);
aa5ab7f
aa5ab7f
-	return mipi_dsi_dcs_set_display_off(dsi);
aa5ab7f
+	ret = mipi_dsi_dcs_enter_sleep_mode(dsi);
aa5ab7f
+	if (ret < 0)
aa5ab7f
+		DRM_DEV_ERROR(ctx->dev,
aa5ab7f
+			      "Failed to enter sleep mode: %d\n", ret);
aa5ab7f
+
aa5ab7f
+	return 0;
aa5ab7f
 }
aa5ab7f
aa5ab7f
 static int st7703_unprepare(struct drm_panel *panel)
aa5ab7f
-- 
aa5ab7f
2.26.2
aa5ab7f