All Exynos CRTC drivers shouldn't fail at referencing vblank events,
alternate path is actually dead code.

Signed-off-by: Andrzej Hajda <a.ha...@samsung.com>
---
 drivers/gpu/drm/exynos/exynos_drm_crtc.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos_drm_crtc.c 
b/drivers/gpu/drm/exynos/exynos_drm_crtc.c
index 0620d3c..9184974 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_crtc.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_crtc.c
@@ -105,16 +105,15 @@ void exynos_crtc_handle_event(struct exynos_drm_crtc 
*exynos_crtc)
        struct drm_pending_vblank_event *event = crtc->state->event;
        unsigned long flags;
 
-       if (event) {
-               crtc->state->event = NULL;
-               spin_lock_irqsave(&crtc->dev->event_lock, flags);
-               if (drm_crtc_vblank_get(crtc) == 0)
-                       drm_crtc_arm_vblank_event(crtc, event);
-               else
-                       drm_crtc_send_vblank_event(crtc, event);
-               spin_unlock_irqrestore(&crtc->dev->event_lock, flags);
-       }
+       if (!event)
+               return;
+       crtc->state->event = NULL;
+
+       WARN_ON(drm_crtc_vblank_get(crtc) != 0);
 
+       spin_lock_irqsave(&crtc->dev->event_lock, flags);
+       drm_crtc_arm_vblank_event(crtc, event);
+       spin_unlock_irqrestore(&crtc->dev->event_lock, flags);
 }
 
 static void exynos_drm_crtc_destroy(struct drm_crtc *crtc)
-- 
2.7.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to