Explorar o código

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>
Xinliang Liu %!s(int64=9) %!d(string=hai) anos
pai
achega
85d8747d2a
Modificáronse 1 ficheiros con 2 adicións e 0 borrados
  1. 2 0
      drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c

+ 2 - 0
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;
 }