Skip to content

Commit

Permalink
drm/exynos: enable vsync interrupt while waiting for vblank
Browse files Browse the repository at this point in the history
mixer_wait_for_vblank function expects that the upcoming
vsync interrupt handler routine will clear the
wait_vsync_event atomic variable.

For this to happen, interrupts should be enabled and
disabled properly.

Signed-off-by: Rahul Sharma <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
  • Loading branch information
Rahul Sharma authored and daeinki committed Jun 24, 2014
1 parent d74ed93 commit 5d39b9e
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions drivers/gpu/drm/exynos/exynos_mixer.c
Original file line number Diff line number Diff line change
Expand Up @@ -1019,6 +1019,8 @@ static void mixer_wait_for_vblank(struct exynos_drm_manager *mgr)
}
mutex_unlock(&mixer_ctx->mixer_mutex);

drm_vblank_get(mgr->crtc->dev, mixer_ctx->pipe);

atomic_set(&mixer_ctx->wait_vsync_event, 1);

/*
Expand All @@ -1029,6 +1031,8 @@ static void mixer_wait_for_vblank(struct exynos_drm_manager *mgr)
!atomic_read(&mixer_ctx->wait_vsync_event),
HZ/20))
DRM_DEBUG_KMS("vblank wait timed out.\n");

drm_vblank_put(mgr->crtc->dev, mixer_ctx->pipe);
}

static void mixer_window_suspend(struct exynos_drm_manager *mgr)
Expand Down

0 comments on commit 5d39b9e

Please sign in to comment.