summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/exynos/exynos_drm_fimd.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/exynos/exynos_drm_fimd.c')
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_fimd.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
index 7b3cd830cf2..e9fb4b2ac20 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
@@ -993,8 +993,11 @@ static int fimd_te_handler(struct exynos_drm_manager *mgr)
*/
if (atomic_read(&ctx->win_updated)) {
atomic_set(&ctx->win_updated, 0);
+ spin_unlock_irqrestore(&ctx->win_updated_lock, flags);
fimd_trigger(ctx->dev);
+
+ spin_lock_irqsave(&ctx->win_updated_lock, flags);
}
spin_unlock_irqrestore(&ctx->win_updated_lock, flags);