aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/i386/kernel/acpi/boot.c3
-rw-r--r--arch/x86_64/kernel/apic.c9
-rw-r--r--include/asm-x86_64/acpi.h14
3 files changed, 4 insertions, 22 deletions
diff --git a/arch/i386/kernel/acpi/boot.c b/arch/i386/kernel/acpi/boot.c
index 8309a7b2cd63..79577f0ace98 100644
--- a/arch/i386/kernel/acpi/boot.c
+++ b/arch/i386/kernel/acpi/boot.c
@@ -44,6 +44,9 @@ extern void __init clustered_apic_check(void);
44extern int gsi_irq_sharing(int gsi); 44extern int gsi_irq_sharing(int gsi);
45#include <asm/proto.h> 45#include <asm/proto.h>
46 46
47static inline int acpi_madt_oem_check(char *oem_id, char *oem_table_id) { return 0; }
48
49
47#else /* X86 */ 50#else /* X86 */
48 51
49#ifdef CONFIG_X86_LOCAL_APIC 52#ifdef CONFIG_X86_LOCAL_APIC
diff --git a/arch/x86_64/kernel/apic.c b/arch/x86_64/kernel/apic.c
index d70605eda333..e5b14c57eaa0 100644
--- a/arch/x86_64/kernel/apic.c
+++ b/arch/x86_64/kernel/apic.c
@@ -962,14 +962,12 @@ void smp_apic_timer_interrupt(struct pt_regs *regs)
962 irq_exit(); 962 irq_exit();
963} 963}
964 964
965int __initdata unsync_tsc_on_multicluster;
966
967/* 965/*
968 * oem_force_hpet_timer -- force HPET mode for some boxes. 966 * oem_force_hpet_timer -- force HPET mode for some boxes.
969 * 967 *
970 * Thus far, the major user of this is IBM's Summit2 series: 968 * Thus far, the major user of this is IBM's Summit2 series:
971 * 969 *
972 * Some clustered boxes may have unsynced TSC problems if they are 970 * Clustered boxes may have unsynced TSC problems if they are
973 * multi-chassis. Use available data to take a good guess. 971 * multi-chassis. Use available data to take a good guess.
974 * If in doubt, go HPET. 972 * If in doubt, go HPET.
975 */ 973 */
@@ -979,11 +977,6 @@ __cpuinit int oem_force_hpet_timer(void)
979 unsigned id; 977 unsigned id;
980 DECLARE_BITMAP(clustermap, NUM_APIC_CLUSTERS); 978 DECLARE_BITMAP(clustermap, NUM_APIC_CLUSTERS);
981 979
982 /* Only do this check on IBM machines - big Unisys systems
983 use multiple clusters too, but have synchronized TSC */
984 if (!unsync_tsc_on_multicluster)
985 return 0;
986
987 bitmap_zero(clustermap, NUM_APIC_CLUSTERS); 980 bitmap_zero(clustermap, NUM_APIC_CLUSTERS);
988 981
989 for (i = 0; i < NR_CPUS; i++) { 982 for (i = 0; i < NR_CPUS; i++) {
diff --git a/include/asm-x86_64/acpi.h b/include/asm-x86_64/acpi.h
index e2b9923189a0..aa1c7b2e438c 100644
--- a/include/asm-x86_64/acpi.h
+++ b/include/asm-x86_64/acpi.h
@@ -164,20 +164,6 @@ extern u8 x86_acpiid_to_apicid[];
164 164
165extern int acpi_skip_timer_override; 165extern int acpi_skip_timer_override;
166 166
167extern int unsync_tsc_on_multicluster;
168
169static inline int acpi_madt_oem_check(char *oem, char *productid)
170{
171 /* Copied from i386. Probably has too many entries. */
172 if (!strncmp(oem, "IBM ENSW", 8) &&
173 (!strncmp(productid, "VIGIL SMP", 9)
174 || !strncmp(productid, "EXA", 3)
175 || !strncmp(productid, "RUTHLESS SMP", 12))) {
176 unsync_tsc_on_multicluster = 1;
177 }
178 return 0;
179}
180
181#endif /*__KERNEL__*/ 167#endif /*__KERNEL__*/
182 168
183#endif /*_ASM_ACPI_H*/ 169#endif /*_ASM_ACPI_H*/