aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/apic_32.c
diff options
context:
space:
mode:
authorCyrill Gorcunov <gorcunov@gmail.com>2008-08-18 12:45:55 -0400
committerIngo Molnar <mingo@elte.hu>2008-08-18 20:07:15 -0400
commitc40aaec6868401671a0ca14ed77e9b2da2d1f223 (patch)
tree18ea19449da6423e71df9306d23caee9cadaea16 /arch/x86/kernel/apic_32.c
parentc43da2f5e92fe3bcc256f0c0d6cb858368da5bd9 (diff)
x86: apic - unify __setup_APIC_LVTT
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/apic_32.c')
-rw-r--r--arch/x86/kernel/apic_32.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/arch/x86/kernel/apic_32.c b/arch/x86/kernel/apic_32.c
index 3c1562afa274..65419c7d437f 100644
--- a/arch/x86/kernel/apic_32.c
+++ b/arch/x86/kernel/apic_32.c
@@ -248,8 +248,12 @@ int lapic_get_maxlvt(void)
248 * Local APIC timer 248 * Local APIC timer
249 */ 249 */
250 250
251/* Clock divisor is set to 16 */ 251/* Clock divisor */
252#ifdef CONFG_X86_64
253#define APIC_DIVISOR 1
254#else
252#define APIC_DIVISOR 16 255#define APIC_DIVISOR 16
256#endif
253 257
254/* 258/*
255 * This function sets up the local APIC timer, with a timeout of 259 * This function sets up the local APIC timer, with a timeout of
@@ -281,8 +285,8 @@ static void __setup_APIC_LVTT(unsigned int clocks, int oneshot, int irqen)
281 */ 285 */
282 tmp_value = apic_read(APIC_TDCR); 286 tmp_value = apic_read(APIC_TDCR);
283 apic_write(APIC_TDCR, 287 apic_write(APIC_TDCR,
284 (tmp_value & ~(APIC_TDR_DIV_1 | APIC_TDR_DIV_TMBASE)) | 288 (tmp_value & ~(APIC_TDR_DIV_1 | APIC_TDR_DIV_TMBASE)) |
285 APIC_TDR_DIV_16); 289 APIC_TDR_DIV_16);
286 290
287 if (!oneshot) 291 if (!oneshot)
288 apic_write(APIC_TMICT, clocks / APIC_DIVISOR); 292 apic_write(APIC_TMICT, clocks / APIC_DIVISOR);