if (win_id >= 0) {
win = dev_drv->win[win_id];
- fb_par->state--;
+ if (fb_par->state)
+ fb_par->state--;
if (!fb_par->state) {
if (fb_par->fb_phy_base > 0)
info->fix.smem_start = fb_par->fb_phy_base;
case RK_FBIOSET_ENABLE:
if (copy_from_user(&enable, argp, sizeof(enable)))
return -EFAULT;
- if (enable)
+ if (enable && fb_par->state)
fb_par->state++;
else
fb_par->state--;
if (rk_fb->disp_policy == DISPLAY_POLICY_BOX &&
(win->area[0].format == YUV420 ||
win->area[0].format == YUV420_NV21 ||
- win->area[0].format == YUV420_A))
+ win->area[0].format == YUV420_A)) {
win->state = 1;
-
+ win->z_order = 0;
+ }
dev_drv->ops->set_par(dev_drv, win_id);
return 0;