]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/panel: himax-hx83102: restore MODE_LPM after sending disable cmds
authorIcenowy Zheng <zhengxingda@iscas.ac.cn>
Sat, 25 Apr 2026 16:57:51 +0000 (00:57 +0800)
committerNeil Armstrong <neil.armstrong@linaro.org>
Tue, 5 May 2026 12:43:36 +0000 (14:43 +0200)
When preparing the panel, it seems that it always expects commands to be
transferred in LP mode. However, the disable function removes the
MIPI_DSI_MODE_LPM flag, and no other function re-adds it.

As the unprepare function contains no DSI commands, re-adding the flag
just after disabling the panel should be safe. Add the code re-adding
the flag after the two commands for disabling the panel are sent.

This fixes screen unblanking (after blanking once) on
mt8188-geralt-ciri-sku1 device.

Cc: stable@vger.kernel.org # 6.11+
Fixes: 0ef94554dc40 ("drm/panel: himax-hx83102: Break out as separate driver")
Signed-off-by: Icenowy Zheng <zhengxingda@iscas.ac.cn>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20260425165751.1716569-1-zhengxingda@iscas.ac.cn
drivers/gpu/drm/panel/panel-himax-hx83102.c

index 8b2a68ee851e3950b3ed464b827646c648fa35a6..a5e5c9ea7a73f561b48a1accb28b5d5318473cb7 100644 (file)
@@ -937,6 +937,8 @@ static int hx83102_disable(struct drm_panel *panel)
        mipi_dsi_dcs_set_display_off_multi(&dsi_ctx);
        mipi_dsi_dcs_enter_sleep_mode_multi(&dsi_ctx);
 
+       dsi->mode_flags |= MIPI_DSI_MODE_LPM;
+
        mipi_dsi_msleep(&dsi_ctx, 150);
 
        return dsi_ctx.accum_err;