diff options
| author | Hsieh Hung-En <hungen3108@gmail.com> | 2026-10-01 08:49:40 +0800 |
|---|---|---|
| committer | Neil Armstrong <neil.armstrong@linaro.org> | 2026-10-02 10:31:52 +0200 |
| commit | 00efe8a685658deb7033d68fcdbf0a7e6796352e (patch) | |
| tree | cbbcea21f229e859f625b6640f218c53808ffcec /drivers/gpu/drm/panel | |
| parent | f5c3d702f4ccd1e953436c6a16e542e232a743ea (diff) | |
drm/panel: ronbo-rb070d30: Ignore DCS errors in disable()
If rb070d30_panel_disable() returns an error, drm_panel_disable() skips
clearing panel->enabled. unprepare() still powers the panel off, but the
next drm_panel_enable() sees the panel as already enabled and does
nothing, so the panel stays dark.
Always return 0 from disable(). A failed ENTER_SLEEP_MODE is still logged
by mipi_dsi_dcs_enter_sleep_mode_multi().
Suggested-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Hsieh Hung-En <hungen3108@gmail.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20261001004940.110776-1-hungen3108@gmail.com
Diffstat (limited to 'drivers/gpu/drm/panel')
| -rw-r--r-- | drivers/gpu/drm/panel/panel-ronbo-rb070d30.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/gpu/drm/panel/panel-ronbo-rb070d30.c b/drivers/gpu/drm/panel/panel-ronbo-rb070d30.c index ebe6352db6c1..9adf97aba5d3 100644 --- a/drivers/gpu/drm/panel/panel-ronbo-rb070d30.c +++ b/drivers/gpu/drm/panel/panel-ronbo-rb070d30.c @@ -87,7 +87,13 @@ static int rb070d30_panel_disable(struct drm_panel *panel) struct mipi_dsi_multi_context dsi_ctx = { .dsi = ctx->dsi }; mipi_dsi_dcs_enter_sleep_mode_multi(&dsi_ctx); - return dsi_ctx.accum_err; + + /* + * Returning an error would leave panel->enabled set, causing the + * next enable to be skipped even after unprepare powers off the panel. + * The helper above already logs any command failure. + */ + return 0; } /* Default timings */ |
