mirror of https://gitee.com/openkylin/linux.git
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: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
This commit is contained in:
parent
3c3c9c1d90
commit
9b67eb7365
|
@ -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.
|
||||
|
|
Loading…
Reference in New Issue