diff --git a/msm/dsi/dsi_panel.c b/msm/dsi/dsi_panel.c index cdfeb88e6873..b98447056ce3 100644 --- a/msm/dsi/dsi_panel.c +++ b/msm/dsi/dsi_panel.c @@ -379,7 +379,7 @@ static int dsi_panel_power_off(struct dsi_panel *panel) { int rc = 0; - if (panel->is_twm_en) { + if (panel->is_twm_en || panel->skip_panel_off) { DSI_DEBUG("TWM Enabled, skip panel power off\n"); return rc; } @@ -2085,6 +2085,9 @@ static int dsi_panel_parse_misc_features(struct dsi_panel *panel) panel->reset_gpio_always_on = utils->read_bool(utils->data, "qcom,platform-reset-gpio-always-on"); + panel->skip_panel_off = utils->read_bool(utils->data, + "qcom,skip-panel-power-off"); + panel->spr_info.enable = false; panel->spr_info.pack_type = MSM_DISPLAY_SPR_TYPE_MAX; diff --git a/msm/dsi/dsi_panel.h b/msm/dsi/dsi_panel.h index f3902274930b..3fc6baf9fd13 100644 --- a/msm/dsi/dsi_panel.h +++ b/msm/dsi/dsi_panel.h @@ -245,6 +245,7 @@ struct dsi_panel { atomic_t esd_recovery_pending; bool is_twm_en; + bool skip_panel_off; bool panel_initialized; bool te_using_watchdog_timer; struct dsi_qsync_capabilities qsync_caps;