summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVasily Khoruzhick <anarsoul@gmail.com>2011-03-11 11:20:50 +0200
committerEric Miao <eric.y.miao@gmail.com>2011-03-16 17:44:58 +0800
commit27be9a9e378dad166fc81df310e052e7b67cb667 (patch)
treefe67cf222a9c56c3cb2fd38e41af404d8223a3c8
parentdcf8eee94f7eb2671e6d5774e81d45ad06b4f980 (diff)
downloadlinux-27be9a9e378dad166fc81df310e052e7b67cb667.tar.gz
linux-27be9a9e378dad166fc81df310e052e7b67cb667.tar.bz2
linux-27be9a9e378dad166fc81df310e052e7b67cb667.zip
ARM: pxafb: don't disable controller on cpufreq transition if overlay in use
It's not safe to disable controller if overlay(s) is enabled (results in system hang). So we avoid to disable controller in this case. Userspace should choose proper governor to avoid freq changing when overlay is in use, otherwise LCD may blink. Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
-rw-r--r--drivers/video/pxafb.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/video/pxafb.c b/drivers/video/pxafb.c
index a3bdcc152671..a2e5b5100ab4 100644
--- a/drivers/video/pxafb.c
+++ b/drivers/video/pxafb.c
@@ -1648,7 +1648,8 @@ pxafb_freq_transition(struct notifier_block *nb, unsigned long val, void *data)
switch (val) {
case CPUFREQ_PRECHANGE:
- set_ctrlr_state(fbi, C_DISABLE_CLKCHANGE);
+ if (!fbi->overlay[0].usage && !fbi->overlay[1].usage)
+ set_ctrlr_state(fbi, C_DISABLE_CLKCHANGE);
break;
case CPUFREQ_POSTCHANGE: