[kernel] r8159 - in dists/sid/linux-2.6/debian: . patches/bugfix patches/series

Dann Frazier dannf at alioth.debian.org
Thu Jan 11 07:57:08 CET 2007


Author: dannf
Date: Thu Jan 11 07:57:07 2007
New Revision: 8159

Added:
   dists/sid/linux-2.6/debian/patches/bugfix/acpi_pm-re-add-verify_mptmr_rate.patch
Modified:
   dists/sid/linux-2.6/debian/changelog
   dists/sid/linux-2.6/debian/patches/series/9
Log:
* Re-add verify_pmtmr_rate, resolving problems seen on older K6 ASUS
  boards where the ACPI PM timer runs too fast (closes: #394753)

Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog	(original)
+++ dists/sid/linux-2.6/debian/changelog	Thu Jan 11 07:57:07 2007
@@ -58,6 +58,8 @@
     in an etch environment so that we can build out of tree modules correctly
     (closes: #392592)
   * Update unusual_devs entry for ipod to fix an eject issue (closes: #406124)
+  * Re-add verify_pmtmr_rate, resolving problems seen on older K6 ASUS
+    boards where the ACPI PM timer runs too fast (closes: #394753)
 
   [ Norbert Tretkowski ]
   * libata: handle 0xff status properly. (closes: #391867)
@@ -151,7 +153,7 @@
     memory accesses in ehci-hub-control() by adding an alignment attribute
     to the tbuf array declaration. Thanks to David Miller for the patch.
 
- -- Bastian Blank <waldi at debian.org>  Tue,  9 Jan 2007 22:48:02 +0100
+ -- dann frazier <dannf at debian.org>  Wed, 10 Jan 2007 23:39:47 -0700
 
 linux-2.6 (2.6.18-8) unstable; urgency=low
 

Added: dists/sid/linux-2.6/debian/patches/bugfix/acpi_pm-re-add-verify_mptmr_rate.patch
==============================================================================
--- (empty file)
+++ dists/sid/linux-2.6/debian/patches/bugfix/acpi_pm-re-add-verify_mptmr_rate.patch	Thu Jan 11 07:57:07 2007
@@ -0,0 +1,81 @@
+commit 562f9c574e0707f9159a729ea41faf53b221cd30
+Author: john stultz <johnstul at us.ibm.com>
+Date:   Fri Dec 8 02:36:02 2006 -0800
+
+    [PATCH] time: re-add verify_pmtmr_rate
+    
+    This patch re-adds the verify_pmtmr_rate functionality from 2.6.17 that
+    I dropped 2.6.18.
+    
+    This resolves problems seen on older K6 ASUS boards where the ACPI PM
+    timer runs too fast.
+    
+    See:
+    https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=211902
+    http://bugme.osdl.org/show_bug.cgi?id=2375
+    
+    Thanks to Ian Campbell for re-reporting this and testing the fix!
+    
+    Signed-off-by: John Stultz <johnstul at us.ibm.com>
+    Cc: Andi Kleen <ak at suse.de>
+    Cc: Ian Campbell <ijc at hellion.org.uk>
+    Cc: Ingo Molnar <mingo at elte.hu>
+    Cc: Thomas Gleixner <tglx at linutronix.de>
+    Cc: Roman Zippel <zippel at linux-m68k.org>
+    Signed-off-by: Andrew Morton <akpm at osdl.org>
+    Signed-off-by: Linus Torvalds <torvalds at osdl.org>
+
+diff --git a/drivers/clocksource/acpi_pm.c b/drivers/clocksource/acpi_pm.c
+index 7fcb77a..8ab61ef 100644
+--- a/drivers/clocksource/acpi_pm.c
++++ b/drivers/clocksource/acpi_pm.c
+@@ -142,6 +142,39 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_LE,
+ 			acpi_pm_check_graylist);
+ #endif
+ 
++#ifndef CONFIG_X86_64
++#include "mach_timer.h"
++#define PMTMR_EXPECTED_RATE \
++  ((CALIBRATE_LATCH * (PMTMR_TICKS_PER_SEC >> 10)) / (CLOCK_TICK_RATE>>10))
++/*
++ * Some boards have the PMTMR running way too fast. We check
++ * the PMTMR rate against PIT channel 2 to catch these cases.
++ */
++static int verify_pmtmr_rate(void)
++{
++	u32 value1, value2;
++	unsigned long count, delta;
++
++	mach_prepare_counter();
++	value1 = read_pmtmr();
++	mach_countup(&count);
++	value2 = read_pmtmr();
++	delta = (value2 - value1) & ACPI_PM_MASK;
++
++	/* Check that the PMTMR delta is within 5% of what we expect */
++	if (delta < (PMTMR_EXPECTED_RATE * 19) / 20 ||
++	    delta > (PMTMR_EXPECTED_RATE * 21) / 20) {
++		printk(KERN_INFO "PM-Timer running at invalid rate: %lu%% "
++			"of normal - aborting.\n",
++			100UL * delta / PMTMR_EXPECTED_RATE);
++		return -1;
++	}
++
++	return 0;
++}
++#else
++#define verify_pmtmr_rate() (0)
++#endif
+ 
+ static int __init init_acpi_pm_clocksource(void)
+ {
+@@ -173,6 +206,9 @@ static int __init init_acpi_pm_clocksource(void)
+ 	return -ENODEV;
+ 
+ pm_good:
++	if (verify_pmtmr_rate() != 0)
++		return -ENODEV;
++
+ 	return clocksource_register(&clocksource_acpi_pm);
+ }
+ 

Modified: dists/sid/linux-2.6/debian/patches/series/9
==============================================================================
--- dists/sid/linux-2.6/debian/patches/series/9	(original)
+++ dists/sid/linux-2.6/debian/patches/series/9	Thu Jan 11 07:57:07 2007
@@ -52,3 +52,4 @@
 + features/arm/ixp4xx-npe-driver-0.3.1.patch
 + features/arm/ixp4xx-net-driver-improve-mac-handling-0.3.1.patch
 + bugfix/drivers-net-tg3-reset.patch 
++ bugfix/acpi_pm-re-add-verify_mptmr_rate.patch



More information about the Kernel-svn-changes mailing list