summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorDilip Kota <eswara.kota@linux.intel.com>2020-08-03 15:56:36 +0800
committerIngo Molnar <mingo@kernel.org>2020-08-07 01:32:00 +0200
commit7d98585860d845e36ee612832a5ff021f201dbaf (patch)
tree33421d21d150297e1129fc18a618f5db819e6cc5 /arch
parent475f63ae63b5102ae6423d1712333929d04d6ecc (diff)
downloadlinux-stable-7d98585860d845e36ee612832a5ff021f201dbaf.tar.gz
linux-stable-7d98585860d845e36ee612832a5ff021f201dbaf.tar.bz2
linux-stable-7d98585860d845e36ee612832a5ff021f201dbaf.zip
x86/tsr: Fix tsc frequency enumeration bug on Lightning Mountain SoC
Frequency descriptor of Lightning Mountain SoC doesn't have all the frequency entries so resulting in the below failure causing a kernel hang: Error MSR_FSB_FREQ index 15 is unknown tsc: Fast TSC calibration failed So, add all the frequency entries in the Lightning Mountain SoC frequency descriptor. Fixes: 0cc5359d8fd45 ("x86/cpu: Update init data for new Airmont CPU model") Fixes: 812c2d7506fd ("x86/tsc_msr: Use named struct initializers") Signed-off-by: Dilip Kota <eswara.kota@linux.intel.com> Signed-off-by: Ingo Molnar <mingo@kernel.org> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Link: https://lore.kernel.org/r/211c643ae217604b46cbec43a2c0423946dc7d2d.1596440057.git.eswara.kota@linux.intel.com
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/kernel/tsc_msr.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/x86/kernel/tsc_msr.c b/arch/x86/kernel/tsc_msr.c
index 4fec6f3a1858..a654a9b4b77c 100644
--- a/arch/x86/kernel/tsc_msr.c
+++ b/arch/x86/kernel/tsc_msr.c
@@ -133,10 +133,15 @@ static const struct freq_desc freq_desc_ann = {
.mask = 0x0f,
};
-/* 24 MHz crystal? : 24 * 13 / 4 = 78 MHz */
+/*
+ * 24 MHz crystal? : 24 * 13 / 4 = 78 MHz
+ * Frequency step for Lightning Mountain SoC is fixed to 78 MHz,
+ * so all the frequency entries are 78000.
+ */
static const struct freq_desc freq_desc_lgm = {
.use_msr_plat = true,
- .freqs = { 78000, 78000, 78000, 78000, 78000, 78000, 78000, 78000 },
+ .freqs = { 78000, 78000, 78000, 78000, 78000, 78000, 78000, 78000,
+ 78000, 78000, 78000, 78000, 78000, 78000, 78000, 78000 },
.mask = 0x0f,
};