summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/hisilicon
diff options
context:
space:
mode:
authorXinliang Liu <xinliang.liu@linaro.org>2016-06-30 11:06:26 +0200
committerXinliang Liu <xinliang.liu@linaro.org>2016-07-04 12:49:21 +0200
commit85d8747d2a24e913fffac68024b2154db266c50c (patch)
tree19a05270284c3ad0056c4f28ccc595c9b26a2003 /drivers/gpu/drm/hisilicon
parentdrm/hisilicon: add select HISI_KIRIN_DW_DSI (diff)
downloadlinux-85d8747d2a24e913fffac68024b2154db266c50c.tar.xz
linux-85d8747d2a24e913fffac68024b2154db266c50c.zip
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>
Diffstat (limited to 'drivers/gpu/drm/hisilicon')
-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;
}