mirror of
https://github.com/hardkernel/linux.git
synced 2026-04-14 17:40:41 +09:00
rk3288 lcdc:
1.fix x_mirror and y_mirror init error; 2.post config default set at loader screen;
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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],®s->reg_win_data[j]);
|
||||
|
||||
Reference in New Issue
Block a user