aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/apic_64.c
diff options
context:
space:
mode:
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);