diff options
author | Feng Tang <feng.tang@intel.com> | 2013-03-12 11:56:47 +0800 |
---|---|---|
committer | John Stultz <john.stultz@linaro.org> | 2013-03-15 16:51:18 -0700 |
commit | 82f9c080b22a5b859ae2b50822dfb6b812898fdb (patch) | |
tree | 71e75754fe7e2b767599dae712a31d64b1b67afb | |
parent | 5caf4636259ae3af0efbb9bfc4cd97874b547c7d (diff) | |
download | op-kernel-dev-82f9c080b22a5b859ae2b50822dfb6b812898fdb.zip op-kernel-dev-82f9c080b22a5b859ae2b50822dfb6b812898fdb.tar.gz |
x86: tsc: Add support for new S3_NONSTOP feature
Add support for new S3_NONSTOP feature
Signed-off-by: Feng Tang <feng.tang@intel.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
-rw-r--r-- | arch/x86/kernel/tsc.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c index 4b9ea10..098b3cf 100644 --- a/arch/x86/kernel/tsc.c +++ b/arch/x86/kernel/tsc.c @@ -768,7 +768,8 @@ static cycle_t read_tsc(struct clocksource *cs) static void resume_tsc(struct clocksource *cs) { - clocksource_tsc.cycle_last = 0; + if (!boot_cpu_has(X86_FEATURE_NONSTOP_TSC_S3)) + clocksource_tsc.cycle_last = 0; } static struct clocksource clocksource_tsc = { @@ -939,6 +940,9 @@ static int __init init_tsc_clocksource(void) clocksource_tsc.flags &= ~CLOCK_SOURCE_IS_CONTINUOUS; } + if (boot_cpu_has(X86_FEATURE_NONSTOP_TSC_S3)) + clocksource_tsc.flags |= CLOCK_SOURCE_SUSPEND_NONSTOP; + /* * Trust the results of the earlier calibration on systems * exporting a reliable TSC. |