mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 12:17:12 +09:00
rk fb: fix screen info error when in no dual mode and pull out hdmi
Signed-off-by: hjc <hjc@rock-chips.com>
This commit is contained in:
@@ -1808,7 +1808,8 @@ static int rk_fb_set_win_buffer(struct fb_info *info,
|
||||
struct fb_fix_screeninfo *fix = &info->fix;
|
||||
struct rk_fb_par *fb_par = (struct rk_fb_par *)info->par;
|
||||
struct rk_lcdc_driver *dev_drv = fb_par->lcdc_drv;
|
||||
struct rk_screen *screen = dev_drv->cur_screen;
|
||||
/*if hdmi size move to hwc,screen should point to cur_screen*/
|
||||
struct rk_screen *screen = dev_drv->screen0;/*cur_screen;*/
|
||||
struct fb_info *fbi;
|
||||
int i, ion_fd, acq_fence_fd;
|
||||
u32 xvir, yvir;
|
||||
@@ -3117,6 +3118,7 @@ int rk_fb_switch_screen(struct rk_screen *screen, int enable, int lcdc_id)
|
||||
} else {
|
||||
if (dev_drv->screen1)
|
||||
dev_drv->cur_screen = dev_drv->screen1;
|
||||
|
||||
memcpy(dev_drv->cur_screen, screen, sizeof(struct rk_screen));
|
||||
dev_drv->cur_screen->xsize = dev_drv->cur_screen->mode.xres;
|
||||
dev_drv->cur_screen->ysize = dev_drv->cur_screen->mode.yres;
|
||||
@@ -3422,7 +3424,7 @@ static int init_lcdc_device_driver(struct rk_fb *rk_fb,
|
||||
dev_drv->screen0 = screen;
|
||||
dev_drv->cur_screen = screen;
|
||||
/* devie use one lcdc + rk61x scaler for dual display */
|
||||
if (rk_fb->disp_mode == ONE_DUAL) {
|
||||
if ((rk_fb->disp_mode == ONE_DUAL) || (rk_fb->disp_mode == NO_DUAL)) {
|
||||
struct rk_screen *screen1 =
|
||||
devm_kzalloc(dev_drv->dev,
|
||||
sizeof(struct rk_screen),
|
||||
|
||||
Reference in New Issue
Block a user