summaryrefslogtreecommitdiffstats
path: root/arch/i386/kernel/timers/timer_tsc.c
diff options
context:
space:
mode:
author <jgarzik@pretzel.yyz.us>2005-06-03 23:54:56 -0400
committerJeff Garzik <jgarzik@pobox.com>2005-06-03 23:54:56 -0400
commit73561695b2e77473e353a5ae63bab81ed5098d8e (patch)
treed039affaa54d38985e41566e4d62e0aa6a170287 /arch/i386/kernel/timers/timer_tsc.c
parent6f2f38128170814e151cfedf79532e19cd179567 (diff)
parent8be3de3fd8469154a2b3e18a4712032dac5b4a53 (diff)
downloadblackbird-op-linux-73561695b2e77473e353a5ae63bab81ed5098d8e.tar.gz
blackbird-op-linux-73561695b2e77473e353a5ae63bab81ed5098d8e.zip
Automatic merge of /spare/repo/linux-2.6/.git branch HEAD
Diffstat (limited to 'arch/i386/kernel/timers/timer_tsc.c')
-rw-r--r--arch/i386/kernel/timers/timer_tsc.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/arch/i386/kernel/timers/timer_tsc.c b/arch/i386/kernel/timers/timer_tsc.c
index 7926d967be00..180444d87824 100644
--- a/arch/i386/kernel/timers/timer_tsc.c
+++ b/arch/i386/kernel/timers/timer_tsc.c
@@ -320,6 +320,26 @@ core_initcall(cpufreq_tsc);
static inline void cpufreq_delayed_get(void) { return; }
#endif
+int recalibrate_cpu_khz(void)
+{
+#ifndef CONFIG_SMP
+ unsigned long cpu_khz_old = cpu_khz;
+
+ if (cpu_has_tsc) {
+ init_cpu_khz();
+ cpu_data[0].loops_per_jiffy =
+ cpufreq_scale(cpu_data[0].loops_per_jiffy,
+ cpu_khz_old,
+ cpu_khz);
+ return 0;
+ } else
+ return -ENODEV;
+#else
+ return -ENODEV;
+#endif
+}
+EXPORT_SYMBOL(recalibrate_cpu_khz);
+
static void mark_offset_tsc(void)
{
unsigned long lost,delay;
OpenPOWER on IntegriCloud