From: Andrzej Hajda Date: Fri, 9 Dec 2016 09:49:18 +0000 (+0100) Subject: drm/exynos/decon5433: fix porch calculation in interlaced mode X-Git-Tag: submit/tizen/20161216.052309~21 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=362ffb29c0a132075d96f76714b4be884c8110ba;p=platform%2Fkernel%2Flinux-exynos.git drm/exynos/decon5433: fix porch calculation in interlaced mode Interlaced mode requires different porch calculation in DECON. Change-Id: I1bfc2554cd3204ebb270ab2e4a396d0f69f5a7f4 Signed-off-by: Andrzej Hajda --- diff --git a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c index b0f696f12f8b..c8593bbd0e3a 100644 --- a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c +++ b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c @@ -221,10 +221,12 @@ static void decon_commit(struct exynos_drm_crtc *crtc) writel(val, ctx->addr + DECON_VIDTCON2); if (!ctx->i80_if) { - val = VIDTCON00_VBPD_F( - mode->crtc_vtotal - mode->crtc_vsync_end - 1) | - VIDTCON00_VFPD_F( - mode->crtc_vsync_start - mode->crtc_vdisplay - 1); + int vbp = mode->crtc_vtotal - mode->crtc_vsync_end; + int vfp = mode->crtc_vsync_start - mode->crtc_vdisplay; + + if (interlaced) + vbp = vbp / 2 - 1; + val = VIDTCON00_VBPD_F(vbp - 1) | VIDTCON00_VFPD_F(vfp - 1); writel(val, ctx->addr + DECON_VIDTCON00); val = VIDTCON01_VSPW_F(