From: Liu Ying Date: Fri, 20 Sep 2019 09:39:25 +0000 (+0800) Subject: MLK-22653-1 drm/imx: dpu: crtc: Send vblank event after drm_crtc_vblank_off() in... X-Git-Tag: rel_imx_4.19.35_1.1.0~37 X-Git-Url: https://git.somdevices.com/?a=commitdiff_plain;h=1a5f4f4efe09ae8b3575d30e52f59e7293bccd8d;p=linux.git 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) --- 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)