]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 17 May 2026 15:16:31 +0000 (17:16 +0200)
commit 2d4e80271f784aa0c7b17676e9762c7e8156be1c upstream.

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
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/panel/panel-himax-hx83102.c

index 1d3bb5dca5594c82f27863a0e6938984f6fb9368..5dfec2a958f7bea7e9c2127accd380a957f24626 100644 (file)
@@ -850,6 +850,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;