OSDN Git Service

x86/tsc_msr: Correct Silvermont reference clock values
authorLen Brown <len.brown@intel.com>
Fri, 17 Jun 2016 05:22:47 +0000 (01:22 -0400)
committerIngo Molnar <mingo@kernel.org>
Sun, 10 Jul 2016 15:00:13 +0000 (17:00 +0200)
Atom processors use a 19.2 MHz crystal oscillator.

Early processors generate 100 MHz via 19.2 MHz * 26 / 5 = 99.84 MHz.

Later preocessor generate 100 MHz via 19.2 MHz * 125 / 24 = 100 MHz.

Update the Silvermont-based tables accordingly,
matching the Software Developers Manual.

Also, correct a 166 MHz entry that should have been 116 MHz,
and add a missing 80 MHz entry.

Reported-by: Stephane Gasparini <stephane.gasparini@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/5d7561655dfb066ff10801b423405bae4d1cfbe2.1466138954.git.len.brown@intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/kernel/tsc_msr.c

index 4110f72..20487e2 100644 (file)
@@ -35,11 +35,11 @@ static struct freq_desc freq_desc_tables[] = {
        /* CLV+ */
        { 6, 0x35, 0, { 0, 133200, 0, 0, 0, 99840, 0, 83200 } },
        /* TNG - Intel Atom processor Z3400 series */
-       { 6, 0x4a, 1, { 0, 99840, 133200, 0, 0, 0, 0, 0 } },
+       { 6, 0x4a, 1, { 0, 100000, 133300, 0, 0, 0, 0, 0 } },
        /* VLV2 - Intel Atom processor E3000, Z3600, Z3700 series */
-       { 6, 0x37, 1, { 83200, 99840, 133200, 166400, 0, 0, 0, 0 } },
+       { 6, 0x37, 1, { 83300, 100000, 133300, 116700, 80000, 0, 0, 0 } },
        /* ANN - Intel Atom processor Z3500 series */
-       { 6, 0x5a, 1, { 83200, 99840, 133200, 99840, 0, 0, 0, 0 } },
+       { 6, 0x5a, 1, { 83300, 100000, 133300, 100000, 0, 0, 0, 0 } },
 };
 
 static int match_cpu(u8 family, u8 model)