Loading drivers/gpu/drm/msm/dsi-staging/dsi_display.c +10 −1 Original line number Diff line number Diff line Loading @@ -376,7 +376,7 @@ int dsi_display_check_status(void *display) struct dsi_display *dsi_display = display; struct dsi_panel *panel; u32 status_mode; int rc = 0; int rc = 0x1; if (dsi_display == NULL) return -EINVAL; Loading @@ -385,6 +385,14 @@ int dsi_display_check_status(void *display) status_mode = panel->esd_config.status_mode; mutex_lock(&dsi_display->display_lock); if (!panel->panel_initialized) { pr_debug("Panel not initialized\n"); mutex_unlock(&dsi_display->display_lock); return rc; } dsi_display_clk_ctrl(dsi_display->dsi_clk_handle, DSI_ALL_CLKS, DSI_CLK_ON); Loading @@ -401,6 +409,7 @@ int dsi_display_check_status(void *display) dsi_display_clk_ctrl(dsi_display->dsi_clk_handle, DSI_ALL_CLKS, DSI_CLK_OFF); mutex_unlock(&dsi_display->display_lock); return rc; } Loading drivers/gpu/drm/msm/sde/sde_crtc.c +1 −10 Original line number Diff line number Diff line Loading @@ -4059,10 +4059,6 @@ static void sde_crtc_disable(struct drm_crtc *crtc) SDE_DEBUG("crtc%d\n", crtc->base.id); for (i = 0; i < cstate->num_connectors; i++) sde_connector_schedule_status_work(cstate->connectors[i], false); if (sde_kms_is_suspend_state(crtc->dev)) _sde_crtc_set_suspend(crtc, true); Loading Loading @@ -4159,15 +4155,13 @@ static void sde_crtc_enable(struct drm_crtc *crtc) struct sde_crtc_irq_info *node = NULL; struct drm_event event; u32 power_on; int ret, i; struct sde_crtc_state *cstate; int ret; if (!crtc || !crtc->dev || !crtc->dev->dev_private) { SDE_ERROR("invalid crtc\n"); return; } priv = crtc->dev->dev_private; cstate = to_sde_crtc_state(crtc->state); SDE_DEBUG("crtc%d\n", crtc->base.id); SDE_EVT32_VERBOSE(DRMID(crtc)); Loading Loading @@ -4231,9 +4225,6 @@ static void sde_crtc_enable(struct drm_crtc *crtc) SDE_POWER_EVENT_POST_ENABLE | SDE_POWER_EVENT_POST_DISABLE | SDE_POWER_EVENT_PRE_DISABLE, sde_crtc_handle_power_event, crtc, sde_crtc->name); for (i = 0; i < cstate->num_connectors; i++) sde_connector_schedule_status_work(cstate->connectors[i], true); } struct plane_state { Loading drivers/gpu/drm/msm/sde/sde_encoder.c +10 −0 Original line number Diff line number Diff line Loading @@ -2267,6 +2267,7 @@ static void sde_encoder_virt_enable(struct drm_encoder *drm_enc) struct msm_compression_info *comp_info = NULL; struct drm_display_mode *cur_mode = NULL; struct msm_mode_info mode_info; struct drm_connector *drm_conn = NULL; if (!drm_enc) { SDE_ERROR("invalid encoder\n"); Loading Loading @@ -2342,6 +2343,10 @@ static void sde_encoder_virt_enable(struct drm_encoder *drm_enc) sde_enc->cur_master->ops.enable(sde_enc->cur_master); _sde_encoder_virt_enable_helper(drm_enc); /* Enable ESD thread */ drm_conn = sde_enc->cur_master->connector; sde_connector_schedule_status_work(drm_conn, true); } static void sde_encoder_virt_disable(struct drm_encoder *drm_enc) Loading @@ -2349,6 +2354,7 @@ static void sde_encoder_virt_disable(struct drm_encoder *drm_enc) struct sde_encoder_virt *sde_enc = NULL; struct msm_drm_private *priv; struct sde_kms *sde_kms; struct drm_connector *drm_conn = NULL; int i = 0; if (!drm_enc) { Loading @@ -2370,6 +2376,10 @@ static void sde_encoder_virt_disable(struct drm_encoder *drm_enc) SDE_EVT32(DRMID(drm_enc)); /* Disable ESD thread */ drm_conn = sde_enc->cur_master->connector; sde_connector_schedule_status_work(drm_conn, false); /* wait for idle */ sde_encoder_wait_for_event(drm_enc, MSM_ENC_TX_COMPLETE); Loading Loading
drivers/gpu/drm/msm/dsi-staging/dsi_display.c +10 −1 Original line number Diff line number Diff line Loading @@ -376,7 +376,7 @@ int dsi_display_check_status(void *display) struct dsi_display *dsi_display = display; struct dsi_panel *panel; u32 status_mode; int rc = 0; int rc = 0x1; if (dsi_display == NULL) return -EINVAL; Loading @@ -385,6 +385,14 @@ int dsi_display_check_status(void *display) status_mode = panel->esd_config.status_mode; mutex_lock(&dsi_display->display_lock); if (!panel->panel_initialized) { pr_debug("Panel not initialized\n"); mutex_unlock(&dsi_display->display_lock); return rc; } dsi_display_clk_ctrl(dsi_display->dsi_clk_handle, DSI_ALL_CLKS, DSI_CLK_ON); Loading @@ -401,6 +409,7 @@ int dsi_display_check_status(void *display) dsi_display_clk_ctrl(dsi_display->dsi_clk_handle, DSI_ALL_CLKS, DSI_CLK_OFF); mutex_unlock(&dsi_display->display_lock); return rc; } Loading
drivers/gpu/drm/msm/sde/sde_crtc.c +1 −10 Original line number Diff line number Diff line Loading @@ -4059,10 +4059,6 @@ static void sde_crtc_disable(struct drm_crtc *crtc) SDE_DEBUG("crtc%d\n", crtc->base.id); for (i = 0; i < cstate->num_connectors; i++) sde_connector_schedule_status_work(cstate->connectors[i], false); if (sde_kms_is_suspend_state(crtc->dev)) _sde_crtc_set_suspend(crtc, true); Loading Loading @@ -4159,15 +4155,13 @@ static void sde_crtc_enable(struct drm_crtc *crtc) struct sde_crtc_irq_info *node = NULL; struct drm_event event; u32 power_on; int ret, i; struct sde_crtc_state *cstate; int ret; if (!crtc || !crtc->dev || !crtc->dev->dev_private) { SDE_ERROR("invalid crtc\n"); return; } priv = crtc->dev->dev_private; cstate = to_sde_crtc_state(crtc->state); SDE_DEBUG("crtc%d\n", crtc->base.id); SDE_EVT32_VERBOSE(DRMID(crtc)); Loading Loading @@ -4231,9 +4225,6 @@ static void sde_crtc_enable(struct drm_crtc *crtc) SDE_POWER_EVENT_POST_ENABLE | SDE_POWER_EVENT_POST_DISABLE | SDE_POWER_EVENT_PRE_DISABLE, sde_crtc_handle_power_event, crtc, sde_crtc->name); for (i = 0; i < cstate->num_connectors; i++) sde_connector_schedule_status_work(cstate->connectors[i], true); } struct plane_state { Loading
drivers/gpu/drm/msm/sde/sde_encoder.c +10 −0 Original line number Diff line number Diff line Loading @@ -2267,6 +2267,7 @@ static void sde_encoder_virt_enable(struct drm_encoder *drm_enc) struct msm_compression_info *comp_info = NULL; struct drm_display_mode *cur_mode = NULL; struct msm_mode_info mode_info; struct drm_connector *drm_conn = NULL; if (!drm_enc) { SDE_ERROR("invalid encoder\n"); Loading Loading @@ -2342,6 +2343,10 @@ static void sde_encoder_virt_enable(struct drm_encoder *drm_enc) sde_enc->cur_master->ops.enable(sde_enc->cur_master); _sde_encoder_virt_enable_helper(drm_enc); /* Enable ESD thread */ drm_conn = sde_enc->cur_master->connector; sde_connector_schedule_status_work(drm_conn, true); } static void sde_encoder_virt_disable(struct drm_encoder *drm_enc) Loading @@ -2349,6 +2354,7 @@ static void sde_encoder_virt_disable(struct drm_encoder *drm_enc) struct sde_encoder_virt *sde_enc = NULL; struct msm_drm_private *priv; struct sde_kms *sde_kms; struct drm_connector *drm_conn = NULL; int i = 0; if (!drm_enc) { Loading @@ -2370,6 +2376,10 @@ static void sde_encoder_virt_disable(struct drm_encoder *drm_enc) SDE_EVT32(DRMID(drm_enc)); /* Disable ESD thread */ drm_conn = sde_enc->cur_master->connector; sde_connector_schedule_status_work(drm_conn, false); /* wait for idle */ sde_encoder_wait_for_event(drm_enc, MSM_ENC_TX_COMPLETE); Loading