summaryrefslogtreecommitdiffstats
path: root/drivers/video/pxafb.c
diff options
context:
space:
mode:
authorVasily Khoruzhick <anarsoul@gmail.com>2011-03-11 10:20:50 +0100
committerEric Miao <eric.y.miao@gmail.com>2011-03-16 10:44:58 +0100
commit27be9a9e378dad166fc81df310e052e7b67cb667 (patch)
treefe67cf222a9c56c3cb2fd38e41af404d8223a3c8 /drivers/video/pxafb.c
parentARM: pxafb: fix typo in ypos assignment (diff)
downloadlinux-27be9a9e378dad166fc81df310e052e7b67cb667.tar.xz
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>
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: