Status with pmdisk/swsusp merge ?
Subsystems (2)
Hi !
What is the status with those patches ?
I have some additional stuff to drop on top of it, including the basic PPC support, some renumbering of the states as discussed earlier, some driver fixes etc.... but at this point, I feel it would be more handy to get those in only after Patrick core changes have been merged with Linus. Do we wait for 2.6.9 to open ?
Ben.
Hi.
Quoted 9 lines · Benjamin Herrenschmidt
Hi !
What is the status with those patches ?
I have some additional stuff to drop on top of it, including the basic PPC support, some renumbering of the states as discussed earlier, some driver fixes etc.... but at this point, I feel it would be more handy to get those in only after Patrick core changes have been merged with Linus. Do we wait for 2.6.9 to open ?
FWIW, I'm waiting for the dust to settle too.
Nigel
Quoted 7 lines · Benjamin Herrenschmidt
What is the status with those patches ?
I have some additional stuff to drop on top of it, including the basic PPC support, some renumbering of the states as discussed earlier, some driver fixes etc.... but at this point, I feel it would be more handy to get those in only after Patrick core changes have been merged with Linus. Do we wait for 2.6.9 to open ?
I intend to try and merge my tree with Linus once he releases 2.6.8, modulo any bugs that crop up between now and then. Feel free to send me the patches to fix up ppc before then, and I will merge them as well.
As far as the device power management stuff goes, I'm wading through the discussion right now..
Pat
Hi!
Quoted 11 lines
Quoted 7 lines
What is the status with those patches ?
I have some additional stuff to drop on top of it, including the basic PPC support, some renumbering of the states as discussed earlier, some driver fixes etc.... but at this point, I feel it would be more handy to get those in only after Patrick core changes have been merged with Linus. Do we wait for 2.6.9 to open ?
I intend to try and merge my tree with Linus once he releases 2.6.8, modulo any bugs that crop up between now and then. Feel free to send me the patches to fix up ppc before then, and I will merge them as well.
Sounds good.
Quoted 2 lines
As far as the device power management stuff goes, I'm wading through the discussion right now..
Hopefully we can at least switch to enums so that we clear any confusion....
Pavel
Signature · 2 lines
People were complaining that M$ turns users into beta-testers... ...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!
Quoted 4 lines · Pavel Machek
Quoted 3 lines
I intend to try and merge my tree with Linus once he releases 2.6.8, modulo any bugs that crop up between now and then. Feel free to send me the patches to fix up ppc before then, and I will merge them as well.
Quoted 8 lines
Sounds good.
Quoted 2 lines
As far as the device power management stuff goes, I'm wading through the discussion right now..
Hopefully we can at least switch to enums so that we clear any confusion....
Pavel
..And once thats done and the tree settles a bit I'll start working on the swsusp2 x86_64 port again. (Unless someone who understands that whole thing better wants to jump forward.)
FWIW I ported the 'old' pmdisk suspend code into swsusp2 and I can suspend, but I can't resume. I haven't got a serial port (its a "modern" laptop.. with parallel, etc but no serial..) so I'm also looking at netconsole, digging around for a line printer, etc..
Signature · 1 line
Disconnect <[email protected]>
Hi!
Quoted 12 lines
Quoted 11 lines
Quoted 3 lines
I intend to try and merge my tree with Linus once he releases 2.6.8, modulo any bugs that crop up between now and then. Feel free to send me the patches to fix up ppc before then, and I will merge them as well.
Sounds good.
Quoted 2 lines
As far as the device power management stuff goes, I'm wading through the discussion right now..
Hopefully we can at least switch to enums so that we clear any confusion....
Quoted 8 lines
..And once thats done and the tree settles a bit I'll start working on the swsusp2
x86_64port again. (Unless someone who understands that whole thing better wants to jump forward.)FWIW I ported the 'old' pmdisk suspend code into swsusp2 and I can suspend, but I can't resume. I haven't got a serial port (its a "modern" laptop.. with parallel, etc but no serial..) so I'm also looking at netconsole, digging around for a line printer, etc..
Well, suspend is always easy :-)))))))))))))))))))).
You may want to use 8 leds on paralel port.
Pavel
Signature · 2 lines
People were complaining that M$ turns users into beta-testers... ...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!
Quoted 1 line · Pavel Machek
You may want to use 8 leds on paralel port.
With resistors or you may find you own a nasty smell rather than a motherboard.
Quoted 4 lines · Pavel Machek
Quoted 4 lines
FWIW I ported the 'old' pmdisk suspend code into swsusp2 and I can suspend, but I can't resume. I haven't got a serial port (its a "modern" laptop.. with parallel, etc but no serial..) so I'm also looking at netconsole, digging around for a line printer, etc..
Can be a problem with a lack of wakeup devices. You could try this patch (not by me, and considered ugly by its own author iirc) and fiddle with echo "PWRB" >/proc/acpi/wakeup_devices and friends. It was necessary (with some additional brutality) for the dell latitude x300.
OG.
drivers/acpi/power.c +3 -3
@@ -176,7 +176,7 @@ } -static int +int acpi_power_on (acpi_handle handle) {
@@ -193,7 +193,7 @@ resource->references++; -if ((resource->references >1 ) +if ((resource->references >1 ) || (resource->state ==ACPI_POWER_RESOURCE_STATE_ON )) {ACPI_DEBUG_PRINT ((ACPI_DB_INFO ,"Resource [%s] already on\n" , resource->name));
@@ -223,7 +223,7 @@ } -static int +int acpi_power_off_device (acpi_handle handle) {
drivers/acpi/scan.c +92 -4
133 lines not on this page · raw message
drivers/acpi/sleep/main.c +10 -1
@@ -56,6 +56,9 @@ (acpi_physical_address) acpi_wakeup_address); }ACPI_FLUSH_CPU_CACHE (); + +/* change a position for the function? */ +acpi_enable_wakeup_device_prep (acpi_state);acpi_enter_sleep_state_prep (acpi_state);return 0 ; }
@@ -87,6 +90,9 @@local_irq_save (flags); +/* change a position for the function? */ +acpi_enable_wakeup_device (acpi_state); +switch (state) {case PM_SUSPEND_STANDBY :
@@ -133,7 +139,10 @@static int acpi_pm_finish (u32 state) { -acpi_leave_sleep_state (state); +u32 acpi_state = acpi_suspend_states[state]; + +acpi_leave_sleep_state (acpi_state); +acpi_disable_wakeup_device_power (acpi_state);/* reset firmware waking vector */ acpi_set_firmware_waking_vector ((acpi_physical_address )0 );
drivers/acpi/sleep/Makefile +1 -1
@@ -1,5 +1,5 @@ obj-y := poweroff.o -obj-$(CONFIG_ACPI_SLEEP) += main.o +obj-$(CONFIG_ACPI_SLEEP) += main.o wakeup.o obj-$(CONFIG_ACPI_SLEEP_PROC_FS) += proc.o EXTRA_CFLAGS += $(ACPI_CFLAGS)
drivers/acpi/sleep/proc.c +67 -0
85 lines not on this page · raw message
drivers/acpi/sleep/sleep.h +3 -0
@@ -1,4 +1,7 @@extern u8 sleep_states[];extern int acpi_suspend (u32 state); +void acpi_enable_wakeup_device_prep (u8 sleep_state); +void acpi_enable_wakeup_device (u8 sleep_state); +void acpi_disable_wakeup_device_power (u8 sleep_state);
drivers/acpi/sleep/wakeup.c +157 -0
157 lines not on this page · raw message
+late_initcall(acpi_wakeup_device_init);
include/acpi/acpi_bus.h +13 -4
@@ -159,7 +159,8 @@ u32 suprise_removal_ok:1; u32 power_manageable:1; u32 performance_manageable:1; - u32 reserved:21; + u32 wake_capable:1; + u32 reserved:20; };
@@ -205,10 +206,8 @@ u32 explicit_get:1; /* _PSC present? */ u32 power_resources:1; /* Power resources */ u32 inrush_current:1; /* Serialize Dx->D0 */ - u32 wake_capable:1; /* Wakeup supported? */ - u32 wake_enabled:1; /* Enabled for wakeup */ u32 power_removed:1; /* Optimize Dx->D0 */ - u32 reserved:26; + u32 reserved:28; };struct acpi_device_power_state {
@@ -228,6 +227,14 @@struct acpi_device_power_state states[4 ];/* Power states (D0-D3) */ }; +/* Wakeup Management */ + +struct acpi_wakeup_power { +acpi_integer gpe; +int state; +acpi_integer sleep_state; +struct acpi_handle_list resources; +};/* Performance Management */
@@ -261,10 +268,12 @@struct list_head children;struct list_head node;struct list_head g_list; +struct list_head wakeup_list;struct acpi_device_status status;struct acpi_device_flags flags;struct acpi_device_pnp pnp;struct acpi_device_power power; +struct acpi_wakeup_power wakeup_power;struct acpi_device_perf performance;struct acpi_device_dir dir;struct acpi_device_ops ops;