Loading drivers/gpu/drm/msm/msm_atomic.c +18 −9 Original line number Original line Diff line number Diff line Loading @@ -239,11 +239,14 @@ msm_disable_outputs(struct drm_device *dev, struct drm_atomic_state *old_state) DRM_DEBUG_ATOMIC("disabling [ENCODER:%d:%s]\n", DRM_DEBUG_ATOMIC("disabling [ENCODER:%d:%s]\n", encoder->base.id, encoder->name); encoder->base.id, encoder->name); if (connector->state->crtc && connector->state->crtc->state->active_changed) { blank = MSM_DRM_BLANK_POWERDOWN; blank = MSM_DRM_BLANK_POWERDOWN; notifier_data.data = ␣ notifier_data.data = ␣ notifier_data.id = crtc_idx; notifier_data.id = crtc_idx; msm_drm_notifier_call_chain(MSM_DRM_EARLY_EVENT_BLANK, msm_drm_notifier_call_chain(MSM_DRM_EARLY_EVENT_BLANK, ¬ifier_data); ¬ifier_data); } /* /* * Each encoder has at most one connector (since we always steal * Each encoder has at most one connector (since we always steal * it away), so we won't call disable hooks twice. * it away), so we won't call disable hooks twice. Loading @@ -259,9 +262,13 @@ msm_disable_outputs(struct drm_device *dev, struct drm_atomic_state *old_state) funcs->dpms(encoder, DRM_MODE_DPMS_OFF); funcs->dpms(encoder, DRM_MODE_DPMS_OFF); drm_bridge_post_disable(encoder->bridge); drm_bridge_post_disable(encoder->bridge); if (connector->state->crtc && connector->state->crtc->state->active_changed) { DRM_DEBUG_ATOMIC("Notify blank\n"); msm_drm_notifier_call_chain(MSM_DRM_EVENT_BLANK, msm_drm_notifier_call_chain(MSM_DRM_EVENT_BLANK, ¬ifier_data); ¬ifier_data); } } } for_each_crtc_in_state(old_state, crtc, old_crtc_state, i) { for_each_crtc_in_state(old_state, crtc, old_crtc_state, i) { const struct drm_crtc_helper_funcs *funcs; const struct drm_crtc_helper_funcs *funcs; Loading Loading @@ -465,7 +472,8 @@ static void msm_atomic_helper_commit_modeset_enables(struct drm_device *dev, DRM_DEBUG_ATOMIC("enabling [ENCODER:%d:%s]\n", DRM_DEBUG_ATOMIC("enabling [ENCODER:%d:%s]\n", encoder->base.id, encoder->name); encoder->base.id, encoder->name); if (connector->state->crtc->state->active_changed) { if (connector->state->crtc && connector->state->crtc->state->active_changed) { blank = MSM_DRM_BLANK_UNBLANK; blank = MSM_DRM_BLANK_UNBLANK; notifier_data.data = ␣ notifier_data.data = ␣ notifier_data.id = notifier_data.id = Loading Loading @@ -522,7 +530,8 @@ static void msm_atomic_helper_commit_modeset_enables(struct drm_device *dev, encoder->base.id, encoder->name); encoder->base.id, encoder->name); drm_bridge_enable(encoder->bridge); drm_bridge_enable(encoder->bridge); if (connector->state->crtc->state->active_changed) { if (connector->state->crtc && connector->state->crtc->state->active_changed) { DRM_DEBUG_ATOMIC("Notify unblank\n"); DRM_DEBUG_ATOMIC("Notify unblank\n"); msm_drm_notifier_call_chain(MSM_DRM_EVENT_BLANK, msm_drm_notifier_call_chain(MSM_DRM_EVENT_BLANK, ¬ifier_data); ¬ifier_data); Loading Loading
drivers/gpu/drm/msm/msm_atomic.c +18 −9 Original line number Original line Diff line number Diff line Loading @@ -239,11 +239,14 @@ msm_disable_outputs(struct drm_device *dev, struct drm_atomic_state *old_state) DRM_DEBUG_ATOMIC("disabling [ENCODER:%d:%s]\n", DRM_DEBUG_ATOMIC("disabling [ENCODER:%d:%s]\n", encoder->base.id, encoder->name); encoder->base.id, encoder->name); if (connector->state->crtc && connector->state->crtc->state->active_changed) { blank = MSM_DRM_BLANK_POWERDOWN; blank = MSM_DRM_BLANK_POWERDOWN; notifier_data.data = ␣ notifier_data.data = ␣ notifier_data.id = crtc_idx; notifier_data.id = crtc_idx; msm_drm_notifier_call_chain(MSM_DRM_EARLY_EVENT_BLANK, msm_drm_notifier_call_chain(MSM_DRM_EARLY_EVENT_BLANK, ¬ifier_data); ¬ifier_data); } /* /* * Each encoder has at most one connector (since we always steal * Each encoder has at most one connector (since we always steal * it away), so we won't call disable hooks twice. * it away), so we won't call disable hooks twice. Loading @@ -259,9 +262,13 @@ msm_disable_outputs(struct drm_device *dev, struct drm_atomic_state *old_state) funcs->dpms(encoder, DRM_MODE_DPMS_OFF); funcs->dpms(encoder, DRM_MODE_DPMS_OFF); drm_bridge_post_disable(encoder->bridge); drm_bridge_post_disable(encoder->bridge); if (connector->state->crtc && connector->state->crtc->state->active_changed) { DRM_DEBUG_ATOMIC("Notify blank\n"); msm_drm_notifier_call_chain(MSM_DRM_EVENT_BLANK, msm_drm_notifier_call_chain(MSM_DRM_EVENT_BLANK, ¬ifier_data); ¬ifier_data); } } } for_each_crtc_in_state(old_state, crtc, old_crtc_state, i) { for_each_crtc_in_state(old_state, crtc, old_crtc_state, i) { const struct drm_crtc_helper_funcs *funcs; const struct drm_crtc_helper_funcs *funcs; Loading Loading @@ -465,7 +472,8 @@ static void msm_atomic_helper_commit_modeset_enables(struct drm_device *dev, DRM_DEBUG_ATOMIC("enabling [ENCODER:%d:%s]\n", DRM_DEBUG_ATOMIC("enabling [ENCODER:%d:%s]\n", encoder->base.id, encoder->name); encoder->base.id, encoder->name); if (connector->state->crtc->state->active_changed) { if (connector->state->crtc && connector->state->crtc->state->active_changed) { blank = MSM_DRM_BLANK_UNBLANK; blank = MSM_DRM_BLANK_UNBLANK; notifier_data.data = ␣ notifier_data.data = ␣ notifier_data.id = notifier_data.id = Loading Loading @@ -522,7 +530,8 @@ static void msm_atomic_helper_commit_modeset_enables(struct drm_device *dev, encoder->base.id, encoder->name); encoder->base.id, encoder->name); drm_bridge_enable(encoder->bridge); drm_bridge_enable(encoder->bridge); if (connector->state->crtc->state->active_changed) { if (connector->state->crtc && connector->state->crtc->state->active_changed) { DRM_DEBUG_ATOMIC("Notify unblank\n"); DRM_DEBUG_ATOMIC("Notify unblank\n"); msm_drm_notifier_call_chain(MSM_DRM_EVENT_BLANK, msm_drm_notifier_call_chain(MSM_DRM_EVENT_BLANK, ¬ifier_data); ¬ifier_data); Loading