]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - src/patches/suse-2.6.27.31/patches.drivers/cpufreq_add_cpu_number_paramater_1.patch
Imported linux-2.6.27.39 suse/xen patches.
[ipfire-2.x.git] / src / patches / suse-2.6.27.31 / patches.drivers / cpufreq_add_cpu_number_paramater_1.patch
diff --git a/src/patches/suse-2.6.27.31/patches.drivers/cpufreq_add_cpu_number_paramater_1.patch b/src/patches/suse-2.6.27.31/patches.drivers/cpufreq_add_cpu_number_paramater_1.patch
deleted file mode 100644 (file)
index 0c76a0a..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-From: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
-Subject: cpufreq: Add a cpu parameter to __cpufreq_driver_getavg().
-
-Add a cpu parameter to __cpufreq_driver_getavg(). This is needed for software
-cpufreq coordination where policy->cpu may not be same as the CPU on which we
-want to getavg frequency. 
-
-A follow-on patch will use this parameter to getavg freq from all cpus
-in policy->cpus.
-
-Change since last patch. Fix the offline/online and suspend/resume
-oops reported by Youquan Song <youquan.song@intel.com>
-
-Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
-Signed-off-by: Thomas Renninger <trenn@suse.de>
-
----
- arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c |    5 +++--
- drivers/cpufreq/cpufreq.c                  |    6 +++---
- drivers/cpufreq/cpufreq_ondemand.c         |    2 +-
- include/linux/cpufreq.h                    |    7 +++++--
- 4 files changed, 12 insertions(+), 8 deletions(-)
-
-Index: cpufreq.git/drivers/cpufreq/cpufreq.c
-===================================================================
---- cpufreq.git.orig/drivers/cpufreq/cpufreq.c 2008-08-04 10:28:26.000000000 -0700
-+++ cpufreq.git/drivers/cpufreq/cpufreq.c      2008-08-04 10:31:27.000000000 -0700
-@@ -1485,7 +1485,7 @@ int cpufreq_driver_target(struct cpufreq
- }
- EXPORT_SYMBOL_GPL(cpufreq_driver_target);
--int __cpufreq_driver_getavg(struct cpufreq_policy *policy)
-+int __cpufreq_driver_getavg(struct cpufreq_policy *policy, unsigned int cpu)
- {
-       int ret = 0;
-@@ -1493,8 +1493,8 @@ int __cpufreq_driver_getavg(struct cpufr
-       if (!policy)
-               return -EINVAL;
--      if (cpu_online(policy->cpu) && cpufreq_driver->getavg)
--              ret = cpufreq_driver->getavg(policy->cpu);
-+      if (cpu_online(cpu) && cpufreq_driver->getavg)
-+              ret = cpufreq_driver->getavg(policy, cpu);
-       cpufreq_cpu_put(policy);
-       return ret;
-Index: cpufreq.git/drivers/cpufreq/cpufreq_ondemand.c
-===================================================================
---- cpufreq.git.orig/drivers/cpufreq/cpufreq_ondemand.c        2008-08-04 10:28:26.000000000 -0700
-+++ cpufreq.git/drivers/cpufreq/cpufreq_ondemand.c     2008-08-04 10:31:27.000000000 -0700
-@@ -415,7 +415,7 @@ static void dbs_check_cpu(struct cpu_dbs
-       if (load < (dbs_tuners_ins.up_threshold - 10)) {
-               unsigned int freq_next, freq_cur;
--              freq_cur = __cpufreq_driver_getavg(policy);
-+              freq_cur = __cpufreq_driver_getavg(policy, policy->cpu);
-               if (!freq_cur)
-                       freq_cur = policy->cur;
-Index: cpufreq.git/include/linux/cpufreq.h
-===================================================================
---- cpufreq.git.orig/include/linux/cpufreq.h   2008-08-04 10:28:26.000000000 -0700
-+++ cpufreq.git/include/linux/cpufreq.h        2008-08-04 10:31:27.000000000 -0700
-@@ -187,7 +187,8 @@ extern int __cpufreq_driver_target(struc
-                                  unsigned int relation);
--extern int __cpufreq_driver_getavg(struct cpufreq_policy *policy);
-+extern int __cpufreq_driver_getavg(struct cpufreq_policy *policy,
-+                                 unsigned int cpu);
- int cpufreq_register_governor(struct cpufreq_governor *governor);
- void cpufreq_unregister_governor(struct cpufreq_governor *governor);
-@@ -226,7 +227,9 @@ struct cpufreq_driver {
-       unsigned int    (*get)  (unsigned int cpu);
-       /* optional */
--      unsigned int (*getavg)  (unsigned int cpu);
-+      unsigned int (*getavg)  (struct cpufreq_policy *policy,
-+                               unsigned int cpu);
-+
-       int     (*exit)         (struct cpufreq_policy *policy);
-       int     (*suspend)      (struct cpufreq_policy *policy, pm_message_t pmsg);
-       int     (*resume)       (struct cpufreq_policy *policy);
-Index: cpufreq.git/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c
-===================================================================
---- cpufreq.git.orig/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c        2008-08-04 10:28:26.000000000 -0700
-+++ cpufreq.git/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c     2008-08-04 10:31:27.000000000 -0700
-@@ -256,7 +256,8 @@ static u32 get_cur_val(const cpumask_t *
-  * Only IA32_APERF/IA32_MPERF ratio is architecturally defined and
-  * no meaning should be associated with absolute values of these MSRs.
-  */
--static unsigned int get_measured_perf(unsigned int cpu)
-+static unsigned int get_measured_perf(struct cpufreq_policy *policy,
-+                                    unsigned int cpu)
- {
-       union {
-               struct {
-@@ -326,7 +327,7 @@ static unsigned int get_measured_perf(un
- #endif
--      retval = per_cpu(drv_data, cpu)->max_freq * perf_percent / 100;
-+      retval = per_cpu(drv_data, policy->cpu)->max_freq * perf_percent / 100;
-       put_cpu();
-       set_cpus_allowed_ptr(current, &saved_mask);
-
--- 
-