From: David Heidelberg <[email protected]>

The panel operated in low-power mode, with exception of changing the
brightness levels.

Signed-off-by: David Heidelberg <[email protected]>
---
 drivers/gpu/drm/panel/panel-samsung-sofef00.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-samsung-sofef00.c 
b/drivers/gpu/drm/panel/panel-samsung-sofef00.c
index e69a28628b656..8286cad385738 100644
--- a/drivers/gpu/drm/panel/panel-samsung-sofef00.c
+++ b/drivers/gpu/drm/panel/panel-samsung-sofef00.c
@@ -92,8 +92,6 @@ static int sofef00_panel_off(struct sofef00_panel *ctx)
        struct mipi_dsi_device *dsi = ctx->dsi;
        struct mipi_dsi_multi_context dsi_ctx = { .dsi = dsi };
 
-       dsi->mode_flags &= ~MIPI_DSI_MODE_LPM;
-
        mipi_dsi_dcs_set_display_off_multi(&dsi_ctx);
        mipi_dsi_msleep(&dsi_ctx, 40);
 
@@ -180,10 +178,14 @@ static int sofef00_panel_bl_update_status(struct 
backlight_device *bl)
        int err;
        u16 brightness = (u16)backlight_get_brightness(bl);
 
+       dsi->mode_flags &= ~MIPI_DSI_MODE_LPM;
+
        err = mipi_dsi_dcs_set_display_brightness_large(dsi, brightness);
        if (err < 0)
                return err;
 
+       dsi->mode_flags |= MIPI_DSI_MODE_LPM;
+
        return 0;
 }
 
@@ -234,6 +236,7 @@ static int sofef00_panel_probe(struct mipi_dsi_device *dsi)
 
        dsi->lanes = 4;
        dsi->format = MIPI_DSI_FMT_RGB888;
+       dsi->mode_flags = MIPI_DSI_MODE_LPM;
 
        ctx->panel.prepare_prev_first = true;
 

-- 
2.51.0


Reply via email to