aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386/kernel/cpu/cpufreq/speedstep-smi.c
diff options
context:
space:
mode:
authorMattia Dongili <malattia@linux.it>2005-12-02 21:59:41 +0100
committerDave Jones <davej@redhat.com>2005-12-06 19:27:15 -0800
commit1a10760c91c394dfe4adfefeeaf85cd8098c4894 (patch)
tree80e6bfa8c8c247843bfbc90b9809ffafda1841f8 /arch/i386/kernel/cpu/cpufreq/speedstep-smi.c
parentMerge ../linus/ (diff)
downloadlinux-dev-1a10760c91c394dfe4adfefeeaf85cd8098c4894.tar.xz
linux-dev-1a10760c91c394dfe4adfefeeaf85cd8098c4894.zip
[CPUFREQ] Measure transition latency at driver initialization
The attached patch introduces runtime latency measurement for ICH[234] based chipsets instead of using CPUFREQ_ETERNAL. It includes some sanity checks in case the measured value is out of range and assigns a safe value of 500uSec that should still be enough on problematics chipsets (current testing report values ~200uSec). The measurement is currently done in speedstep_get_freqs in order to avoid further unnecessary transitions and in the hope it'll come handy for SMI also. Signed-off-by: Mattia Dongili <malattia@linux.it> Acked-by: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: Dave Jones <davej@redhat.com> speedstep-ich.c | 4 ++-- speedstep-lib.c | 32 +++++++++++++++++++++++++++++++- speedstep-lib.h | 1 + speedstep-smi.c | 1 + 4 files changed, 35 insertions(+), 3 deletions(-)
Diffstat (limited to 'arch/i386/kernel/cpu/cpufreq/speedstep-smi.c')
-rw-r--r--arch/i386/kernel/cpu/cpufreq/speedstep-smi.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/i386/kernel/cpu/cpufreq/speedstep-smi.c b/arch/i386/kernel/cpu/cpufreq/speedstep-smi.c
index 2718fb6f6aba..28cc5d524afc 100644
--- a/arch/i386/kernel/cpu/cpufreq/speedstep-smi.c
+++ b/arch/i386/kernel/cpu/cpufreq/speedstep-smi.c
@@ -269,6 +269,7 @@ static int speedstep_cpu_init(struct cpufreq_policy *policy)
result = speedstep_get_freqs(speedstep_processor,
&speedstep_freqs[SPEEDSTEP_LOW].frequency,
&speedstep_freqs[SPEEDSTEP_HIGH].frequency,
+ NULL,
&speedstep_set_state);
if (result) {