mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 04:10:18 +09:00
rk fb: update pixclock init value and scale mode only support ONE_DUAL mode
Signed-off-by: hjc <hjc@rock-chips.com>
This commit is contained in:
@@ -2803,8 +2803,7 @@ static int rk_fb_set_par(struct fb_info *info)
|
||||
u32 stride_32bit_2;
|
||||
u16 uv_x_off, uv_y_off, uv_y_act;
|
||||
u8 is_pic_yuv = 0;
|
||||
|
||||
var->pixclock = dev_drv->pixclock;
|
||||
/*var->pixclock = dev_drv->pixclock;*/
|
||||
win_id = dev_drv->ops->fb_get_win_id(dev_drv, info->fix.id);
|
||||
if (win_id < 0)
|
||||
return -ENODEV;
|
||||
@@ -3147,7 +3146,7 @@ int rk_fb_switch_screen(struct rk_screen *screen, int enable, int lcdc_id)
|
||||
if (dev_drv->ops->dsp_black)
|
||||
dev_drv->ops->dsp_black(dev_drv, 1);
|
||||
if ((dev_drv->ops->set_screen_scaler) &&
|
||||
(rk_fb->disp_policy != DISPLAY_POLICY_BOX))
|
||||
(rk_fb->disp_mode == ONE_DUAL))
|
||||
dev_drv->ops->set_screen_scaler(dev_drv,
|
||||
dev_drv->screen0, 0);
|
||||
}
|
||||
@@ -3240,7 +3239,7 @@ int rk_fb_switch_screen(struct rk_screen *screen, int enable, int lcdc_id)
|
||||
hdmi_switch_complete = 1;
|
||||
if ((rk_fb->disp_mode == ONE_DUAL) || (rk_fb->disp_mode == NO_DUAL)) {
|
||||
if ((dev_drv->ops->set_screen_scaler) &&
|
||||
(rk_fb->disp_policy != DISPLAY_POLICY_BOX))
|
||||
(rk_fb->disp_mode == ONE_DUAL))
|
||||
dev_drv->ops->set_screen_scaler(dev_drv, dev_drv->screen0, 1);
|
||||
if (dev_drv->ops->dsp_black)
|
||||
dev_drv->ops->dsp_black(dev_drv, 0);
|
||||
@@ -3640,7 +3639,6 @@ int rk_fb_register(struct rk_lcdc_driver *dev_drv,
|
||||
(fbi->var.xres_virtual) * (fbi->var.bits_per_pixel >> 3);
|
||||
fbi->var.width = dev_drv->cur_screen->width;
|
||||
fbi->var.height = dev_drv->cur_screen->height;
|
||||
fbi->var.pixclock = dev_drv->pixclock;
|
||||
if (dev_drv->iommu_enabled)
|
||||
fb_ops.fb_mmap = rk_fb_mmap;
|
||||
fbi->fbops = &fb_ops;
|
||||
@@ -3709,7 +3707,7 @@ int rk_fb_register(struct rk_lcdc_driver *dev_drv,
|
||||
u32 dsp_addr;
|
||||
struct fb_info *main_fbi = rk_fb->fb[0];
|
||||
main_fbi->fbops->fb_open(main_fbi, 1);
|
||||
|
||||
main_fbi->var.pixclock = dev_drv->pixclock;
|
||||
#if defined(CONFIG_ROCKCHIP_IOMMU)
|
||||
if (dev_drv->iommu_enabled) {
|
||||
if (dev_drv->mmu_dev)
|
||||
@@ -3852,9 +3850,9 @@ int rk_fb_register(struct rk_lcdc_driver *dev_drv,
|
||||
main_fbi->fbops->fb_pan_display(&main_fbi->var, main_fbi);
|
||||
#endif
|
||||
} else {
|
||||
struct fb_info *extend_fbi = rk_fb->fb[rk_fb->num_fb >> 1];
|
||||
|
||||
rk_fb_alloc_buffer(extend_fbi);
|
||||
struct fb_info *extend_fbi = rk_fb->fb[rk_fb->num_fb >> 1];
|
||||
extend_fbi->var.pixclock = rk_fb->fb[0]->var.pixclock;
|
||||
rk_fb_alloc_buffer(extend_fbi);
|
||||
}
|
||||
#endif
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user