Commit 3e7bf251 authored by Dave Jones's avatar Dave Jones

Merge hardwired.(none):/mnt/stuff/backups/src/kernel/2.6/trees/bk-linus

into hardwired.(none):/mnt/stuff/backups/src/kernel/2.6/trees/cpufreq
parents 7140df08 d5d0de56
...@@ -23,6 +23,8 @@ ...@@ -23,6 +23,8 @@
#include "speedstep-lib.h" #include "speedstep-lib.h"
#define PFX "speedstep-smi: "
/* speedstep system management interface port/command. /* speedstep system management interface port/command.
* *
* These parameters are got from IST-SMI BIOS call. * These parameters are got from IST-SMI BIOS call.
...@@ -80,6 +82,7 @@ static int speedstep_smi_ownership (void) ...@@ -80,6 +82,7 @@ static int speedstep_smi_ownership (void)
return result; return result;
} }
/** /**
* speedstep_smi_get_freqs - get SpeedStep preferred & current freq. * speedstep_smi_get_freqs - get SpeedStep preferred & current freq.
* *
...@@ -102,6 +105,7 @@ static int speedstep_smi_get_freqs (unsigned int *low, unsigned int *high) ...@@ -102,6 +105,7 @@ static int speedstep_smi_get_freqs (unsigned int *low, unsigned int *high)
return result; return result;
} }
/** /**
* speedstep_get_state - set the SpeedStep state * speedstep_get_state - set the SpeedStep state
* @state: processor frequency state (SPEEDSTEP_LOW or SPEEDSTEP_HIGH) * @state: processor frequency state (SPEEDSTEP_LOW or SPEEDSTEP_HIGH)
...@@ -185,8 +189,7 @@ static void speedstep_set_state (unsigned int state, unsigned int notify) ...@@ -185,8 +189,7 @@ static void speedstep_set_state (unsigned int state, unsigned int notify)
* Sets a new CPUFreq policy/freq. * Sets a new CPUFreq policy/freq.
*/ */
static int speedstep_target (struct cpufreq_policy *policy, static int speedstep_target (struct cpufreq_policy *policy,
unsigned int target_freq, unsigned int target_freq, unsigned int relation)
unsigned int relation)
{ {
unsigned int newstate = 0; unsigned int newstate = 0;
...@@ -233,7 +236,7 @@ static int speedstep_cpu_init(struct cpufreq_policy *policy) ...@@ -233,7 +236,7 @@ static int speedstep_cpu_init(struct cpufreq_policy *policy)
/* fall back to speedstep_lib.c dection mechanism: try both states out */ /* fall back to speedstep_lib.c dection mechanism: try both states out */
unsigned int speedstep_processor = speedstep_detect_processor(); unsigned int speedstep_processor = speedstep_detect_processor();
dprintk(KERN_INFO "speedstep-smi: could not detect low and high frequencies by SMI call.\n"); dprintk(KERN_INFO PFX "could not detect low and high frequencies by SMI call.\n");
if (!speedstep_processor) if (!speedstep_processor)
return -ENODEV; return -ENODEV;
...@@ -243,10 +246,10 @@ static int speedstep_cpu_init(struct cpufreq_policy *policy) ...@@ -243,10 +246,10 @@ static int speedstep_cpu_init(struct cpufreq_policy *policy)
&speedstep_set_state); &speedstep_set_state);
if (result) { if (result) {
dprintk(KERN_INFO "speedstep-smi: could not detect two different speeds -- aborting.\n"); dprintk(KERN_INFO PFX "could not detect two different speeds -- aborting.\n");
return result; return result;
} else } else
dprintk(KERN_INFO "speedstep-smi: workaround worked.\n"); dprintk(KERN_INFO PFX "workaround worked.\n");
} }
/* get current speed setting */ /* get current speed setting */
...@@ -294,8 +297,14 @@ static struct cpufreq_driver speedstep_driver = { ...@@ -294,8 +297,14 @@ static struct cpufreq_driver speedstep_driver = {
*/ */
static int __init speedstep_init(void) static int __init speedstep_init(void)
{ {
struct cpuinfo_x86 *c = cpu_data;
if (c->x86_vendor != X86_VENDOR_INTEL) {
printk (KERN_INFO PFX "No Intel CPU detected.\n");
return -ENODEV;
}
dprintk("speedstep-smi: signature:0%.8lx, command:0lx%.8lx, event:0x%.8lx, perf_level:0x%.8lx.\n", dprintk(KERN_DEBUG PFX "signature:0x%.8lx, command:0x%.8lx, event:0x%.8lx, perf_level:0x%.8lx.\n",
ist_info.signature, ist_info.command, ist_info.event, ist_info.perf_level); ist_info.signature, ist_info.command, ist_info.event, ist_info.perf_level);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment