diff options
| author | Rob Clark <robdclark@gmail.com> | 2017-10-17 09:39:53 -0400 |
|---|---|---|
| committer | Rob Clark <robdclark@gmail.com> | 2017-10-28 11:01:35 -0400 |
| commit | 0033e1b523f6d6a60ff7beaaa923cd7656a72959 (patch) | |
| tree | 24cc3b3540a9f0ecd23ab8641d6bc8f2d877ad06 /drivers | |
| parent | cae923e6bf2168d1e332977e1de224ee5da1a32c (diff) | |
drm/msm/mdp5: disable vblanks when crtc is off
Signed-off-by: Rob Clark <robdclark@gmail.com>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c index 6fcb58ab718c..436bf628ef9c 100644 --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c | |||
| @@ -422,6 +422,9 @@ static void mdp5_crtc_atomic_disable(struct drm_crtc *crtc, | |||
| 422 | if (WARN_ON(!mdp5_crtc->enabled)) | 422 | if (WARN_ON(!mdp5_crtc->enabled)) |
| 423 | return; | 423 | return; |
| 424 | 424 | ||
| 425 | /* Disable/save vblank irq handling before power is disabled */ | ||
| 426 | drm_crtc_vblank_off(crtc); | ||
| 427 | |||
| 425 | if (mdp5_cstate->cmd_mode) | 428 | if (mdp5_cstate->cmd_mode) |
| 426 | mdp_irq_unregister(&mdp5_kms->base, &mdp5_crtc->pp_done); | 429 | mdp_irq_unregister(&mdp5_kms->base, &mdp5_crtc->pp_done); |
| 427 | 430 | ||
| @@ -446,6 +449,9 @@ static void mdp5_crtc_atomic_enable(struct drm_crtc *crtc, | |||
| 446 | 449 | ||
| 447 | pm_runtime_get_sync(dev); | 450 | pm_runtime_get_sync(dev); |
| 448 | 451 | ||
| 452 | /* Restore vblank irq handling after power is enabled */ | ||
| 453 | drm_crtc_vblank_on(crtc); | ||
| 454 | |||
| 449 | mdp5_crtc_mode_set_nofb(crtc); | 455 | mdp5_crtc_mode_set_nofb(crtc); |
| 450 | 456 | ||
| 451 | mdp_irq_register(&mdp5_kms->base, &mdp5_crtc->err); | 457 | mdp_irq_register(&mdp5_kms->base, &mdp5_crtc->err); |
