[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