diff options
Diffstat (limited to 'recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0016-OMAP2-CPUfreq-Remove-superfluous-check-in-target-for.patch')
-rw-r--r-- | recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0016-OMAP2-CPUfreq-Remove-superfluous-check-in-target-for.patch | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0016-OMAP2-CPUfreq-Remove-superfluous-check-in-target-for.patch b/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0016-OMAP2-CPUfreq-Remove-superfluous-check-in-target-for.patch deleted file mode 100644 index 2451a21d..00000000 --- a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0016-OMAP2-CPUfreq-Remove-superfluous-check-in-target-for.patch +++ /dev/null | |||
@@ -1,58 +0,0 @@ | |||
1 | From f0e647da78b80946ab301787aba4330bd7d1429d Mon Sep 17 00:00:00 2001 | ||
2 | From: Santosh Shilimkar <santosh.shilimkar@ti.com> | ||
3 | Date: Fri, 3 Jun 2011 17:46:57 +0530 | ||
4 | Subject: [PATCH 16/19] OMAP2+: CPUfreq: Remove superfluous check in target() for online CPU's. | ||
5 | |||
6 | Current OMAP2PLUS CPUfreq tagret() functions returns when all | ||
7 | the CPU's are not online. This breaks CPUfreq when secondary CPUs | ||
8 | are offlined on SMP system. | ||
9 | |||
10 | The intention of that check was just avoid CPU frequency change | ||
11 | during the window when CPU becomes online but it's cpufreq_init is | ||
12 | not done yet. Otherwise it can lead to notifiers being sent on | ||
13 | a CPU which is not yet registered to the governor. | ||
14 | |||
15 | But this race conditions is already managed by the CPUfreq | ||
16 | core driver by updating the available cpumask accordingly. | ||
17 | |||
18 | OMAP CPUFReq driver make use same cpumask for the notifiers | ||
19 | so the above problem doesn't exist. In my initial implementation | ||
20 | of the OMAP4 CPUFreq driver, I was using 'for_each_online_cpu()' | ||
21 | for notifiers which lead me to add that check. Later I fixed | ||
22 | the notifies but didn't realise that the check has become | ||
23 | redundant then. | ||
24 | |||
25 | Fix it by removing the superfluous check in target(). | ||
26 | |||
27 | Thanks for Nishant Menon <nm@ti.com> for reporting issue | ||
28 | with hot-plug and Kevin Hilman <khilman@ti.com> for his | ||
29 | comment on excessive check in target(). | ||
30 | |||
31 | Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> | ||
32 | Reported-by: Nishanth Menon <nm@ti.com> | ||
33 | Tested-by: Vishwanath BS <vishwanath.bs@ti.com> | ||
34 | Cc: Kevin Hilman <khilman@ti.com> | ||
35 | Tested-by: Nishanth Menon <nm@ti.com> | ||
36 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | ||
37 | --- | ||
38 | arch/arm/mach-omap2/omap2plus-cpufreq.c | 4 ---- | ||
39 | 1 files changed, 0 insertions(+), 4 deletions(-) | ||
40 | |||
41 | diff --git a/arch/arm/mach-omap2/omap2plus-cpufreq.c b/arch/arm/mach-omap2/omap2plus-cpufreq.c | ||
42 | index a962a31..eaefa49 100644 | ||
43 | --- a/arch/arm/mach-omap2/omap2plus-cpufreq.c | ||
44 | +++ b/arch/arm/mach-omap2/omap2plus-cpufreq.c | ||
45 | @@ -70,10 +70,6 @@ static int omap_target(struct cpufreq_policy *policy, | ||
46 | int ret = 0; | ||
47 | struct cpufreq_freqs freqs; | ||
48 | |||
49 | - /* Changes not allowed until all CPUs are online */ | ||
50 | - if (is_smp() && (num_online_cpus() < NR_CPUS)) | ||
51 | - return ret; | ||
52 | - | ||
53 | if (!freq_table) { | ||
54 | dev_err(mpu_dev, "%s: cpu%d: no freq table!\n", __func__, | ||
55 | policy->cpu); | ||
56 | -- | ||
57 | 1.7.2.5 | ||
58 | |||