rk3288 lcdc:
authorhjc <hjc@rock-chips.com>
Mon, 17 Mar 2014 11:28:19 +0000 (19:28 +0800)
committerhjc <hjc@rock-chips.com>
Mon, 17 Mar 2014 12:42:14 +0000 (20:42 +0800)
1.fix x_mirror and y_mirror init error;
2.post config default set at loader screen;

drivers/video/rockchip/lcdc/rk3288_lcdc.c
drivers/video/rockchip/rk_fb.c

index e157ae088875c8a6e555b0c12c45c87a8b7eccc6..cfeb666d65ebaa44dc1cf7b7fa2193e6ba129be3 100755 (executable)
@@ -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);
index 792a4f5b035831660977dcfc79cbfbc82a4deac7..b6771e97605652a4c78764359d49a8d8bac3e4bb 100755 (executable)
@@ -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; i<dev_drv->lcdc_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],&regs->reg_win_data[j]);