mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
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:
parent
a89662c51b
commit
6bf93f236a
@ -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 = ␣
|
||||
notifier_data.id = crtc_idx;
|
||||
msm_drm_notifier_call_chain(MSM_DRM_EARLY_EVENT_BLANK,
|
||||
¬ifier_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,
|
||||
¬ifier_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 = ␣
|
||||
notifier_data.id =
|
||||
connector->state->crtc->index;
|
||||
DRM_DEBUG_ATOMIC("Notify early unblank\n");
|
||||
msm_drm_notifier_call_chain(MSM_DRM_EARLY_EVENT_BLANK,
|
||||
¬ifier_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,
|
||||
¬ifier_data);
|
||||
}
|
||||
}
|
||||
SDE_ATRACE_END("msm_enable");
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user