summaryrefslogtreecommitdiff
path: root/drivers/video/pxafb.c
diff options
context:
space:
mode:
authorVasily Khoruzhick <anarsoul@gmail.com>2011-03-11 12:20:50 +0300
committerEric Miao <eric.y.miao@gmail.com>2011-03-16 12:44:58 +0300
commit27be9a9e378dad166fc81df310e052e7b67cb667 (patch)
treefe67cf222a9c56c3cb2fd38e41af404d8223a3c8 /drivers/video/pxafb.c
parentdcf8eee94f7eb2671e6d5774e81d45ad06b4f980 (diff)
downloadlinux-27be9a9e378dad166fc81df310e052e7b67cb667.tar.xz
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>
Diffstat (limited to 'drivers/video/pxafb.c')
-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: