From: Mark Yao Date: Thu, 29 Oct 2015 08:18:06 +0000 (+0800) Subject: video: lcdc: rk3228: fix interlace display X-Git-Tag: firefly_0821_release~3641 X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=a60b6e8e10e7deb19cd57e3abbd81bb30a8cdd0c;p=firefly-linux-kernel-4.4.55.git video: lcdc: rk3228: fix interlace display New version H/W don't need yszie div 2 anymore. Change-Id: I1c8927ad5dd00fd1af16ef9ca60c9979b4db696e Signed-off-by: Mark Yao --- diff --git a/drivers/video/rockchip/lcdc/rk3228_lcdc.c b/drivers/video/rockchip/lcdc/rk3228_lcdc.c index 3216f69147f0..2cf769246783 100644 --- a/drivers/video/rockchip/lcdc/rk3228_lcdc.c +++ b/drivers/video/rockchip/lcdc/rk3228_lcdc.c @@ -1450,6 +1450,10 @@ static int vop_load_screen(struct rk_lcdc_driver *dev_drv, bool initscreen) V_DSP_BLANK_EN(0) | V_DSP_BLACK_EN(0) | V_DSP_X_MIR_EN(screen->x_mirror) | V_DSP_Y_MIR_EN(screen->y_mirror); + if (screen->pixelrepeat) + val |= V_SW_CORE_DCLK_SEL(1); + if (screen->mode.vmode & FB_VMODE_INTERLACED) + val |= V_SW_HDMI_CLK_I_SEL(1); vop_msk_reg(vop_dev, DSP_CTRL0, val); /* BG color */ if (dev_drv->overlay_mode == VOP_YUV_DOMAIN) @@ -2117,7 +2121,6 @@ static int dsp_y_pos(int mirror_en, struct rk_screen *screen, } else if (screen->mode.vmode & FB_VMODE_INTERLACED) { pos = area->ypos / 2 + screen->mode.upper_margin + screen->mode.vsync_len; - area->ysize /= 2; } return pos;