da8xx-fb: do not turn ON LCD backlight unless LCDC is enabled
authorManjunathappa, Prakash <prakash.pm@ti.com>
Tue, 24 Jul 2012 04:15:25 +0000 (09:45 +0530)
committerFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
Sun, 29 Jul 2012 12:24:14 +0000 (12:24 +0000)
LCD blink is observed during suspend/resume and blank/unblank
operations as backlight is ON during LCDC disable and enable.
So make sure to turn OFF backlight before disabling and turn
it ON after 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 e81a458..ca9943a 100644 (file)
@@ -1038,10 +1038,10 @@ static int cfb_blank(int blank, struct fb_info *info)
        par->blank = blank;
        switch (blank) {
        case FB_BLANK_UNBLANK:
+               lcd_enable_raster();
+
                if (par->panel_power_ctrl)
                        par->panel_power_ctrl(1);
-
-               lcd_enable_raster();
                break;
        case FB_BLANK_NORMAL:
        case FB_BLANK_VSYNC_SUSPEND:
@@ -1422,11 +1422,12 @@ static int fb_resume(struct platform_device *dev)
        struct da8xx_fb_par *par = info->par;
 
        console_lock();
+       clk_enable(par->lcdc_clk);
+       lcd_enable_raster();
+
        if (par->panel_power_ctrl)
                par->panel_power_ctrl(1);
 
-       clk_enable(par->lcdc_clk);
-       lcd_enable_raster();
        fb_set_suspend(info, 0);
        console_unlock();