Thread (2 messages) 2 messages, 1 author, 2012-08-31

[PATCH] da8xx-fb: enable LCDC if FB is unblanked

STALE5146d

From: Manjunathappa, Prakash <hidden>
Date: 2012-08-31 13:12:20
Subsystem: framebuffer layer, the rest · Maintainers: Helge Deller, Linus Torvalds

Check for FB_BLANK_UNBLANK before enabling LCDC from PM resume
and DVFS. Without this, behavior in case of below used case is
not be not expected,
1) Issue FB_BLANK, LCDC disabled.
2) Do suspend/resume cycle or DVFS.
3) Do not expect LCDC to get enabled at this point.

Re-enabling of LCDC is done when FB_BLANK_UNBLANK is issued.

Signed-off-by: Manjunathappa, Prakash <redacted>
---
Applies on top of fbdev-next of Florian Tobias Schandinat's tree.

 drivers/video/da8xx-fb.c |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c
index 761c8d1..1273354 100644
--- a/drivers/video/da8xx-fb.c
+++ b/drivers/video/da8xx-fb.c
@@ -962,7 +962,8 @@ static int lcd_da8xx_cpufreq_transition(struct notifier_block *nb,
 			par->lcd_fck_rate = clk_get_rate(par->lcdc_clk);
 			lcd_disable_raster();
 			lcd_calc_clk_divider(par);
-			lcd_enable_raster();
+			if (par->blank = FB_BLANK_UNBLANK)
+				lcd_enable_raster();
 		}
 	}
 
@@ -1486,10 +1487,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();
-- 
1.7.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help