video: rockchip: fb: no need close all win when hdmi switch screen at first time
authorHuang Jiachai <hjc@rock-chips.com>
Wed, 13 Jul 2016 07:58:54 +0000 (15:58 +0800)
committerHuang, Tao <huangtao@rock-chips.com>
Fri, 15 Jul 2016 06:41:19 +0000 (14:41 +0800)
Change-Id: I6dff985f3c2b44c6b461e0ee039823e59839b52c
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
drivers/video/rockchip/rk_fb.c

index ee0140cec71e5a8a22fe7299ad2465d89ffa9c6f..c8393580a0591778ece9416f72190590b7192b06 100644 (file)
@@ -3645,6 +3645,13 @@ int rk_fb_switch_screen(struct rk_screen *screen, int enable, int lcdc_id)
                mutex_unlock(&dev_drv->switch_screen);
                return 0;
        } else {
+               if (load_screen || (rk_fb->disp_policy != DISPLAY_POLICY_BOX)) {
+                       for (i = 0; i < dev_drv->lcdc_win_num; i++) {
+                               if (dev_drv->win[i] && dev_drv->win[i]->state &&
+                                       dev_drv->ops->win_direct_en)
+                                       dev_drv->ops->win_direct_en(dev_drv, i, 0);
+                       }
+               }
                if (dev_drv->uboot_logo) {
                        if (dev_drv->cur_screen->mode.xres !=
                                screen->mode.xres ||
@@ -3662,14 +3669,6 @@ int rk_fb_switch_screen(struct rk_screen *screen, int enable, int lcdc_id)
                dev_drv->cur_screen->y_mirror = dev_drv->rotate_mode & Y_MIRROR;
        }
 
-       if (load_screen || (rk_fb->disp_policy != DISPLAY_POLICY_BOX)) {
-               for (i = 0; i < dev_drv->lcdc_win_num; i++) {
-                       if (dev_drv->win[i] && dev_drv->win[i]->state &&
-                               dev_drv->ops->win_direct_en)
-                               dev_drv->ops->win_direct_en(dev_drv, i, 0);
-               }
-       }
-
        if (!dev_drv->uboot_logo || load_screen ||
            (rk_fb->disp_policy != DISPLAY_POLICY_BOX)) {
                for (i = 0; i < dev_drv->lcdc_win_num; i++) {