drm/exynos: fimd: move handle vblank position in TE handler
authorYoungJun Cho <yj44.cho@samsung.com>
Thu, 23 Oct 2014 06:56:21 +0000 (15:56 +0900)
committerChanho Park <chanho61.park@samsung.com>
Tue, 18 Nov 2014 03:01:04 +0000 (12:01 +0900)
For providing VBLANK information, drm_handle_vblank() should
be called properly, but it is blocked by wait_vsync_event
condition which is set by manager_ops->wait_for_vblank().
So moves it out from wait_vsync_event routine.

Change-Id: Id5fc56f65d582fd90ef261f50b302f12ef890353
Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
Acked-by: Inki Dae <inki.dae@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/exynos/exynos_drm_fimd.c

index e7cc2ab..7b3cd83 100644 (file)
@@ -1003,11 +1003,11 @@ static int fimd_te_handler(struct exynos_drm_manager *mgr)
        if (atomic_read(&ctx->wait_vsync_event)) {
                atomic_set(&ctx->wait_vsync_event, 0);
                wake_up(&ctx->wait_vsync_queue);
-
-               if (!atomic_read(&ctx->triggering))
-                       drm_handle_vblank(ctx->drm_dev, ctx->pipe);
        }
 
+       if (!atomic_read(&ctx->triggering))
+               drm_handle_vblank(ctx->drm_dev, ctx->pipe);
+
        return 0;
 }