From: hjc Date: Mon, 17 Mar 2014 11:28:19 +0000 (+0800) Subject: rk3288 lcdc: X-Git-Tag: firefly_0821_release~6043 X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=be2bbb4396040bcdcc241b5ac61ae56255fa9229;p=firefly-linux-kernel-4.4.55.git rk3288 lcdc: 1.fix x_mirror and y_mirror init error; 2.post config default set at loader screen; --- diff --git a/drivers/video/rockchip/lcdc/rk3288_lcdc.c b/drivers/video/rockchip/lcdc/rk3288_lcdc.c index e157ae088875..cfeb666d65eb 100755 --- a/drivers/video/rockchip/lcdc/rk3288_lcdc.c +++ b/drivers/video/rockchip/lcdc/rk3288_lcdc.c @@ -311,7 +311,7 @@ static int rk3288_lcdc_post_cfg(struct rk_lcdc_driver *dev_drv) post_dsp_hact_end = post_dsp_hact_st + screen->post_xsize; }else{ post_dsp_hact_end = h_total - screen->mode.right_margin - - - screen->post_dsp_stx; + screen->post_dsp_stx; post_dsp_hact_st = post_dsp_hact_end - screen->post_xsize; } if((screen->post_xsize < x_res)&&(screen->post_xsize != 0)){ @@ -772,7 +772,7 @@ static int rk3288_lcdc_reg_update(struct rk_lcdc_driver *dev_drv) rk3288_win_full_reg_update(dev_drv,1); rk3288_win_lite_reg_update(dev_drv,2); rk3288_win_lite_reg_update(dev_drv,3); - rk3288_lcdc_post_cfg(dev_drv); + /*rk3288_lcdc_post_cfg(dev_drv);*/ lcdc_cfg_done(lcdc_dev); } spin_unlock(&lcdc_dev->reg_lock); diff --git a/drivers/video/rockchip/rk_fb.c b/drivers/video/rockchip/rk_fb.c index 792a4f5b0358..b6771e976056 100755 --- a/drivers/video/rockchip/rk_fb.c +++ b/drivers/video/rockchip/rk_fb.c @@ -246,17 +246,17 @@ int rk_disp_pwr_ctr_parse_dt(struct rk_lcdc_driver *dev_drv) of_property_read_u32(root, "rockchip,mirror", &mirror); if (mirror == NO_MIRROR) { - dev_drv->cur_screen->x_mirror = 0; - dev_drv->cur_screen->y_mirror = 0; + dev_drv->screen0->x_mirror = 0; + dev_drv->screen0->y_mirror = 0; } else if (mirror == X_MIRROR) { - dev_drv->cur_screen->x_mirror = 1; - dev_drv->cur_screen->y_mirror = 0; + dev_drv->screen0->x_mirror = 1; + dev_drv->screen0->y_mirror = 0; } else if (mirror == Y_MIRROR) { - dev_drv->cur_screen->x_mirror = 0; - dev_drv->cur_screen->y_mirror = 1; + dev_drv->screen0->x_mirror = 0; + dev_drv->screen0->y_mirror = 1; } else if(mirror == X_Y_MIRROR) { - dev_drv->cur_screen->x_mirror = 1; - dev_drv->cur_screen->y_mirror = 1; + dev_drv->screen0->x_mirror = 1; + dev_drv->screen0->y_mirror = 1; } of_property_read_u32(root, "rockchip,debug", &debug); @@ -1134,10 +1134,10 @@ static void rk_fb_update_reg(struct rk_lcdc_driver * dev_drv,struct rk_fb_reg_da } #endif dev_drv->atv_layer_cnt = regs->win_num; - dev_drv->cur_screen->post_xsize = regs->post_cfg.xsize; - dev_drv->cur_screen->post_ysize = regs->post_cfg.ysize; - dev_drv->cur_screen->post_dsp_stx = regs->post_cfg.xpos; - dev_drv->cur_screen->post_dsp_sty = regs->post_cfg.ypos; + /*dev_drv->screen0->post_xsize = regs->post_cfg.xsize; + dev_drv->screen0->post_ysize = regs->post_cfg.ysize; + dev_drv->screen0->post_dsp_stx = regs->post_cfg.xpos; + dev_drv->screen0->post_dsp_sty = regs->post_cfg.ypos;*/ dev_drv->ops->set_par(dev_drv,0); ret = wait_event_interruptible_timeout(dev_drv->vsync_info.wait, @@ -1419,10 +1419,10 @@ static int rk_fb_set_win_config(struct fb_info *info, return ret; } - regs->post_cfg.xpos = win_data->post_cfg.xpos; + /*regs->post_cfg.xpos = win_data->post_cfg.xpos; regs->post_cfg.ypos = win_data->post_cfg.ypos; regs->post_cfg.xsize = win_data->post_cfg.xsize; - regs->post_cfg.ysize = win_data->post_cfg.xsize; + regs->post_cfg.ysize = win_data->post_cfg.xsize;*/ for (i=0; ilcdc_win_num; i++) { if(win_data->win_par[i].win_id < dev_drv->lcdc_win_num){ rk_fb_set_win_buffer(info,&win_data->win_par[i],®s->reg_win_data[j]);