diff options
Diffstat (limited to 'extras/recipes-kernel/linux/linux-omap-psp-2.6.32/0046-attemp-to-fix-serial-console-corruption-during-cpuid.patch')
-rw-r--r-- | extras/recipes-kernel/linux/linux-omap-psp-2.6.32/0046-attemp-to-fix-serial-console-corruption-during-cpuid.patch | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/extras/recipes-kernel/linux/linux-omap-psp-2.6.32/0046-attemp-to-fix-serial-console-corruption-during-cpuid.patch b/extras/recipes-kernel/linux/linux-omap-psp-2.6.32/0046-attemp-to-fix-serial-console-corruption-during-cpuid.patch new file mode 100644 index 00000000..11f52262 --- /dev/null +++ b/extras/recipes-kernel/linux/linux-omap-psp-2.6.32/0046-attemp-to-fix-serial-console-corruption-during-cpuid.patch | |||
@@ -0,0 +1,57 @@ | |||
1 | From b0c673e40d40428a9bd05101d15d773cd4f4720c Mon Sep 17 00:00:00 2001 | ||
2 | From: Ranjith Lohithakshan <unknown@ti.com> | ||
3 | Date: Sat, 22 May 2010 18:32:24 +0200 | ||
4 | Subject: [PATCH 46/48] attemp to fix serial console corruption during cpuidle | ||
5 | |||
6 | --- | ||
7 | arch/arm/mach-omap2/cpuidle34xx.c | 6 +++++- | ||
8 | 1 files changed, 5 insertions(+), 1 deletions(-) | ||
9 | |||
10 | diff --git a/arch/arm/mach-omap2/cpuidle34xx.c b/arch/arm/mach-omap2/cpuidle34xx.c | ||
11 | index f8aea56..35d1c3e 100644 | ||
12 | --- a/arch/arm/mach-omap2/cpuidle34xx.c | ||
13 | +++ b/arch/arm/mach-omap2/cpuidle34xx.c | ||
14 | @@ -60,7 +60,7 @@ struct omap3_processor_cx { | ||
15 | |||
16 | struct omap3_processor_cx omap3_power_states[OMAP3_MAX_STATES]; | ||
17 | struct omap3_processor_cx current_cx_state; | ||
18 | -struct powerdomain *mpu_pd, *core_pd; | ||
19 | +struct powerdomain *mpu_pd, *per_pd, *core_pd; | ||
20 | |||
21 | /* | ||
22 | * The latencies/thresholds for various C states have | ||
23 | @@ -131,6 +131,7 @@ static int omap3_enter_idle(struct cpuidle_device *dev, | ||
24 | local_fiq_disable(); | ||
25 | |||
26 | pwrdm_set_next_pwrst(mpu_pd, mpu_state); | ||
27 | + pwrdm_set_next_pwrst(per_pd, mpu_state); | ||
28 | pwrdm_set_next_pwrst(core_pd, core_state); | ||
29 | |||
30 | if (omap_irq_pending() || need_resched()) | ||
31 | @@ -138,6 +139,7 @@ static int omap3_enter_idle(struct cpuidle_device *dev, | ||
32 | |||
33 | if (cx->type == OMAP3_STATE_C1) { | ||
34 | pwrdm_for_each_clkdm(mpu_pd, _cpuidle_deny_idle); | ||
35 | + pwrdm_for_each_clkdm(per_pd, _cpuidle_deny_idle); | ||
36 | pwrdm_for_each_clkdm(core_pd, _cpuidle_deny_idle); | ||
37 | } | ||
38 | |||
39 | @@ -146,6 +148,7 @@ static int omap3_enter_idle(struct cpuidle_device *dev, | ||
40 | |||
41 | if (cx->type == OMAP3_STATE_C1) { | ||
42 | pwrdm_for_each_clkdm(mpu_pd, _cpuidle_allow_idle); | ||
43 | + pwrdm_for_each_clkdm(per_pd, _cpuidle_allow_idle); | ||
44 | pwrdm_for_each_clkdm(core_pd, _cpuidle_allow_idle); | ||
45 | } | ||
46 | |||
47 | @@ -425,6 +428,7 @@ int __init omap3_idle_init(void) | ||
48 | struct cpuidle_device *dev; | ||
49 | |||
50 | mpu_pd = pwrdm_lookup("mpu_pwrdm"); | ||
51 | + per_pd = pwrdm_lookup("per_pwrdm"); | ||
52 | core_pd = pwrdm_lookup("core_pwrdm"); | ||
53 | |||
54 | omap_init_power_states(); | ||
55 | -- | ||
56 | 1.6.6.1 | ||
57 | |||