rk312x lcdc: add interlace condition for interlace read
authorhjc <hjc@rock-chips.com>
Wed, 20 Aug 2014 01:27:13 +0000 (09:27 +0800)
committerhjc <hjc@rock-chips.com>
Wed, 20 Aug 2014 01:28:32 +0000 (09:28 +0800)
drivers/video/rockchip/lcdc/rk3036_lcdc.c
drivers/video/rockchip/lcdc/rk312x_lcdc.c

index 8389d5ec98ce6a35a9a13734f5a0647cd616b9a1..40c0cfd087605d42ec18d284c261cb0336a4f8e7 100755 (executable)
@@ -750,7 +750,7 @@ static int rk3036_lcdc_set_par(struct rk_lcdc_driver *dev_drv, int win_id)
        win->scale_yrgb_x = calscale(win->area[0].xact, win->post_cfg.xsize);
        win->scale_yrgb_y = calscale(win->area[0].yact, win->post_cfg.ysize);
        win->interlace_read = 0;
-       if((screen->mode.xres == 720) &&
+       if( (screen->mode.vmode == 1) && (screen->mode.xres == 720) &&
          ((screen->mode.yres == 576) || (screen->mode.yres == 480))) {
                if(win->scale_yrgb_y > 2*0x1000)
                        win->interlace_read = 1;
index 967c078678c878d572171b5e2cbc26f3477229cf..0dacb03de3c3caf1799aa376c99b8d25ea302150 100755 (executable)
@@ -1147,7 +1147,7 @@ static int rk312x_lcdc_set_par(struct rk_lcdc_driver *dev_drv, int win_id)
        win->scale_yrgb_y = CalScale(win->area[0].yact, win->area[0].ysize);
 
        win->interlace_read = 0;
-       if((screen->mode.xres == 720) &&
+       if((screen->mode.vmode == 1) && (screen->mode.xres == 720) &&
          ((screen->mode.yres == 576) || (screen->mode.yres == 480))) {
                if (lcdc_dev->soc_type == VOP_RK3036) {
                        if (win->scale_yrgb_y > 2*0x1000)