drm/exynos: fimd: unify call to exynos_drm_crtc_finish_pageflip()
authorGustavo Padovan <gustavo.padovan@collabora.co.uk>
Sat, 15 Aug 2015 16:26:11 +0000 (13:26 -0300)
committerInki Dae <daeinki@gmail.com>
Sun, 30 Aug 2015 15:27:36 +0000 (00:27 +0900)
Unify handling of finished plane update to prepare for a following patch
that will check for the START and START_S regs to really make sure that
the plane was updated.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/exynos/exynos_drm_fimd.c

index 5def6bc073ebb222ea4656a865108efd557a0eb2..30c1409702bb81eeeb9477bce93f88f3b566054f 100644 (file)
@@ -896,15 +896,15 @@ static irqreturn_t fimd_irq_handler(int irq, void *dev_id)
        if (ctx->pipe < 0 || !ctx->drm_dev)
                goto out;
 
-       if (ctx->i80_if) {
-               exynos_drm_crtc_finish_pageflip(ctx->crtc);
+       if (!ctx->i80_if)
+               drm_crtc_handle_vblank(&ctx->crtc->base);
+
+       exynos_drm_crtc_finish_pageflip(ctx->crtc);
 
+       if (ctx->i80_if) {
                /* Exits triggering mode */
                atomic_set(&ctx->triggering, 0);
        } else {
-               drm_crtc_handle_vblank(&ctx->crtc->base);
-               exynos_drm_crtc_finish_pageflip(ctx->crtc);
-
                /* set wait vsync event to zero and wake up queue. */
                if (atomic_read(&ctx->wait_vsync_event)) {
                        atomic_set(&ctx->wait_vsync_event, 0);