summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorInki Dae <inki.dae@samsung.com>2014-10-24 02:54:58 (GMT)
committerChanho Park <chanho61.park@samsung.com>2014-11-18 03:01:05 (GMT)
commit9b760e3f402bf24783c7ce61029680c805639781 (patch)
tree9979a6c86700638b9aa51a9a874431336fae5922
parent5ee187c042c420934ed721864885784313a515da (diff)
downloadlinux-3.10-9b760e3f402bf24783c7ce61029680c805639781.zip
linux-3.10-9b760e3f402bf24783c7ce61029680c805639781.tar.gz
linux-3.10-9b760e3f402bf24783c7ce61029680c805639781.tar.bz2
drm/exynos: fimd: do not call fimd_trigger in atomic context
spin lock, win_updated_lock, isn't related to fimd_trigger. Change-Id: Ia9dd215a2a4809726c357f9de4104c09ce08dc0c Signed-off-by: Inki Dae <inki.dae@samsung.com>
-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 7b3cd83..e9fb4b2 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);