aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXinliang Liu <[email protected]>2016-06-30 17:06:26 +0800
committerXinliang Liu <[email protected]>2016-07-04 18:49:21 +0800
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 <[email protected]> Signed-off-by: Xinliang Liu <[email protected]>
-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)
ade_set_medianoc_qos(acrtc);
ade_display_enable(acrtc);
ade_dump_regs(ctx->base);
+ drm_crtc_vblank_on(crtc);
acrtc->enable = true;
}
@@ -498,6 +499,7 @@ static void ade_crtc_disable(struct drm_crtc *crtc)
if (!acrtc->enable)
return;
+ drm_crtc_vblank_off(crtc);
ade_power_down(ctx);
acrtc->enable = false;
}