fix hdmi bug: display disordered, Supplement
authorzyw <zyw@rock-chips.com>
Thu, 7 Jul 2011 09:14:02 +0000 (17:14 +0800)
committerzyw <zyw@rock-chips.com>
Thu, 7 Jul 2011 09:14:02 +0000 (17:14 +0800)
drivers/video/rk29_fb.c

index 791295f57bbbd7d917e64f7eabadb3550635c1f0..7ea52aab56c9429768b52cf2457faa53022986e6 100755 (executable)
@@ -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);