aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/apic_64.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_64.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_64.c')
-rw-r--r--arch/x86/kernel/apic_64.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/arch/x86/kernel/apic_64.c b/arch/x86/kernel/apic_64.c
index d74abf7e92f7..fe57db9f3fbb 100644
--- a/arch/x86/kernel/apic_64.c
+++ b/arch/x86/kernel/apic_64.c
@@ -259,8 +259,12 @@ int lapic_get_maxlvt(void)
259 * Local APIC timer 259 * Local APIC timer
260 */ 260 */
261 261
262/* Clock divisor is set to 1 */ 262/* Clock divisor */
263#ifdef CONFG_X86_64
263#define APIC_DIVISOR 1 264#define APIC_DIVISOR 1
265#else
266#define APIC_DIVISOR 16
267#endif
264 268
265/* 269/*
266 * This function sets up the local APIC timer, with a timeout of 270 * This function sets up the local APIC timer, with a timeout of
@@ -291,9 +295,9 @@ static void __setup_APIC_LVTT(unsigned int clocks, int oneshot, int irqen)
291 * Divide PICLK by 16 295 * Divide PICLK by 16
292 */ 296 */
293 tmp_value = apic_read(APIC_TDCR); 297 tmp_value = apic_read(APIC_TDCR);
294 apic_write(APIC_TDCR, (tmp_value 298 apic_write(APIC_TDCR,
295 & ~(APIC_TDR_DIV_1 | APIC_TDR_DIV_TMBASE)) 299 (tmp_value & ~(APIC_TDR_DIV_1 | APIC_TDR_DIV_TMBASE)) |
296 | APIC_TDR_DIV_16); 300 APIC_TDR_DIV_16);
297 301
298 if (!oneshot) 302 if (!oneshot)
299 apic_write(APIC_TMICT, clocks / APIC_DIVISOR); 303 apic_write(APIC_TMICT, clocks / APIC_DIVISOR);