aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXinliang Liu <xinliang.liu@linaro.org>2016-06-30 05:06:26 -0400
committerXinliang Liu <xinliang.liu@linaro.org>2016-07-04 06:49:21 -0400
commit85d8747d2a24e913fffac68024b2154db266c50c (patch)
tree19a05270284c3ad0056c4f28ccc595c9b26a2003
parent755ee12daf99cc82d4f2d991757e6841f0800c54 (diff)
drm/hisilicon: Fix ADE vblank on/off handling
Vblank turn on should be called in crtc's enable callback. And turn off called in crtc's disable callback. Thanks to Daniel Vetter, this bug is reported by him. Reported-by: Daniel Vetter <daniel.vetter@intel.com> Signed-off-by: Xinliang Liu <xinliang.liu@linaro.org>
-rw-r--r--drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
index 16834f4b9156..c3707d47cd89 100644
--- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
+++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
@@ -487,6 +487,7 @@ static void ade_crtc_enable(struct drm_crtc *crtc)
487 ade_set_medianoc_qos(acrtc); 487 ade_set_medianoc_qos(acrtc);
488 ade_display_enable(acrtc); 488 ade_display_enable(acrtc);
489 ade_dump_regs(ctx->base); 489 ade_dump_regs(ctx->base);
490 drm_crtc_vblank_on(crtc);
490 acrtc->enable = true; 491 acrtc->enable = true;
491} 492}
492 493
@@ -498,6 +499,7 @@ static void ade_crtc_disable(struct drm_crtc *crtc)
498 if (!acrtc->enable) 499 if (!acrtc->enable)
499 return; 500 return;
500 501
502 drm_crtc_vblank_off(crtc);
501 ade_power_down(ctx); 503 ade_power_down(ctx);
502 acrtc->enable = false; 504 acrtc->enable = false;
503} 505}