Commit e4ddca77 authored by Andrew Morton's avatar Andrew Morton Committed by Vojtech Pavlik

[PATCH] Enable timer_cyclone code

Patch from john stultz <johnstul@us.ibm.com>

        This patch simply enables the existing timer_cyclone code for
Summit/x440 systems.
parent a188176b
...@@ -4,4 +4,4 @@ ...@@ -4,4 +4,4 @@
obj-y := timer.o timer_none.o timer_tsc.o timer_pit.o obj-y := timer.o timer_none.o timer_tsc.o timer_pit.o
obj-$(CONFIG_X86_CYCLONE) += timer_cyclone.o obj-$(CONFIG_X86_SUMMIT) += timer_cyclone.o
...@@ -4,9 +4,14 @@ ...@@ -4,9 +4,14 @@
/* list of externed timers */ /* list of externed timers */
extern struct timer_opts timer_pit; extern struct timer_opts timer_pit;
extern struct timer_opts timer_tsc; extern struct timer_opts timer_tsc;
#ifdef CONFIG_X86_SUMMIT
extern struct timer_opts timer_cyclone;
#endif
/* list of timers, ordered by preference, NULL terminated */ /* list of timers, ordered by preference, NULL terminated */
static struct timer_opts* timers[] = { static struct timer_opts* timers[] = {
#ifdef CONFIG_X86_SUMMIT
&timer_cyclone,
#endif
&timer_tsc, &timer_tsc,
&timer_pit, &timer_pit,
NULL, NULL,
......
...@@ -60,7 +60,7 @@ enum fixed_addresses { ...@@ -60,7 +60,7 @@ enum fixed_addresses {
#ifdef CONFIG_X86_F00F_BUG #ifdef CONFIG_X86_F00F_BUG
FIX_F00F_IDT, /* Virtual mapping for IDT */ FIX_F00F_IDT, /* Virtual mapping for IDT */
#endif #endif
#ifdef CONFIG_X86_CYCLONE #ifdef CONFIG_X86_SUMMIT
FIX_CYCLONE_TIMER, /*cyclone timer register*/ FIX_CYCLONE_TIMER, /*cyclone timer register*/
#endif #endif
#ifdef CONFIG_HIGHMEM #ifdef CONFIG_HIGHMEM
......
#ifndef __ASM_MACH_MPPARSE_H #ifndef __ASM_MACH_MPPARSE_H
#define __ASM_MACH_MPPARSE_H #define __ASM_MACH_MPPARSE_H
extern int use_cyclone;
static inline void mpc_oem_bus_info(struct mpc_config_bus *m, char *name, static inline void mpc_oem_bus_info(struct mpc_config_bus *m, char *name,
struct mpc_config_translation *translation) struct mpc_config_translation *translation)
{ {
...@@ -17,14 +19,18 @@ static inline void mps_oem_check(struct mp_config_table *mpc, char *oem, ...@@ -17,14 +19,18 @@ static inline void mps_oem_check(struct mp_config_table *mpc, char *oem,
{ {
if (!strncmp(oem, "IBM ENSW", 8) && if (!strncmp(oem, "IBM ENSW", 8) &&
(!strncmp(productid, "VIGIL SMP", 9) (!strncmp(productid, "VIGIL SMP", 9)
|| !strncmp(productid, "RUTHLESS SMP", 12))) || !strncmp(productid, "RUTHLESS SMP", 12))){
x86_summit = 1; x86_summit = 1;
use_cyclone = 1; /*enable cyclone-timer*/
}
} }
/* Hook from generic ACPI tables.c */ /* Hook from generic ACPI tables.c */
static inline void acpi_madt_oem_check(char *oem_id, char *oem_table_id) static inline void acpi_madt_oem_check(char *oem_id, char *oem_table_id)
{ {
if (!strncmp(oem_id, "IBM", 3) && !strncmp(oem_table_id, "SERVIGIL", 8)) if (!strncmp(oem_id, "IBM", 3) && !strncmp(oem_table_id, "SERVIGIL", 8)){
x86_summit = 1; x86_summit = 1;
use_cyclone = 1; /*enable cyclone-timer*/
}
} }
#endif /* __ASM_MACH_MPPARSE_H */ #endif /* __ASM_MACH_MPPARSE_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment