drm/msm: Move wait_for_vblanks into mdp complete_commit() hooks
authorSean Paul <seanpaul@chromium.org>
Fri, 13 Apr 2018 14:09:11 +0000 (10:09 -0400)
committerSean Paul <seanpaul@chromium.org>
Thu, 26 Jul 2018 14:40:15 +0000 (10:40 -0400)
DPU doesn't use this, so push it into the mdp drivers.

Changes in v3:
- None

Signed-off-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Rajesh Yadav <ryadav@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c
drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
drivers/gpu/drm/msm/msm_atomic.c

index 4b646bf..44d1cda 100644 (file)
@@ -125,6 +125,8 @@ static void mdp4_complete_commit(struct msm_kms *kms, struct drm_atomic_state *s
        struct drm_crtc *crtc;
        struct drm_crtc_state *crtc_state;
 
+       drm_atomic_helper_wait_for_vblanks(mdp4_kms->dev, state);
+
        /* see 119ecb7fd */
        for_each_new_crtc_in_state(state, crtc, crtc_state, i)
                drm_crtc_vblank_put(crtc);
index 6e12e27..bddd625 100644 (file)
@@ -170,6 +170,8 @@ static void mdp5_complete_commit(struct msm_kms *kms, struct drm_atomic_state *s
        struct device *dev = &mdp5_kms->pdev->dev;
        struct mdp5_global_state *global_state;
 
+       drm_atomic_helper_wait_for_vblanks(mdp5_kms->dev, state);
+
        global_state = mdp5_get_existing_global_state(mdp5_kms);
 
        if (mdp5_kms->smp)
index f0635c3..e6f1e25 100644 (file)
@@ -75,8 +75,6 @@ void msm_atomic_commit_tail(struct drm_atomic_state *state)
 
        kms->funcs->complete_commit(kms, state);
 
-       drm_atomic_helper_wait_for_vblanks(dev, state);
-
        drm_atomic_helper_commit_hw_done(state);
 
        drm_atomic_helper_cleanup_planes(dev, state);