From: zyw Date: Thu, 7 Jul 2011 09:14:02 +0000 (+0800) Subject: fix hdmi bug: display disordered, Supplement X-Git-Tag: firefly_0821_release~10129^2~12 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=4cdbb5cf1f13dd76c1b5d7d75312377e32da509e;p=firefly-linux-kernel-4.4.55.git fix hdmi bug: display disordered, Supplement --- diff --git a/drivers/video/rk29_fb.c b/drivers/video/rk29_fb.c index 791295f57bbb..7ea52aab56c9 100755 --- a/drivers/video/rk29_fb.c +++ b/drivers/video/rk29_fb.c @@ -627,7 +627,7 @@ void load_screen(struct fb_info *info, bool initscreen) // clk_disable(inf->hclk_cpu_display); // clk_disable(inf->clk); - ret = clk_set_parent(inf->aclk, inf->aclk_parent); + fbprintk(">>>>>> set lcdc dclk need %d HZ, clk_parent = %d hz ret =%d\n ", screen->pixclock, screen->lcdc_aclk, ret); @@ -636,20 +636,22 @@ void load_screen(struct fb_info *info, bool initscreen) { printk(KERN_ERR ">>>>>> set lcdc dclk failed\n"); } - - if(screen->lcdc_aclk){ - aclk_rate = screen->lcdc_aclk; - } - ret = clk_set_rate(inf->aclk, aclk_rate); - if(ret){ - printk(KERN_ERR ">>>>>> set lcdc aclk failed\n"); + + if(initscreen) + { + ret = clk_set_parent(inf->aclk, inf->aclk_parent); + if(screen->lcdc_aclk){ + aclk_rate = screen->lcdc_aclk; + } + ret = clk_set_rate(inf->aclk, aclk_rate); + if(ret){ + printk(KERN_ERR ">>>>>> set lcdc aclk failed\n"); + } + clk_enable(inf->aclk); } - // clk_enable(inf->aclk_ddr_lcdc); // clk_enable(inf->aclk_disp_matrix); - // clk_enable(inf->hclk_cpu_display); - if(initscreen) - clk_enable(inf->aclk); + // clk_enable(inf->hclk_cpu_display); // clk_enable(inf->clk); clk_enable(inf->dclk);