Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9b67eb73 authored by Joonyoung Shim's avatar Joonyoung Shim Committed by Inki Dae
Browse files

drm/exynos: move triggering checking



It's better to be checking whether triggerring in fimd_trigger function.
Also it will return if in triggerring on fimd_te_handler, then it can't
execute remain codes.

Signed-off-by: default avatarJoonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
parent 3c3c9c1d
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -949,6 +949,13 @@ static void fimd_trigger(struct device *dev)
	void *timing_base = ctx->regs + driver_data->timing_base;
	u32 reg;

	 /*
	 * Skips to trigger if in triggering state, because multiple triggering
	 * requests can cause panel reset.
	 */
	if (atomic_read(&ctx->triggering))
		return;

	atomic_set(&ctx->triggering, 1);

	reg = readl(ctx->regs + VIDINTCON0);
@@ -969,13 +976,6 @@ static void fimd_te_handler(struct exynos_drm_manager *mgr)
	if (ctx->pipe < 0 || !ctx->drm_dev)
		return;

	 /*
	 * Skips to trigger if in triggering state, because multiple triggering
	 * requests can cause panel reset.
	 */
	if (atomic_read(&ctx->triggering))
		return;

	/*
	 * If there is a page flip request, triggers and handles the page flip
	 * event so that current fb can be updated into panel GRAM.