From: Huang Jiachai Date: Sat, 9 Apr 2016 09:07:22 +0000 (+0800) Subject: video: rockchip: vop: 3399: fix win lite disp size error X-Git-Tag: firefly_0821_release~2853 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=5f02ca6adfb56bd92a4477d77ed657548e7eab71;p=firefly-linux-kernel-4.4.55.git video: rockchip: vop: 3399: fix win lite disp size error Change-Id: I8874026dfd75353c129418a29d860499773e2ebb Signed-off-by: Huang Jiachai --- diff --git a/drivers/video/rockchip/lcdc/rk322x_lcdc.c b/drivers/video/rockchip/lcdc/rk322x_lcdc.c index e97be2c1e676..5c7be87ab1a0 100644 --- a/drivers/video/rockchip/lcdc/rk322x_lcdc.c +++ b/drivers/video/rockchip/lcdc/rk322x_lcdc.c @@ -1516,8 +1516,8 @@ static int vop_win_2_3_reg_update(struct rk_lcdc_driver *dev_drv, int win_id) val = V_WIN2_VIR_STRIDE0(win->area[0].y_vir_stride); vop_msk_reg(vop_dev, WIN2_VIR0_1 + off, val); - val = V_WIN2_DSP_WIDTH0(win->area[0].xsize) | - V_WIN2_DSP_HEIGHT0(win->area[0].ysize); + val = V_WIN2_DSP_WIDTH0(win->area[0].xsize - 1) | + V_WIN2_DSP_HEIGHT0(win->area[0].ysize - 1); vop_writel(vop_dev, WIN2_DSP_INFO0 + off, val); val = V_WIN2_DSP_XST0(win->area[0].dsp_stx) | V_WIN2_DSP_YST0(win->area[0].dsp_sty); @@ -1536,8 +1536,8 @@ static int vop_win_2_3_reg_update(struct rk_lcdc_driver *dev_drv, int win_id) val = V_WIN2_VIR_STRIDE1(win->area[1].y_vir_stride); vop_msk_reg(vop_dev, WIN2_VIR0_1 + off, val); - val = V_WIN2_DSP_WIDTH1(win->area[1].xsize) | - V_WIN2_DSP_HEIGHT1(win->area[1].ysize); + val = V_WIN2_DSP_WIDTH1(win->area[1].xsize - 1) | + V_WIN2_DSP_HEIGHT1(win->area[1].ysize - 1); vop_writel(vop_dev, WIN2_DSP_INFO1 + off, val); val = V_WIN2_DSP_XST1(win->area[1].dsp_stx) | V_WIN2_DSP_YST1(win->area[1].dsp_sty); @@ -1556,8 +1556,8 @@ static int vop_win_2_3_reg_update(struct rk_lcdc_driver *dev_drv, int win_id) val = V_WIN2_VIR_STRIDE2(win->area[2].y_vir_stride); vop_msk_reg(vop_dev, WIN2_VIR2_3 + off, val); - val = V_WIN2_DSP_WIDTH2(win->area[2].xsize) | - V_WIN2_DSP_HEIGHT2(win->area[2].ysize); + val = V_WIN2_DSP_WIDTH2(win->area[2].xsize - 1) | + V_WIN2_DSP_HEIGHT2(win->area[2].ysize - 1); vop_writel(vop_dev, WIN2_DSP_INFO2 + off, val); val = V_WIN2_DSP_XST2(win->area[2].dsp_stx) | V_WIN2_DSP_YST2(win->area[2].dsp_sty); @@ -1576,8 +1576,8 @@ static int vop_win_2_3_reg_update(struct rk_lcdc_driver *dev_drv, int win_id) val = V_WIN2_VIR_STRIDE3(win->area[3].y_vir_stride); vop_msk_reg(vop_dev, WIN2_VIR2_3 + off, val); - val = V_WIN2_DSP_WIDTH3(win->area[3].xsize) | - V_WIN2_DSP_HEIGHT3(win->area[3].ysize); + val = V_WIN2_DSP_WIDTH3(win->area[3].xsize - 1) | + V_WIN2_DSP_HEIGHT3(win->area[3].ysize - 1); vop_writel(vop_dev, WIN2_DSP_INFO3 + off, val); val = V_WIN2_DSP_XST3(win->area[3].dsp_stx) | V_WIN2_DSP_YST3(win->area[3].dsp_sty);