Skip to content

Commit

Permalink
x86_64: Remove APIC_DIVISOR
Browse files Browse the repository at this point in the history
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: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
  • Loading branch information
Thomas Gleixner authored and Thomas Gleixner committed Oct 12, 2007
1 parent d03030e commit b58eb00
Showing 1 changed file with 3 additions and 5 deletions.
8 changes: 3 additions & 5 deletions arch/x86/kernel/apic_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -759,8 +759,6 @@ void __init init_apic_mappings(void)
* P5 APIC double write bug.
*/

#define APIC_DIVISOR 16

static void __setup_APIC_LVTT(unsigned int clocks, int oneshot, int irqen)
{
unsigned int lvtt_value, tmp_value;
Expand All @@ -782,7 +780,7 @@ static void __setup_APIC_LVTT(unsigned int clocks, int oneshot, int irqen)
| APIC_TDR_DIV_16);

if (!oneshot)
apic_write(APIC_TMICT, clocks/APIC_DIVISOR);
apic_write(APIC_TMICT, clocks);
}

static void setup_APIC_timer(unsigned int clocks)
Expand Down Expand Up @@ -835,7 +833,7 @@ static void __init calibrate_APIC_clock(void)
*
* No interrupt enable !
*/
__setup_APIC_LVTT(4000000000, 0, 0);
__setup_APIC_LVTT(250000000, 0, 0);

apic_start = apic_read(APIC_TMCCT);
#ifdef CONFIG_X86_PM_TIMER
Expand All @@ -862,7 +860,7 @@ static void __init calibrate_APIC_clock(void)
printk(KERN_INFO "Detected %d.%03d MHz APIC timer.\n",
result / 1000 / 1000, result / 1000 % 1000);

calibration_result = result * APIC_DIVISOR / HZ;
calibration_result = result / HZ;
}

void __init setup_boot_APIC_clock (void)
Expand Down

0 comments on commit b58eb00

Please sign in to comment.