Browse Source

drm/msm: Grab a vblank reference when waiting for commit_done

Similar to the atomic helpers, we should enable vblank while we're
waiting for the commit to finish. DPU needs this, MDP5 seems to work
fine without it.

Reviewed-by: Abhinav Kumar <abhinavk@codeaurora.org>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
Sean Paul 6 years ago
parent
commit
3b712e43e3
1 changed files with 5 additions and 0 deletions
  1. 5 0
      drivers/gpu/drm/msm/msm_atomic.c

+ 5 - 0
drivers/gpu/drm/msm/msm_atomic.c

@@ -34,7 +34,12 @@ static void msm_atomic_wait_for_commit_done(struct drm_device *dev,
 		if (!new_crtc_state->active)
 			continue;
 
+		if (drm_crtc_vblank_get(crtc))
+			continue;
+
 		kms->funcs->wait_for_crtc_commit_done(kms, crtc);
+
+		drm_crtc_vblank_put(crtc);
 	}
 }