diff --git a/msm/dsi/dsi_drm.c b/msm/dsi/dsi_drm.c index 4ce96806851e..8adea12ae80b 100644 --- a/msm/dsi/dsi_drm.c +++ b/msm/dsi/dsi_drm.c @@ -1094,6 +1094,9 @@ int dsi_conn_post_kickoff(struct drm_connector *connector, dsi_ctrl_setup_avr(display->ctrl[i].ctrl, enable); } + if (display->drm_conn) + sde_connector_helper_post_kickoff(display->drm_conn); + return 0; } diff --git a/msm/sde/sde_connector.c b/msm/sde/sde_connector.c index c31c9731bd13..aa1bc31e47fd 100644 --- a/msm/sde/sde_connector.c +++ b/msm/sde/sde_connector.c @@ -945,6 +945,17 @@ void sde_connector_helper_bridge_disable(struct drm_connector *connector) } void sde_connector_helper_bridge_enable(struct drm_connector *connector) +{ + struct sde_connector *c_conn = NULL; + + if (!connector) + return; + + c_conn = to_sde_connector(connector); + c_conn->panel_dead = false; +} + +void sde_connector_helper_post_kickoff(struct drm_connector *connector) { struct sde_connector *c_conn = NULL; struct dsi_display *display; @@ -976,7 +987,6 @@ void sde_connector_helper_bridge_enable(struct drm_connector *connector) c_conn->bl_device->props.state &= ~BL_CORE_FBBLANK; backlight_update_status(c_conn->bl_device); } - c_conn->panel_dead = false; } int sde_connector_clk_ctrl(struct drm_connector *connector, bool enable) diff --git a/msm/sde/sde_connector.h b/msm/sde/sde_connector.h index aad04d29f2f4..2e02ef640d2d 100644 --- a/msm/sde/sde_connector.h +++ b/msm/sde/sde_connector.h @@ -1086,4 +1086,10 @@ int sde_connector_get_panel_vfp(struct drm_connector *connector, */ int sde_connector_esd_status(struct drm_connector *connector); +/** + * sde_connector_helper_post_kickoff - helper function for drm connector post kickoff + * @connector: Pointer to DRM connector object + */ +void sde_connector_helper_post_kickoff(struct drm_connector *connector); + #endif /* _SDE_CONNECTOR_H_ */