From: zyw Date: Thu, 23 Dec 2010 04:51:04 +0000 (+0800) Subject: update fb for close win0 when open fb1 X-Git-Tag: firefly_0821_release~10899^2~2 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=9f505c48d51aa7daa049ce47ecbd696d7d26ced9;p=firefly-linux-kernel-4.4.55.git update fb for close win0 when open fb1 --- diff --git a/drivers/video/rk29_fb.c b/drivers/video/rk29_fb.c index 2db816e9f20a..a7017ba75467 100755 --- a/drivers/video/rk29_fb.c +++ b/drivers/video/rk29_fb.c @@ -1497,7 +1497,7 @@ static int fb1_set_par(struct fb_info *info) fix->smem_len = smem_len; fix->mmio_start = uv_addr; - par->addr_seted = (((-1==(int)y_addr)&&(-1==(int)uv_addr))||((0==(int)y_addr)&&(0==(int)uv_addr))) ? 0 : 1; + par->addr_seted = ((-1==(int)y_addr) || (0==(int)y_addr) || (win0_en==0)) ? 0 : 1; fbprintk("buffer alloced by user fix->smem_start = %8x, fix->smem_len = %8x, fix->mmio_start = %8x \n", (u32)fix->smem_start, (u32)fix->smem_len, (u32)fix->mmio_start); par->format = format; @@ -1505,7 +1505,6 @@ static int fb1_set_par(struct fb_info *info) par->ypos = ypos; par->xsize = xsize; par->ysize = ysize; - par->addr_seted = (par->addr_seted && win0_en); win0_set_par(info); return 0; @@ -1536,6 +1535,7 @@ int fb1_open(struct fb_info *info, int user) return -EACCES; } else { par->refcount++; + win0_blank(FB_BLANK_POWERDOWN, info); return 0; } } @@ -1584,11 +1584,11 @@ static int fb1_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg) { u32 panel_size[2]; if(inf->fb1->var.rotate == 270) { - panel_size[0] = inf->cur_screen->y_res; - panel_size[1] = inf->cur_screen->x_res; + panel_size[0] = inf->panel1_info.y_res; //inf->cur_screen->y_res; change for hdmi video size + panel_size[1] = inf->panel1_info.x_res; } else { - panel_size[0] = inf->cur_screen->x_res; - panel_size[1] = inf->cur_screen->y_res; + panel_size[0] = inf->panel1_info.x_res; + panel_size[1] = inf->panel1_info.y_res; } if(copy_to_user(argp, panel_size, 8)) return -EFAULT;