projects
/
linux-block.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
x86: tsc: Add support for new S3_NONSTOP feature
[linux-block.git]
/
arch
/
x86
/
kernel
/
tsc.c
diff --git
a/arch/x86/kernel/tsc.c
b/arch/x86/kernel/tsc.c
index 4b9ea101fe3b2923744b5b0b5b61c15ff1c3f296..098b3cfda72ee152ab3ce5505ad5843b3778b699 100644
(file)
--- 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)
{
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 = {
}
static struct clocksource clocksource_tsc = {
@@
-939,6
+940,9
@@
static int __init init_tsc_clocksource(void)
clocksource_tsc.flags &= ~CLOCK_SOURCE_IS_CONTINUOUS;
}
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.
/*
* Trust the results of the earlier calibration on systems
* exporting a reliable TSC.