summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrank Li <Frank.Li@freescale.com>2009-12-18 15:34:12 +0800
committerJustin Waters <justin.waters@timesys.com>2010-03-25 14:01:51 -0400
commit63f52db9dd185ef1a6804abd57b92110be9f7c65 (patch)
tree97f3d89b76c9980896249f8ca3f09d8071e23249
parent74ad99a8a423bcf8e5877458f1c2166ebea2fa78 (diff)
ENGR00119296 Fix iMX23 display abnormal when change frequency
Miss clear BYPASS_CPU bit for CLKSEQ. CPU and HClk frequency will low than 24Mhz, so there are not enough bandwidth to support LCD refresh Signed-off-by: Frank Li <Frank.Li@freescale.com>
-rw-r--r--arch/arm/plat-stmp3xxx/clock.c3
-rw-r--r--drivers/video/stmp37xxfb.c4
2 files changed, 5 insertions, 2 deletions
diff --git a/arch/arm/plat-stmp3xxx/clock.c b/arch/arm/plat-stmp3xxx/clock.c
index ec286741d185..62823d08f3f1 100644
--- a/arch/arm/plat-stmp3xxx/clock.c
+++ b/arch/arm/plat-stmp3xxx/clock.c
@@ -578,6 +578,9 @@ static int clkseq_set_parent(struct clk *clk, struct clk *parent)
REGS_CLKCTRL_BASE + HW_CLKCTRL_CPU);
hclk.rate = 0;
}
+
+ __raw_writel(1 << clk->bypass_shift,
+ clk->bypass_reg + shift);
} else
__raw_writel(1 << clk->bypass_shift,
clk->bypass_reg + shift);
diff --git a/drivers/video/stmp37xxfb.c b/drivers/video/stmp37xxfb.c
index 07cbb27352e8..ff9e2d03722d 100644
--- a/drivers/video/stmp37xxfb.c
+++ b/drivers/video/stmp37xxfb.c
@@ -654,13 +654,13 @@ static int stmp3xxxfb_notifier(struct notifier_block *self,
/* REVISIT */
switch (phase) {
case CPUFREQ_PRECHANGE:
- if (old_state == F_ENABLE)
+ if (old_state == F_ENABLE || old_state == F_STARTUP)
if (pentry->blank_panel)
pentry->blank_panel(FB_BLANK_POWERDOWN);
break;
case CPUFREQ_POSTCHANGE:
- if (old_state == F_ENABLE)
+ if (old_state == F_ENABLE || old_state == F_STARTUP)
if (pentry->blank_panel)
pentry->blank_panel(FB_BLANK_UNBLANK);
break;