From dbb4cc8d6e58a99ca90362a86603fac6464e0a09 Mon Sep 17 00:00:00 2001 From: Zheng Yang Date: Tue, 15 Sep 2015 11:40:35 +0800 Subject: [PATCH] video: rockchip: fb: recalculate logo offset to match new screen size Change-Id: I9f62088f4d0868a9284d1794718da8f5a044f24a Signed-off-by: Zheng Yang --- drivers/video/rockchip/rk_fb.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/drivers/video/rockchip/rk_fb.c b/drivers/video/rockchip/rk_fb.c index bf68b781e0bb..d182d237b2d4 100755 --- a/drivers/video/rockchip/rk_fb.c +++ b/drivers/video/rockchip/rk_fb.c @@ -3576,10 +3576,18 @@ int rk_fb_switch_screen(struct rk_screen *screen, int enable, int lcdc_id) (dev_drv->cur_screen->ysize << 20); } if (dev_drv->uboot_logo && win->state) { - win->area[0].xpos = 0; - win->area[0].ypos = 0; - win->area[0].xsize = screen->mode.xres; - win->area[0].ysize = screen->mode.yres; + if (win->area[0].xpos || + win->area[0].ypos) { + win->area[0].xpos = + (screen->mode.xres - + win->area[0].xsize)/2; + win->area[0].ypos = + (screen->mode.yres - + win->area[0].ysize)/2; + } else { + win->area[0].xsize = screen->mode.xres; + win->area[0].ysize = screen->mode.yres; + } dev_drv->ops->set_par(dev_drv, i); dev_drv->ops->cfg_done(dev_drv); } else if (!dev_drv->win[win_id]->state) { -- 2.34.1