drm/msm: atomic: Do not trigger drm notifier

Change-Id: I185253d2dab8f4f88b38e95e5ac2332667b6a011
Signed-off-by: Richard Raya <rdxzv.dev@gmail.com>
This commit is contained in:
Demon000 2020-06-08 17:06:19 +02:00 committed by Richard Raya
parent a89662c51b
commit 6bf93f236a

View File

@ -216,8 +216,7 @@ msm_disable_outputs(struct drm_device *dev, struct drm_atomic_state *old_state)
struct drm_connector_state *old_conn_state;
struct drm_crtc *crtc;
struct drm_crtc_state *old_crtc_state;
struct msm_drm_notifier notifier_data;
int i, blank;
int i;
SDE_ATRACE_BEGIN("msm_disable");
for_each_connector_in_state(old_state, connector, old_conn_state, i) {
@ -257,14 +256,6 @@ msm_disable_outputs(struct drm_device *dev, struct drm_atomic_state *old_state)
DRM_DEBUG_ATOMIC("disabling [ENCODER:%d:%s]\n",
encoder->base.id, encoder->name);
if (connector->state->crtc &&
connector->state->crtc->state->active_changed) {
blank = MSM_DRM_BLANK_POWERDOWN;
notifier_data.data = &blank;
notifier_data.id = crtc_idx;
msm_drm_notifier_call_chain(MSM_DRM_EARLY_EVENT_BLANK,
&notifier_data);
}
/*
* Each encoder has at most one connector (since we always steal
* it away), so we won't call disable hooks twice.
@ -280,12 +271,6 @@ msm_disable_outputs(struct drm_device *dev, struct drm_atomic_state *old_state)
funcs->dpms(encoder, DRM_MODE_DPMS_OFF);
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,
&notifier_data);
}
}
for_each_crtc_in_state(old_state, crtc, old_crtc_state, i) {
@ -426,12 +411,10 @@ static void msm_atomic_helper_commit_modeset_enables(struct drm_device *dev,
struct drm_crtc_state *new_crtc_state;
struct drm_connector *connector;
struct drm_connector_state *new_conn_state;
struct msm_drm_notifier notifier_data;
struct msm_drm_private *priv = dev->dev_private;
struct msm_kms *kms = priv->kms;
int bridge_enable_count = 0;
int i, blank;
bool splash = false;
int i;
SDE_ATRACE_BEGIN("msm_enable");
for_each_oldnew_crtc_in_state(old_state, crtc, old_crtc_state,
@ -491,19 +474,6 @@ static void msm_atomic_helper_commit_modeset_enables(struct drm_device *dev,
DRM_DEBUG_ATOMIC("enabling [ENCODER:%d:%s]\n",
encoder->base.id, encoder->name);
if (kms && kms->funcs && kms->funcs->check_for_splash)
splash = kms->funcs->check_for_splash(kms);
if (splash || (connector->state->crtc &&
connector->state->crtc->state->active_changed)) {
blank = MSM_DRM_BLANK_UNBLANK;
notifier_data.data = &blank;
notifier_data.id =
connector->state->crtc->index;
DRM_DEBUG_ATOMIC("Notify early unblank\n");
msm_drm_notifier_call_chain(MSM_DRM_EARLY_EVENT_BLANK,
&notifier_data);
}
/*
* Each encoder has at most one connector (since we always steal
* it away), so we won't call enable hooks twice.
@ -552,13 +522,6 @@ static void msm_atomic_helper_commit_modeset_enables(struct drm_device *dev,
encoder->base.id, encoder->name);
drm_bridge_enable(encoder->bridge);
if (splash || (connector->state->crtc &&
connector->state->crtc->state->active_changed)) {
DRM_DEBUG_ATOMIC("Notify unblank\n");
msm_drm_notifier_call_chain(MSM_DRM_EVENT_BLANK,
&notifier_data);
}
}
SDE_ATRACE_END("msm_enable");
}