diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-05-06 15:59:27 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-05-06 15:59:27 -0400 |
commit | 3f86ba5d0c1c34a4469da1f62d3707e32a20d6ba (patch) | |
tree | 97098c31c0b962a62c6bafa55d953623e8e91d79 | |
parent | 01ec7167615417dd8f6f4d3a0baeadbb4a686091 (diff) | |
parent | 886123fb3a8656699dff40afa0573df359abeb18 (diff) |
Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 fixes from Ingo Molnar:
"This contains two fixes: a boot fix for older SGI/UV systems, and an
APIC calibration fix"
* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/tsc: Read all ratio bits from MSR_PLATFORM_INFO
x86/platform/UV: Bring back the call to map_low_mmrs in uv_system_init
-rw-r--r-- | arch/x86/kernel/apic/x2apic_uv_x.c | 4 | ||||
-rw-r--r-- | arch/x86/kernel/tsc_msr.c | 2 |
2 files changed, 2 insertions, 4 deletions
diff --git a/arch/x86/kernel/apic/x2apic_uv_x.c b/arch/x86/kernel/apic/x2apic_uv_x.c index 8f4942e2bcbb..d7ce96a7daca 100644 --- a/arch/x86/kernel/apic/x2apic_uv_x.c +++ b/arch/x86/kernel/apic/x2apic_uv_x.c | |||
@@ -891,9 +891,7 @@ void __init uv_system_init(void) | |||
891 | } | 891 | } |
892 | pr_info("UV: Found %s hub\n", hub); | 892 | pr_info("UV: Found %s hub\n", hub); |
893 | 893 | ||
894 | /* We now only need to map the MMRs on UV1 */ | 894 | map_low_mmrs(); |
895 | if (is_uv1_hub()) | ||
896 | map_low_mmrs(); | ||
897 | 895 | ||
898 | m_n_config.v = uv_read_local_mmr(UVH_RH_GAM_CONFIG_MMR ); | 896 | m_n_config.v = uv_read_local_mmr(UVH_RH_GAM_CONFIG_MMR ); |
899 | m_val = m_n_config.s.m_skt; | 897 | m_val = m_n_config.s.m_skt; |
diff --git a/arch/x86/kernel/tsc_msr.c b/arch/x86/kernel/tsc_msr.c index 92ae6acac8a7..6aa0f4d9eea6 100644 --- a/arch/x86/kernel/tsc_msr.c +++ b/arch/x86/kernel/tsc_msr.c | |||
@@ -92,7 +92,7 @@ unsigned long try_msr_calibrate_tsc(void) | |||
92 | 92 | ||
93 | if (freq_desc_tables[cpu_index].msr_plat) { | 93 | if (freq_desc_tables[cpu_index].msr_plat) { |
94 | rdmsr(MSR_PLATFORM_INFO, lo, hi); | 94 | rdmsr(MSR_PLATFORM_INFO, lo, hi); |
95 | ratio = (lo >> 8) & 0x1f; | 95 | ratio = (lo >> 8) & 0xff; |
96 | } else { | 96 | } else { |
97 | rdmsr(MSR_IA32_PERF_STATUS, lo, hi); | 97 | rdmsr(MSR_IA32_PERF_STATUS, lo, hi); |
98 | ratio = (hi >> 8) & 0x1f; | 98 | ratio = (hi >> 8) & 0x1f; |