From 1a5f4f4efe09ae8b3575d30e52f59e7293bccd8d Mon Sep 17 00:00:00 2001 From: Liu Ying Date: Fri, 20 Sep 2019 17:39:25 +0800 Subject: [PATCH] MLK-22653-1 drm/imx: dpu: crtc: Send vblank event after drm_crtc_vblank_off() in ->atomic_disable() The Kdoc for the event entry of struct drm_crtc_state mentions that the simplest way to send vblank event when a CRTC is being disabled is that calling drm_crtc_send_vblank_event() somewhen after drm_crtc_vblank_off() has been called. This patch takes the way mentioned above to send vblank event in the ->atomic_disable() callback. Signed-off-by: Liu Ying (cherry picked from commit 5b1a8127d98daf13d9f9891dfad2589f339b63d5) --- drivers/gpu/drm/imx/dpu/dpu-crtc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/imx/dpu/dpu-crtc.c b/drivers/gpu/drm/imx/dpu/dpu-crtc.c index 0d83cd3608ca..b23c1988bd50 100644 --- a/drivers/gpu/drm/imx/dpu/dpu-crtc.c +++ b/drivers/gpu/drm/imx/dpu/dpu-crtc.c @@ -311,6 +311,8 @@ static void dpu_crtc_atomic_disable(struct drm_crtc *crtc, framegen_disable_clock(dpu_crtc->fg); } + drm_crtc_vblank_off(crtc); + WARN_ON(!crtc->state->event); if (crtc->state->event) { @@ -320,8 +322,6 @@ static void dpu_crtc_atomic_disable(struct drm_crtc *crtc, crtc->state->event = NULL; } - - drm_crtc_vblank_off(crtc); } static void dpu_drm_crtc_reset(struct drm_crtc *crtc) -- 2.17.1