summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/tsc.c
diff options
context:
space:
mode:
authorPrarit Bhargava <prarit@redhat.com>2016-09-19 08:51:41 -0400
committerThomas Gleixner <tglx@linutronix.de>2016-09-20 01:00:32 +0200
commit6baf3d61821f5b38f27b4e9f044ad4d1e8f3d14f (patch)
tree9c54711c91b8c93fb10242a6637a4c3fb334730b /arch/x86/kernel/tsc.c
parent655e52d2b62458032fc67ff7daaa664af6f36fb5 (diff)
downloadop-kernel-dev-6baf3d61821f5b38f27b4e9f044ad4d1e8f3d14f.zip
op-kernel-dev-6baf3d61821f5b38f27b4e9f044ad4d1e8f3d14f.tar.gz
x86/tsc: Add additional Intel CPU models to the crystal quirk list
commit aa297292d708 ("x86/tsc: Enumerate SKL cpu_khz and tsc_khz via CPUID") added code to retrieve the crystal and TSC frequency from CPUID leaves. If the crystal freqency is enumerated as 0,the resulting TSC frequency is 0 as well. For CPUs with a known fixed crystal frequency a quirk list is available to set the frequency, Kabylake and SkylakeX CPUs are missing in the list of CPUs which need this quirk. Add them so the TSC frequency can be calculated correctly. [ tglx: Removed the silly default case as the switch() is only invoked when cpu_khz is 0. Massaged changelog. ] Signed-off-by: Prarit Bhargava <prarit@redhat.com> Cc: Len Brown <len.brown@intel.com> Cc: Rafael Aquini <aquini@redhat.com> Cc: "Peter Zijlstra (Intel)" <peterz@infradead.org> Cc: Andy Lutomirski <luto@kernel.org> Link: http://lkml.kernel.org/r/1474289501-31717-3-git-send-email-prarit@redhat.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/kernel/tsc.c')
-rw-r--r--arch/x86/kernel/tsc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c
index 2344758..46b2f41 100644
--- a/arch/x86/kernel/tsc.c
+++ b/arch/x86/kernel/tsc.c
@@ -689,8 +689,13 @@ unsigned long native_calibrate_tsc(void)
switch (boot_cpu_data.x86_model) {
case INTEL_FAM6_SKYLAKE_MOBILE:
case INTEL_FAM6_SKYLAKE_DESKTOP:
+ case INTEL_FAM6_KABYLAKE_MOBILE:
+ case INTEL_FAM6_KABYLAKE_DESKTOP:
crystal_khz = 24000; /* 24.0 MHz */
break;
+ case INTEL_FAM6_SKYLAKE_X:
+ crystal_khz = 25000; /* 25.0 MHz */
+ break;
case INTEL_FAM6_ATOM_GOLDMONT:
crystal_khz = 19200; /* 19.2 MHz */
break;
OpenPOWER on IntegriCloud