From: Len Brown <lenb@kernel.org>
To: x86@kernel.org
Cc: linux-kernel@vger.kernel.org, Len Brown <len.brown@intel.com>
Subject: [PATCH 04/10] x86 tsc_msr: Update comments, expand definitions
Date: Fri, 17 Jun 2016 01:22:46 -0400 [thread overview]
Message-ID: <8653a2dba21fef122fc7b29eafb750e2004d3976.1466138954.git.len.brown@intel.com> (raw)
In-Reply-To: <20160617052252.25991-1-lenb@kernel.org>
In-Reply-To: <2199d0e959f7f71a18827268b5d060f8d3831639.1466138954.git.len.brown@intel.com>
From: Len Brown <len.brown@intel.com>
Syntax only, no functional change.
Signed-off-by: Len Brown <len.brown@intel.com>
---
arch/x86/kernel/tsc_msr.c | 36 ++++++++++--------------------------
1 file changed, 10 insertions(+), 26 deletions(-)
diff --git a/arch/x86/kernel/tsc_msr.c b/arch/x86/kernel/tsc_msr.c
index f7ba44b..4110f72 100644
--- a/arch/x86/kernel/tsc_msr.c
+++ b/arch/x86/kernel/tsc_msr.c
@@ -1,14 +1,5 @@
/*
- * tsc_msr.c - MSR based TSC calibration on Intel Atom SoC platforms.
- *
- * TSC in Intel Atom SoC runs at a constant rate which can be figured
- * by this formula:
- * <maximum core-clock to bus-clock ratio> * <maximum resolved frequency>
- * See Intel 64 and IA-32 System Programming Guid section 16.12 and 30.11.5
- * for details.
- * Especially some Intel Atom SoCs don't have PIT(i8254) or HPET, so MSR
- * based calibration is the only option.
- *
+ * tsc_msr.c - TSC frequency enumeration via MSR
*
* Copyright (C) 2013 Intel Corporation
* Author: Bin Gao <bin.gao@intel.com>
@@ -22,17 +13,10 @@
#include <asm/apic.h>
#include <asm/param.h>
-/* CPU reference clock frequency: in KHz */
-#define FREQ_83 83200
-#define FREQ_100 99840
-#define FREQ_133 133200
-#define FREQ_166 166400
-
#define MAX_NUM_FREQS 8
/*
- * According to Intel 64 and IA-32 System Programming Guide,
- * if MSR_PERF_STAT[31] is set, the maximum resolved bus ratio can be
+ * If MSR_PERF_STAT[31] is set, the maximum resolved bus ratio can be
* read in MSR_PLATFORM_ID[12:8], otherwise in MSR_PERF_STAT[44:40].
* Unfortunately some Intel Atom SoCs aren't quite compliant to this,
* so we need manually differentiate SoC families. This is what the
@@ -47,15 +31,15 @@ struct freq_desc {
static struct freq_desc freq_desc_tables[] = {
/* PNW */
- { 6, 0x27, 0, { 0, 0, 0, 0, 0, FREQ_100, 0, FREQ_83 } },
+ { 6, 0x27, 0, { 0, 0, 0, 0, 0, 99840, 0, 83200 } },
/* CLV+ */
- { 6, 0x35, 0, { 0, FREQ_133, 0, 0, 0, FREQ_100, 0, FREQ_83 } },
- /* TNG */
- { 6, 0x4a, 1, { 0, FREQ_100, FREQ_133, 0, 0, 0, 0, 0 } },
- /* VLV2 */
- { 6, 0x37, 1, { FREQ_83, FREQ_100, FREQ_133, FREQ_166, 0, 0, 0, 0 } },
- /* ANN */
- { 6, 0x5a, 1, { FREQ_83, FREQ_100, FREQ_133, FREQ_100, 0, 0, 0, 0 } },
+ { 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 } },
+ /* VLV2 - Intel Atom processor E3000, Z3600, Z3700 series */
+ { 6, 0x37, 1, { 83200, 99840, 133200, 166400, 0, 0, 0, 0 } },
+ /* ANN - Intel Atom processor Z3500 series */
+ { 6, 0x5a, 1, { 83200, 99840, 133200, 99840, 0, 0, 0, 0 } },
};
static int match_cpu(u8 family, u8 model)
--
2.9.0
next prev parent reply other threads:[~2016-06-17 5:23 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-17 5:22 [PATCH 0/10] x86/tsc: fast calibration updates Len Brown
2016-06-17 5:22 ` [PATCH 01/10] Revert "x86/tsc: Add missing Cherrytrail frequency to the table" Len Brown
2016-06-17 5:22 ` [PATCH 02/10] x86 tsc_msr: Identify Intel-specific code Len Brown
2016-07-10 18:10 ` [tip:x86/timers] x86/tsc_msr: " tip-bot for Len Brown
2016-06-17 5:22 ` [PATCH 03/10] x86 tsc_msr: Remove debugging messages Len Brown
2016-07-10 18:10 ` [tip:x86/timers] x86/tsc_msr: " tip-bot for Len Brown
2016-06-17 5:22 ` Len Brown [this message]
2016-07-10 18:11 ` [tip:x86/timers] x86/tsc_msr: Update comments, expand definitions tip-bot for Len Brown
2016-06-17 5:22 ` [PATCH 05/10] x86 tsc_msr: Correct Silvermont reference clock values Len Brown
2016-07-10 18:11 ` [tip:x86/timers] x86/tsc_msr: " tip-bot for Len Brown
2016-06-17 5:22 ` [PATCH 06/10] x86 tsc_msr: Add Airmont " Len Brown
2016-07-10 18:12 ` [tip:x86/timers] x86/tsc_msr: " tip-bot for Len Brown
2016-06-17 5:22 ` [PATCH 07/10] x86 tsc_msr: Extend to include Intel Core Architecture Len Brown
2016-07-10 18:12 ` [tip:x86/timers] x86/tsc_msr: " tip-bot for Len Brown
2016-06-17 5:22 ` [PATCH 08/10] x86 tsc_msr: Remove irqoff around MSR-based TSC enumeration Len Brown
2016-07-10 18:12 ` [tip:x86/timers] x86/tsc_msr: " tip-bot for Len Brown
2016-07-11 19:33 ` tip-bot for Len Brown
2016-06-17 5:22 ` [PATCH 09/10] x86 tsc: enumerate SKL cpu_khz and tsc_khz via CPUID Len Brown
2016-07-10 18:13 ` [tip:x86/timers] x86/tsc: Enumerate " tip-bot for Len Brown
2016-07-11 19:34 ` tip-bot for Len Brown
2016-06-17 5:22 ` [PATCH 10/10] x86 tsc: enumerate BXT " Len Brown
2016-07-10 18:13 ` [tip:x86/timers] x86/tsc: Enumerate " tip-bot for Len Brown
2016-07-11 19:34 ` tip-bot for Len Brown
2016-07-10 18:09 ` [tip:x86/timers] Revert "x86/tsc: Add missing Cherrytrail frequency to the table" tip-bot for Len Brown
2016-06-17 7:36 ` [PATCH 0/10] x86/tsc: fast calibration updates Thomas Gleixner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8653a2dba21fef122fc7b29eafb750e2004d3976.1466138954.git.len.brown@intel.com \
--to=lenb@kernel.org \
--cc=len.brown@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®