Skip to contentSkip to conversation

Patch: enable runtime GPEs before calling _WAK method

PATCH Matthew Garrett 2 participants 2 messages Mar 27, 2005 – Mar 30, 2005 ACPI

lore
Share & tools
lore
#0 lore raw

The following patch enables runtime GPEs before calling _WAK. This appears to be needed for resume from disk to work properly on an HP 6220
- without it, if the fan state has changed between suspend and resume, kacpid consumes 100% of the CPU time and the fan speed remains constant.

Quoted 1 line

From playing with this, I assume that it's because the _WAK method

triggers an event that isn't handled because the GPEs haven't been enabled.

drivers/acpi/hardware/hwsleep.c +6 -6
diff -ur build-386/drivers/acpi/hardware/hwsleep.c build-686/drivers/acpi/hardware/hwsleep.c
@@ -543,12 +543,6 @@
 		ACPI_REPORT_ERROR (("Method _BFS failed, %s\n", acpi_format_exception (status)));
 	}
 
-	status = acpi_evaluate_object (NULL, METHOD_NAME__WAK, &arg_list, NULL);
-	if (ACPI_FAILURE (status) && status != AE_NOT_FOUND) {
-		ACPI_REPORT_ERROR (("Method _WAK failed, %s\n", acpi_format_exception (status)));
-	}
-	/* TBD: _WAK "sometimes" returns stuff - do we want to look at it? */
-
 	/*
 	 * Restore the GPEs:
 	 * 1) Disable/Clear all GPEs
@@ -565,6 +559,12 @@
 		return_ACPI_STATUS (status);
 	}
 
+	status = acpi_evaluate_object (NULL, METHOD_NAME__WAK, &arg_list, NULL);
+	if (ACPI_FAILURE (status) && status != AE_NOT_FOUND) {
+		ACPI_REPORT_ERROR (("Method _WAK failed, %s\n", acpi_format_exception (status)));
+	}
+	/* TBD: _WAK "sometimes" returns stuff - do we want to look at it? */
+
 	/* Enable power button */
 
 	(void) acpi_set_register(acpi_gbl_fixed_event_info[ACPI_EVENT_POWER_BUTTON].enable_register_id,
Signature · 9 lines
Matthew Garrett | [email protected]



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
#1 lore raw

It's very likely. But we still need to dig more from DSDT. Ususally, we are confused by interpreter glitch, so we need to make sure interpreter works well.

Quoted 42 lines · Matthew Garrett

The following patch enables runtime GPEs before calling _WAK. This appears to be needed for resume from disk to work properly on an HP 6220
- without it, if the fan state has changed between suspend and resume, kacpid consumes 100% of the CPU time and the fan speed remains constant.

Quoted 1 line

From playing with this, I assume that it's because the _WAK method

triggers an event that isn't handled because the GPEs haven't been enabled.

diff -ur build-386/drivers/acpi/hardware/hwsleep.c build-686/drivers/acpi/hardware/hwsleep.c ---
build-386/drivers/acpi/hardware/hwsleep.c 2005-03-17 20:40:58.000000000
+0000 +++ build-686/drivers/acpi/hardware/hwsleep.c 2005-03-26
23:48:29.000000000 +0000 @@ -543,12 +543,6 @@
ACPI_REPORT_ERROR (("Method _BFS failed, %s\n", acpi_format_exception
(status))); }

drivers/acpi/hardware/hwsleep.c +0 -3
-	status = acpi_evaluate_object (NULL, METHOD_NAME__WAK, &arg_list, NULL);
-	if (ACPI_FAILURE (status) && status != AE_NOT_FOUND) {
-		ACPI_REPORT_ERROR (("Method _WAK failed, %s\n", acpi_format_exception

(status))); - }

drivers/acpi/hardware/hwsleep.c +5 -2
-	/* TBD: _WAK "sometimes" returns stuff - do we want to look at it? */
-
 	/*
 	 * Restore the GPEs:
 	 * 1) Disable/Clear all GPEs
@@ -565,6 +559,12 @@
 		return_ACPI_STATUS (status);
 	}
 
+	status = acpi_evaluate_object (NULL, METHOD_NAME__WAK, &arg_list, NULL);
+	if (ACPI_FAILURE (status) && status != AE_NOT_FOUND) {
+		ACPI_REPORT_ERROR (("Method _WAK failed, %s\n", acpi_format_exception
 (status))); +	}
+	/* TBD: _WAK "sometimes" returns stuff - do we want to look at it? */
+
 	/* Enable power button */
 
 	(void)

acpi_set_register(acpi_gbl_fixed_event_info[ACPI_EVENT_POWER_BUTTON].enable _register_id,

Signature · 9 lines
Thanks,
Luming


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click