MLK-22653-1 drm/imx: dpu: crtc: Send vblank event after drm_crtc_vblank_off() in...
authorLiu Ying <victor.liu@nxp.com>
Fri, 20 Sep 2019 09:39:25 +0000 (17:39 +0800)
committerLiu Ying <victor.liu@nxp.com>
Thu, 26 Sep 2019 01:44:14 +0000 (09:44 +0800)
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 <victor.liu@nxp.com>
(cherry picked from commit 5b1a8127d98daf13d9f9891dfad2589f339b63d5)

drivers/gpu/drm/imx/dpu/dpu-crtc.c

index 0d83cd3..b23c198 100644 (file)
@@ -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)