drm/imx: only send event on crtc disable if kept disabled
authorRobert Beckett <bob.beckett@collabora.com>
Tue, 25 Jun 2019 17:59:15 +0000 (18:59 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 10 Jul 2019 07:53:44 +0000 (09:53 +0200)
commit 5aeab2bfc9ffa72d3ca73416635cb3785dfc076f upstream.

The event will be sent as part of the vblank enable during the modeset
if the crtc is not being kept disabled.

Fixes: 5f2f911578fb ("drm/imx: atomic phase 3 step 1: Use atomic configuration")

Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/imx/ipuv3-crtc.c

index 1b5870e..ff34f9b 100644 (file)
@@ -101,7 +101,7 @@ static void ipu_crtc_atomic_disable(struct drm_crtc *crtc,
        drm_crtc_vblank_off(crtc);
 
        spin_lock_irq(&crtc->dev->event_lock);
-       if (crtc->state->event) {
+       if (crtc->state->event && !crtc->state->active) {
                drm_crtc_send_vblank_event(crtc, crtc->state->event);
                crtc->state->event = NULL;
        }