diff options
| -rw-r--r-- | arch/i386/kernel/acpi/boot.c | 3 | ||||
| -rw-r--r-- | arch/x86_64/kernel/apic.c | 9 | ||||
| -rw-r--r-- | include/asm-x86_64/acpi.h | 14 |
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); | |||
| 44 | extern int gsi_irq_sharing(int gsi); | 44 | extern int gsi_irq_sharing(int gsi); |
| 45 | #include <asm/proto.h> | 45 | #include <asm/proto.h> |
| 46 | 46 | ||
| 47 | static 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 | ||
| 965 | int __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 | ||
| 165 | extern int acpi_skip_timer_override; | 165 | extern int acpi_skip_timer_override; |
| 166 | 166 | ||
| 167 | extern int unsync_tsc_on_multicluster; | ||
| 168 | |||
| 169 | static 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*/ |
