x86/tsc: Add additional Intel CPU models to the crystal quirk list
authorPrarit Bhargava <prarit@redhat.com>
Mon, 19 Sep 2016 12:51:41 +0000 (08:51 -0400)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 19 Sep 2016 23:00:32 +0000 (01:00 +0200)
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>
arch/x86/kernel/tsc.c

index 2344758ba8a338d71dd644c78da08e9d8135d1c7..46b2f41f8b05295cb782896da635c2c4c8687507 100644 (file)
@@ -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;