rk fb: act_height should be 2 pix align for interlace output
authorhjc <hjc@rock-chips.com>
Thu, 28 May 2015 02:13:44 +0000 (10:13 +0800)
committerhjc <hjc@rock-chips.com>
Thu, 28 May 2015 02:13:44 +0000 (10:13 +0800)
Signed-off-by: hjc <hjc@rock-chips.com>
drivers/video/rockchip/rk_fb.c

index cba2cb3133a424f857427454e7bbd0869dfd80fc..ce3a90bce7ba1f7e3addb7ad07aae618767f10b4 100755 (executable)
@@ -2185,6 +2185,11 @@ static int rk_fb_set_win_buffer(struct fb_info *info,
                reg_win_data->reg_area_data[i].xact = win_par->area_par[i].xact;
                reg_win_data->reg_area_data[i].yact = win_par->area_par[i].yact;
 
+               /*act_height should be 2 pix align for interlace output*/
+               if ((screen->mode.vmode == FB_VMODE_INTERLACED) &&
+                   (reg_win_data->reg_area_data[i].yact % 2 == 1))
+                       reg_win_data->reg_area_data[i].yact -= 1;
+
                xoffset = win_par->area_par[i].x_offset;        /* buf offset */
                yoffset = win_par->area_par[i].y_offset;
                reg_win_data->reg_area_data[i].xoff = xoffset;