da8xx-fb: enable LCDC if FB is unblanked
authorManjunathappa, Prakash <prakash.pm@ti.com>
Fri, 31 Aug 2012 14:18:59 +0000 (19:48 +0530)
committerFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
Sat, 22 Sep 2012 21:24:51 +0000 (21:24 +0000)
It is expected that LCDC to continue to be disabled after
resume if it is blanked before suspend. This is also true
for DVFS. But it is observed that LCDC being enabled after
suspend/resume cycle or DVFS.

Correcting it by having check for FB_BLANK_UNBLANK before
enabling.

Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
drivers/video/da8xx-fb.c

index 03ebc0d..af2aa38 100644 (file)
@@ -988,7 +988,8 @@ static int lcd_da8xx_cpufreq_transition(struct notifier_block *nb,
                        par->lcd_fck_rate = clk_get_rate(par->lcdc_clk);
                        lcd_disable_raster(true);
                        lcd_calc_clk_divider(par);
-                       lcd_enable_raster();
+                       if (par->blank == FB_BLANK_UNBLANK)
+                               lcd_enable_raster();
                }
        }
 
@@ -1514,10 +1515,12 @@ static int fb_resume(struct platform_device *dev)
 
        console_lock();
        clk_enable(par->lcdc_clk);
-       lcd_enable_raster();
+       if (par->blank == FB_BLANK_UNBLANK) {
+               lcd_enable_raster();
 
-       if (par->panel_power_ctrl)
-               par->panel_power_ctrl(1);
+               if (par->panel_power_ctrl)
+                       par->panel_power_ctrl(1);
+       }
 
        fb_set_suspend(info, 0);
        console_unlock();