From: Andi Kleen Date: Sat, 25 Mar 2006 15:29:31 +0000 (+0100) Subject: [PATCH] x86_64: Don't need to read PIT in timer handler when PM timer is used X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=9ede6b0945223d1e353501f41b988a3db56b4e27;p=GitHub%2FLineageOS%2FG12%2Fandroid_kernel_amlogic_linux-4.9.git [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 Signed-off-by: Linus Torvalds --- diff --git a/arch/x86_64/kernel/time.c b/arch/x86_64/kernel/time.c index ee5ce3d3cbc3..86039baaaf18 100644 --- a/arch/x86_64/kernel/time.c +++ b/arch/x86_64/kernel/time.c @@ -354,7 +354,7 @@ void main_timer_handler(struct pt_regs *regs) { static unsigned long rtc_update = 0; 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 @@ -375,7 +375,7 @@ void main_timer_handler(struct pt_regs *regs) */ offset = hpet_readl(HPET_T0_CMP) - hpet_tick; delay = hpet_readl(HPET_COUNTER) - offset; - } else { + } else if (!pmtmr_ioport) { spin_lock(&i8253_lock); outb_p(0x00, 0x43); delay = inb_p(0x40);