Browse Source

drm/msm/mdp5: disable vblanks when crtc is off

Signed-off-by: Rob Clark <robdclark@gmail.com>
Rob Clark 7 years ago
parent
commit
0033e1b523
1 changed files with 6 additions and 0 deletions
  1. 6 0
      drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c

+ 6 - 0
drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c

@@ -422,6 +422,9 @@ static void mdp5_crtc_atomic_disable(struct drm_crtc *crtc,
 	if (WARN_ON(!mdp5_crtc->enabled))
 		return;
 
+	/* Disable/save vblank irq handling before power is disabled */
+	drm_crtc_vblank_off(crtc);
+
 	if (mdp5_cstate->cmd_mode)
 		mdp_irq_unregister(&mdp5_kms->base, &mdp5_crtc->pp_done);
 
@@ -446,6 +449,9 @@ static void mdp5_crtc_atomic_enable(struct drm_crtc *crtc,
 
 	pm_runtime_get_sync(dev);
 
+	/* Restore vblank irq handling after power is enabled */
+	drm_crtc_vblank_on(crtc);
+
 	mdp5_crtc_mode_set_nofb(crtc);
 
 	mdp_irq_register(&mdp5_kms->base, &mdp5_crtc->err);