[PATCH] x86_64: Don't need to read PIT in timer handler when PM timer is used

The PM timer path through main_timer_handler doesn't need
the delay variable because it figures it out in a different way.
Don't try to read it from the PIT. With stopped PIT timer
it is even useless.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Andi Kleen 2006-03-25 16:29:31 +01:00 committed by Linus Torvalds
parent 51f62e186b
commit 9ede6b0945
1 changed files with 2 additions and 2 deletions

View File

@ -354,7 +354,7 @@ void main_timer_handler(struct pt_regs *regs)
{ {
static unsigned long rtc_update = 0; static unsigned long rtc_update = 0;
unsigned long tsc; unsigned long tsc;
int delay, offset = 0, lost = 0; int delay = 0, offset = 0, lost = 0;
/* /*
* Here we are in the timer irq handler. We have irqs locally disabled (so we * Here we are in the timer irq handler. We have irqs locally disabled (so we
@ -375,7 +375,7 @@ void main_timer_handler(struct pt_regs *regs)
*/ */
offset = hpet_readl(HPET_T0_CMP) - hpet_tick; offset = hpet_readl(HPET_T0_CMP) - hpet_tick;
delay = hpet_readl(HPET_COUNTER) - offset; delay = hpet_readl(HPET_COUNTER) - offset;
} else { } else if (!pmtmr_ioport) {
spin_lock(&i8253_lock); spin_lock(&i8253_lock);
outb_p(0x00, 0x43); outb_p(0x00, 0x43);
delay = inb_p(0x40); delay = inb_p(0x40);