Hi JoonYoung, On 11/14/2014 11:36 AM, Joonyoung Shim wrote:
The drm_handle_vblank should be called whenever be vsync, te interrupt means vsync on i80 interface.
That's right.
Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> --- Based on lastest exynos-drm-next branch and patch of Youngjun Cho ("drm/exynos: fimd: move handle vblank position in TE handler"). drivers/gpu/drm/exynos/exynos_drm_fimd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c index 033b18b..5cc57f7 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c @@ -984,7 +984,7 @@ static void fimd_te_handler(struct exynos_drm_manager *mgr) wake_up(&ctx->wait_vsync_queue); } - if (!atomic_read(&ctx->triggering)) + if (test_bit(0, &ctx->irq_flags)) drm_handle_vblank(ctx->drm_dev, ctx->pipe);
But after triggering, "fimd_irq_handler()" is called by "lcd_sys" interrupt and that calls "drm_handle_vblank()".
So I think "fimd_te_handler()" calls "drm_handle_vblank()" only non-triggering condition.
Thank you. Best regards YJ
}
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel