Commit b58eb00d authored by Thomas Gleixner's avatar Thomas Gleixner Committed by Thomas Gleixner

x86_64: Remove APIC_DIVISOR

APIC_DIVISOR is rather useless. It makes the calibration result more
accurate in the first place, but we discard this later when we write
the value to the APIC timer by dividing the calibration value by
APIC_DIVISOR.
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarChris Wright <chrisw@sous-sol.org>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
Signed-off-by: default avatarArjan van de Ven <arjan@linux.intel.com>
parent d03030e9
...@@ -759,8 +759,6 @@ void __init init_apic_mappings(void) ...@@ -759,8 +759,6 @@ void __init init_apic_mappings(void)
* P5 APIC double write bug. * P5 APIC double write bug.
*/ */
#define APIC_DIVISOR 16
static void __setup_APIC_LVTT(unsigned int clocks, int oneshot, int irqen) static void __setup_APIC_LVTT(unsigned int clocks, int oneshot, int irqen)
{ {
unsigned int lvtt_value, tmp_value; unsigned int lvtt_value, tmp_value;
...@@ -782,7 +780,7 @@ static void __setup_APIC_LVTT(unsigned int clocks, int oneshot, int irqen) ...@@ -782,7 +780,7 @@ static void __setup_APIC_LVTT(unsigned int clocks, int oneshot, int irqen)
| APIC_TDR_DIV_16); | APIC_TDR_DIV_16);
if (!oneshot) if (!oneshot)
apic_write(APIC_TMICT, clocks/APIC_DIVISOR); apic_write(APIC_TMICT, clocks);
} }
static void setup_APIC_timer(unsigned int clocks) static void setup_APIC_timer(unsigned int clocks)
...@@ -835,7 +833,7 @@ static void __init calibrate_APIC_clock(void) ...@@ -835,7 +833,7 @@ static void __init calibrate_APIC_clock(void)
* *
* No interrupt enable ! * No interrupt enable !
*/ */
__setup_APIC_LVTT(4000000000, 0, 0); __setup_APIC_LVTT(250000000, 0, 0);
apic_start = apic_read(APIC_TMCCT); apic_start = apic_read(APIC_TMCCT);
#ifdef CONFIG_X86_PM_TIMER #ifdef CONFIG_X86_PM_TIMER
...@@ -862,7 +860,7 @@ static void __init calibrate_APIC_clock(void) ...@@ -862,7 +860,7 @@ static void __init calibrate_APIC_clock(void)
printk(KERN_INFO "Detected %d.%03d MHz APIC timer.\n", printk(KERN_INFO "Detected %d.%03d MHz APIC timer.\n",
result / 1000 / 1000, result / 1000 % 1000); result / 1000 / 1000, result / 1000 % 1000);
calibration_result = result * APIC_DIVISOR / HZ; calibration_result = result / HZ;
} }
void __init setup_boot_APIC_clock (void) void __init setup_boot_APIC_clock (void)
......
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