In commit aa297292d708 ("x86/tsc: Enumerate SKL cpu_khz and tsc_khz via CPUID"), the kernel added support for Intel processors which had a different CPU base-frequency and TSC frequency.
The turbostat utility has been updated with KBL and SKX processors, and they should also be added to the crystal_khz white list. For example, on INTEL_FAM6_KABYLAKE_MOBILE native_calibrate_tsc() returns 0 MHz for tsc_khz and after this patch native_calibrate_tsc() returns 1608 MHz. v2: peterz, fix typo for SKX should be 25000 Signed-off-by: Prarit Bhargava <pra...@redhat.com> Cc: Thomas Gleixner <t...@linutronix.de> Cc: Ingo Molnar <mi...@redhat.com> Cc: "H. Peter Anvin" <h...@zytor.com> Cc: x...@kernel.org Cc: Rafael Aquini <aqu...@redhat.com> Cc: "Peter Zijlstra (Intel)" <pet...@infradead.org> Cc: Andy Lutomirski <l...@kernel.org> Cc: Len Brown <len.br...@intel.com> Cc: l...@kernel.org --- arch/x86/kernel/tsc.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c index 2344758ba8a3..cd0c9ece25de 100644 --- a/arch/x86/kernel/tsc.c +++ b/arch/x86/kernel/tsc.c @@ -689,11 +689,18 @@ 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; + default: + crystal_khz = 0; } } -- 1.7.9.3