public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 2.6] via686a/KX133 TSC failure
@ 2003-12-20 13:18 Chris Bajumpaa
  0 siblings, 0 replies; only message in thread
From: Chris Bajumpaa @ 2003-12-20 13:18 UTC (permalink / raw)
  To: linux-kernel


Hello,

	This patch fixes a problem with the TSC failing on via686a/KX133
motherboards either reverting to using the pit or deadlocking the
machine alltogether under heavy load. (Specifically Abit KA7/KA7-100).

Message from the log:
Dec 18 18:20:37 grinder kernel: Losing too many ticks!
Dec 18 18:20:37 grinder kernel: TSC cannot be used as a timesource. (Are
you running with SpeedStep?)
Dec 18 18:20:37 grinder kernel: Falling back to a sane timesource.

The snippet of code that was missing from timer_tsc.c comes from
timer_pit.c. Please apply this patch.

8< patch starts here:
--- linux-2.6.0-vanilla/arch/i386/kernel/timers/timer_tsc.c	Wed Nov 26 15:44:45 2003
+++ linux-2.6.0-cjb/arch/i386/kernel/timers/timer_tsc.c	Sat Dec 20 07:27:24 2003
@@ -184,6 +184,18 @@

 	count = inb_p(PIT_CH0);    /* read the latched count */
 	count |= inb(PIT_CH0) << 8;
+
+	/*
+	 * VIA686a test code... reset the latch if count > max + 1
+	 * from timer_pit.c - cjb
+	 */
+	if (count > LATCH) {
+		outb_p(0x34, PIT_MODE);
+		outb_p(LATCH & 0xff, PIT_CH0);
+		outb(LATCH >> 8, PIT_CH0);
+		count = LATCH - 1;
+	}
+
 	spin_unlock(&i8253_lock);

 	if (pit_latch_buggy) {

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2003-12-20 13:18 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-12-20 13:18 [PATCH 2.6] via686a/KX133 TSC failure Chris Bajumpaa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox