rpms/kernel/devel linux-2.6-acpi-cpuidle-port-suspend-fixes.patch, NONE, 1.1 linux-2.6-pmtrace-time-fix.patch, NONE, 1.1 kernel.spec, 1.211, 1.212

Chuck Ebbert (cebbert) fedora-extras-commits at redhat.com
Wed Oct 10 19:39:46 UTC 2007


Author: cebbert

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv23720

Modified Files:
	kernel.spec 
Added Files:
	linux-2.6-acpi-cpuidle-port-suspend-fixes.patch 
	linux-2.6-pmtrace-time-fix.patch 
Log Message:
* Wed Oct 10 2007 Chuck Ebbert <cebbert at redhat.com>
- Fix date/time printed during boot.
- Port ACPI suspend/resume fixes to cpuidle.


linux-2.6-acpi-cpuidle-port-suspend-fixes.patch:

--- NEW FILE linux-2.6-acpi-cpuidle-port-suspend-fixes.patch ---
From: Len Brown <len.brown at intel.com>

Some timers stop during C2 and C3, and so there are various
generations of timer broadcast workarounds to deal with that.
But that (already complex) code gets confused during suspend.

As it is unlikely that deep C-states would save much power
during the actual suspend/resume process anyway, deep C-states
were disabled via the addition of .suspend/.resume hooks
in to the ACPI processor driver.

Here that workaround is ported to the cpuidle version of
the ACPI idle loop.  Technically, ACPI could un-register
itself from cpuidle on .suspend, but that code path
is currently quite cumbersome.  So instead,
we simply invoke C1 from the C2 and C3 handlers
for the duration of .suspend/.resume.

Signed-off-by: Len Brown <len.brown at intel.com>
---
 drivers/acpi/processor_idle.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
index 99da6a7..0cad56c 100644
--- a/drivers/acpi/processor_idle.c
+++ b/drivers/acpi/processor_idle.c
@@ -1416,6 +1416,9 @@ static int acpi_idle_enter_simple(struct cpuidle_device *dev,
 	if (unlikely(!pr))
 		return 0;
 
+	if (acpi_idle_suspend)
+		return(acpi_idle_enter_c1(dev, state));
+
 	if (pr->flags.bm_check)
 		acpi_idle_update_bm_rld(pr, cx);
 
@@ -1477,6 +1480,9 @@ static int acpi_idle_enter_bm(struct cpuidle_device *dev,
 	if (unlikely(!pr))
 		return 0;
 
+	if (acpi_idle_suspend)
+		return(acpi_idle_enter_c1(dev, state));
+
 	local_irq_disable();
 	current_thread_info()->status &= ~TS_POLLING;
 	/*

linux-2.6-pmtrace-time-fix.patch:

--- NEW FILE linux-2.6-pmtrace-time-fix.patch ---
--- linux-2.6.22.noarch/drivers/base/power/trace.c~	2007-08-29 15:34:17.000000000 -0400
+++ linux-2.6.22.noarch/drivers/base/power/trace.c	2007-08-29 15:34:24.000000000 -0400
@@ -114,7 +114,7 @@ static unsigned int read_magic_time(void
 	get_rtc_time(&time);
 	printk("Time: %2d:%02d:%02d  Date: %02d/%02d/%02d\n",
 		time.tm_hour, time.tm_min, time.tm_sec,
-		time.tm_mon, time.tm_mday, time.tm_year);
+		time.tm_mon + 1, time.tm_mday, time.tm_year % 100);
 	val = time.tm_year;				/* 100 years */
 	if (val > 100)
 		val -= 100;


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.211
retrieving revision 1.212
diff -u -r1.211 -r1.212
--- kernel.spec	10 Oct 2007 17:13:00 -0000	1.211
+++ kernel.spec	10 Oct 2007 19:39:13 -0000	1.212
@@ -549,6 +549,7 @@
 
 Patch18: linux-2.6-x86-AMD-c1e-disable-apic-timer.patch
 Patch19: linux-2.6-highres-timers.patch
+Patch20: linux-2.6-acpi-cpuidle-port-suspend-fixes.patch
 
 Patch21: linux-2.6-utrace-tracehook.patch
 Patch22: linux-2.6-utrace-tracehook-ia64.patch
@@ -644,6 +645,7 @@
 Patch719: linux-2.6-netdev-e1000e-10.patch
 #Patch780: linux-2.6-clockevents-fix-resume-logic.patch
 Patch750: linux-2.6-acpi-git-ec-init-fixes.patch
+Patch770: linux-2.6-pmtrace-time-fix.patch
 Patch800: linux-2.6-wakeups-hdaps.patch
 Patch801: linux-2.6-wakeups.patch
 Patch820: linux-2.6-compile-fixes.patch
@@ -961,6 +963,8 @@
 ApplyPatch linux-2.6-x86-AMD-c1e-disable-apic-timer.patch
 # patch-2.6.23-rc3-hrt2.patch
 ApplyPatch linux-2.6-highres-timers.patch
+# port suspend/resume C-state fixes to cpuidle
+ApplyPatch linux-2.6-acpi-cpuidle-port-suspend-fixes.patch
 
 # Roland's utrace ptrace replacement.
 # Main patch includes i386, x86_64, powerpc.
@@ -1162,9 +1166,11 @@
 ApplyPatch linux-2.6-netdev-e1000e-09.patch
 ApplyPatch linux-2.6-netdev-e1000e-10.patch
 
-# ACPI patches
+# ACPI/PM patches
 # fix EC init
 ApplyPatch linux-2.6-acpi-git-ec-init-fixes.patch
+# fix date/time display when using PM_TRACE
+ApplyPatch linux-2.6-pmtrace-time-fix.patch
 
 # Fix excessive wakeups
 # Make hdaps timer only tick when in use.
@@ -1809,6 +1815,10 @@
 
 %changelog
 * Wed Oct 10 2007 Chuck Ebbert <cebbert at redhat.com>
+- Fix date/time printed during boot.
+- Port ACPI suspend/resume fixes to cpuidle.
+
+* Wed Oct 10 2007 Chuck Ebbert <cebbert at redhat.com>
 - Don't use incremental patches for -stable updates.
 - Add USB modem fix from Fedora 7 kernel to Fedora 8.
 




More information about the fedora-extras-commits mailing list