From: zyw Date: Wed, 15 Dec 2010 06:55:50 +0000 (+0800) Subject: close win0 when no addr X-Git-Tag: firefly_0821_release~10933 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=f1e18286e613794a2f0972c670e868327d494273;p=firefly-linux-kernel-4.4.55.git close win0 when no addr --- diff --git a/drivers/video/rk29_fb.c b/drivers/video/rk29_fb.c index c3e913ba35be..f10945b9330c 100755 --- a/drivers/video/rk29_fb.c +++ b/drivers/video/rk29_fb.c @@ -1019,7 +1019,7 @@ static int win0fb_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 : 1; + par->addr_seted = (((-1==(int)y_addr)&&(-1==(int)uv_addr))||((0==(int)y_addr)&&(0==(int)uv_addr))) ? 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); // calculate the display phy address @@ -1056,7 +1056,7 @@ static int win0fb_set_par(struct fb_info *info) LcdWrReg(inf, WIN0_YRGB_MST, y_addr); LcdWrReg(inf, WIN0_CBR_MST, uv_addr); - LcdMskReg(inf, SYS_CONFIG, m_W0_ENABLE | m_W0_FORMAT, v_W0_ENABLE(win0_en) | v_W0_FORMAT(format)); + LcdMskReg(inf, SYS_CONFIG, m_W0_ENABLE | m_W0_FORMAT, v_W0_ENABLE(win0_en && par->addr_seted) | v_W0_FORMAT(format)); LcdMskReg(inf, WIN0_VIR, m_WORDLO | m_WORDHI, v_VIRWIDTH(xvir) | v_VIRHEIGHT((yvir)) ); LcdMskReg(inf, WIN0_ACT_INFO, m_WORDLO | m_WORDHI, v_WORDLO(xact) | v_WORDHI(yact));