Message ID | 1704080.gFTvVrrZA1@aspire.rjw.lan (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
On Fri, 06 Jul 2018 14:13:04 +0200, Rafael J. Wysocki wrote: > > On Friday, July 6, 2018 1:21:50 PM CEST Rafael J. Wysocki wrote: > > On Fri, Jul 6, 2018 at 1:12 PM, Thomas Hänig <haenig@cosifan.de> wrote: > > [cut] > > > So the latest patch: > > > > https://patchwork.kernel.org/patch/10511211/ > > > > should work for you (please verify) and the change in > > drivers/acpi/sleep.c in it most likely is not necessary. > > > > If you can confirm that this one works for you, I'll send a smaller > > one with the acpi_hw_legacy_sleep() part alone. > > Well, scratch this, sorry. > > The power button probably is a fixed event and it won't be effected by > that patch. > > Instead, please test the patch below. FWIW, the test kernel on OBS home:tiwai:bsc1099930-3 was refreshed with this one. The release number will be *.g2351e2d. Takashi > > --- > drivers/acpi/acpica/hwsleep.c | 15 +++++++++++---- > 1 file changed, 11 insertions(+), 4 deletions(-) > > Index: linux-pm/drivers/acpi/acpica/hwsleep.c > =================================================================== > --- linux-pm.orig/drivers/acpi/acpica/hwsleep.c > +++ linux-pm/drivers/acpi/acpica/hwsleep.c > @@ -51,16 +51,23 @@ acpi_status acpi_hw_legacy_sleep(u8 slee > return_ACPI_STATUS(status); > } > > - /* > - * 1) Disable all GPEs > - * 2) Enable all wakeup GPEs > - */ > + /* Disable all GPEs */ > status = acpi_hw_disable_all_gpes(); > if (ACPI_FAILURE(status)) { > return_ACPI_STATUS(status); > } > + /* > + * If the target sleep state is S5, clear all GPEs and fixed events too > + */ > + if (sleep_state == ACPI_STATE_S5) { > + status = acpi_hw_clear_acpi_status(); > + if (ACPI_FAILURE(status)) { > + return_ACPI_STATUS(status); > + } > + } > acpi_gbl_system_awake_and_running = FALSE; > > + /* Enable all wakeup GPEs */ > status = acpi_hw_enable_all_wakeup_gpes(); > if (ACPI_FAILURE(status)) { > return_ACPI_STATUS(status); > -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Am 06.07.2018 um 14:13 schrieb Rafael J. Wysocki: > On Friday, July 6, 2018 1:21:50 PM CEST Rafael J. Wysocki wrote: >> On Fri, Jul 6, 2018 at 1:12 PM, Thomas Hänig <haenig@cosifan.de> wrote: > > [cut] > >> So the latest patch: >> >> https://patchwork.kernel.org/patch/10511211/ >> >> should work for you (please verify) and the change in >> drivers/acpi/sleep.c in it most likely is not necessary. >> >> If you can confirm that this one works for you, I'll send a smaller >> one with the acpi_hw_legacy_sleep() part alone. > > Well, scratch this, sorry. > > The power button probably is a fixed event and it won't be effected by > that patch. > > Instead, please test the patch below. > > --- > drivers/acpi/acpica/hwsleep.c | 15 +++++++++++---- > 1 file changed, 11 insertions(+), 4 deletions(-) > > Index: linux-pm/drivers/acpi/acpica/hwsleep.c > =================================================================== > --- linux-pm.orig/drivers/acpi/acpica/hwsleep.c > +++ linux-pm/drivers/acpi/acpica/hwsleep.c > @@ -51,16 +51,23 @@ acpi_status acpi_hw_legacy_sleep(u8 slee > return_ACPI_STATUS(status); > } > > - /* > - * 1) Disable all GPEs > - * 2) Enable all wakeup GPEs > - */ > + /* Disable all GPEs */ > status = acpi_hw_disable_all_gpes(); > if (ACPI_FAILURE(status)) { > return_ACPI_STATUS(status); > } > + /* > + * If the target sleep state is S5, clear all GPEs and fixed events too > + */ > + if (sleep_state == ACPI_STATE_S5) { > + status = acpi_hw_clear_acpi_status(); > + if (ACPI_FAILURE(status)) { > + return_ACPI_STATUS(status); > + } > + } > acpi_gbl_system_awake_and_running = FALSE; > > + /* Enable all wakeup GPEs */ > status = acpi_hw_enable_all_wakeup_gpes(); > if (ACPI_FAILURE(status)) { > return_ACPI_STATUS(status); > after cancelling the build with patch 10511211 and rolling everything back, I applied the patch above to my kernel 4.17.3-1-default and when pressing the power button the system shuts down and stays off! :-) Thanks Thomas -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Am 06.07.2018 um 14:27 schrieb Takashi Iwai: > On Fri, 06 Jul 2018 14:13:04 +0200, > Rafael J. Wysocki wrote: >> >> On Friday, July 6, 2018 1:21:50 PM CEST Rafael J. Wysocki wrote: >>> On Fri, Jul 6, 2018 at 1:12 PM, Thomas Hänig <haenig@cosifan.de> wrote: >> >> [cut] >> >>> So the latest patch: >>> >>> https://patchwork.kernel.org/patch/10511211/ >>> >>> should work for you (please verify) and the change in >>> drivers/acpi/sleep.c in it most likely is not necessary. >>> >>> If you can confirm that this one works for you, I'll send a smaller >>> one with the acpi_hw_legacy_sleep() part alone. >> >> Well, scratch this, sorry. >> >> The power button probably is a fixed event and it won't be effected by >> that patch. >> >> Instead, please test the patch below. > > FWIW, the test kernel on OBS home:tiwai:bsc1099930-3 was refreshed > with this one. The release number will be *.g2351e2d. > > > Takashi to make shure I have made no mistake while building my own, I will try out your kernel as well. Thomas -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Am 06.07.2018 um 14:27 schrieb Takashi Iwai: > On Fri, 06 Jul 2018 14:13:04 +0200, > Rafael J. Wysocki wrote: >> >> On Friday, July 6, 2018 1:21:50 PM CEST Rafael J. Wysocki wrote: >>> On Fri, Jul 6, 2018 at 1:12 PM, Thomas Hänig <haenig@cosifan.de> wrote: >> >> [cut] >> >>> So the latest patch: >>> >>> https://patchwork.kernel.org/patch/10511211/ >>> >>> should work for you (please verify) and the change in >>> drivers/acpi/sleep.c in it most likely is not necessary. >>> >>> If you can confirm that this one works for you, I'll send a smaller >>> one with the acpi_hw_legacy_sleep() part alone. >> >> Well, scratch this, sorry. >> >> The power button probably is a fixed event and it won't be effected by >> that patch. >> >> Instead, please test the patch below. > > FWIW, the test kernel on OBS home:tiwai:bsc1099930-3 was refreshed > with this one. The release number will be *.g2351e2d. > > > Takashi > >> >> --- >> drivers/acpi/acpica/hwsleep.c | 15 +++++++++++---- >> 1 file changed, 11 insertions(+), 4 deletions(-) >> >> Index: linux-pm/drivers/acpi/acpica/hwsleep.c >> =================================================================== >> --- linux-pm.orig/drivers/acpi/acpica/hwsleep.c >> +++ linux-pm/drivers/acpi/acpica/hwsleep.c >> @@ -51,16 +51,23 @@ acpi_status acpi_hw_legacy_sleep(u8 slee >> return_ACPI_STATUS(status); >> } >> >> - /* >> - * 1) Disable all GPEs >> - * 2) Enable all wakeup GPEs >> - */ >> + /* Disable all GPEs */ >> status = acpi_hw_disable_all_gpes(); >> if (ACPI_FAILURE(status)) { >> return_ACPI_STATUS(status); >> } >> + /* >> + * If the target sleep state is S5, clear all GPEs and fixed events too >> + */ >> + if (sleep_state == ACPI_STATE_S5) { >> + status = acpi_hw_clear_acpi_status(); >> + if (ACPI_FAILURE(status)) { >> + return_ACPI_STATUS(status); >> + } >> + } >> acpi_gbl_system_awake_and_running = FALSE; >> >> + /* Enable all wakeup GPEs */ >> status = acpi_hw_enable_all_wakeup_gpes(); >> if (ACPI_FAILURE(status)) { >> return_ACPI_STATUS(status); >> Hello Takashi, with the kernel built by you the system shuts down when pressing the power button and stays off too! :-) So the above mentioned patch to hwsleep.c seems to do the trick. Regards and thanks a lot @all! Thomas thomas@tslb:~> uname -a Linux tslb 4.17.4-2.g2351e2d-default #1 SMP PREEMPT Fri Jul 6 12:24:35 UTC 2018 (2351e2d) x86_64 x86_64 x86_64 GNU/Linux thomas@tslb:~> rpm -qi kernel-default-4.17.4-2.1.g2351e2d.x86_64 Name : kernel-default Version : 4.17.4 Release : 2.1.g2351e2d Architecture: x86_64 Install Date: Fr 06 Jul 2018 19:43:38 CEST Group : System/Kernel Size : 360100489 License : GPL-2.0 Signature : RSA/SHA256, Fr 06 Jul 2018 16:47:25 CEST, Key ID 4bf05f46f6e74bf5 Source RPM : kernel-default-4.17.4-2.1.g2351e2d.nosrc.rpm Build Date : Fr 06 Jul 2018 16:42:04 CEST Build Host : lamb63 Relocations : (not relocatable) Vendor : obs://build.opensuse.org/home:tiwai URL : http://www.kernel.org/ Summary : The Standard Kernel Description : The standard kernel for both uniprocessor and multiprocessor systems. Source Timestamp: 2018-07-06 14:24:35 +0200 GIT Revision: 2351e2d70cbcb963c461d55abeee967ea9a940ea GIT Branch: users/tiwai/stable/bsc1099930 Distribution: home:tiwai:bsc1099930-3 -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, Jul 6, 2018 at 7:57 PM, Thomas Hänig <haenig@cosifan.de> wrote: > > > Am 06.07.2018 um 14:27 schrieb Takashi Iwai: >> On Fri, 06 Jul 2018 14:13:04 +0200, >> Rafael J. Wysocki wrote: >>> >>> On Friday, July 6, 2018 1:21:50 PM CEST Rafael J. Wysocki wrote: >>>> On Fri, Jul 6, 2018 at 1:12 PM, Thomas Hänig <haenig@cosifan.de> wrote: >>> >>> [cut] >>> >>>> So the latest patch: >>>> >>>> https://patchwork.kernel.org/patch/10511211/ >>>> >>>> should work for you (please verify) and the change in >>>> drivers/acpi/sleep.c in it most likely is not necessary. >>>> >>>> If you can confirm that this one works for you, I'll send a smaller >>>> one with the acpi_hw_legacy_sleep() part alone. >>> >>> Well, scratch this, sorry. >>> >>> The power button probably is a fixed event and it won't be effected by >>> that patch. >>> >>> Instead, please test the patch below. >> >> FWIW, the test kernel on OBS home:tiwai:bsc1099930-3 was refreshed >> with this one. The release number will be *.g2351e2d. >> >> >> Takashi >> >>> >>> --- >>> drivers/acpi/acpica/hwsleep.c | 15 +++++++++++---- >>> 1 file changed, 11 insertions(+), 4 deletions(-) >>> >>> Index: linux-pm/drivers/acpi/acpica/hwsleep.c >>> =================================================================== >>> --- linux-pm.orig/drivers/acpi/acpica/hwsleep.c >>> +++ linux-pm/drivers/acpi/acpica/hwsleep.c >>> @@ -51,16 +51,23 @@ acpi_status acpi_hw_legacy_sleep(u8 slee >>> return_ACPI_STATUS(status); >>> } >>> >>> - /* >>> - * 1) Disable all GPEs >>> - * 2) Enable all wakeup GPEs >>> - */ >>> + /* Disable all GPEs */ >>> status = acpi_hw_disable_all_gpes(); >>> if (ACPI_FAILURE(status)) { >>> return_ACPI_STATUS(status); >>> } >>> + /* >>> + * If the target sleep state is S5, clear all GPEs and fixed events too >>> + */ >>> + if (sleep_state == ACPI_STATE_S5) { >>> + status = acpi_hw_clear_acpi_status(); >>> + if (ACPI_FAILURE(status)) { >>> + return_ACPI_STATUS(status); >>> + } >>> + } >>> acpi_gbl_system_awake_and_running = FALSE; >>> >>> + /* Enable all wakeup GPEs */ >>> status = acpi_hw_enable_all_wakeup_gpes(); >>> if (ACPI_FAILURE(status)) { >>> return_ACPI_STATUS(status); >>> > Hello Takashi, > with the kernel built by you the system shuts down when pressing the > power button and stays off too! :-) > > So the above mentioned patch to hwsleep.c seems to do the trick. OK, thanks for verifying! > Regards and thanks a lot @all! Cheers, Rafael -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Index: linux-pm/drivers/acpi/acpica/hwsleep.c =================================================================== --- linux-pm.orig/drivers/acpi/acpica/hwsleep.c +++ linux-pm/drivers/acpi/acpica/hwsleep.c @@ -51,16 +51,23 @@ acpi_status acpi_hw_legacy_sleep(u8 slee return_ACPI_STATUS(status); } - /* - * 1) Disable all GPEs - * 2) Enable all wakeup GPEs - */ + /* Disable all GPEs */ status = acpi_hw_disable_all_gpes(); if (ACPI_FAILURE(status)) { return_ACPI_STATUS(status); } + /* + * If the target sleep state is S5, clear all GPEs and fixed events too + */ + if (sleep_state == ACPI_STATE_S5) { + status = acpi_hw_clear_acpi_status(); + if (ACPI_FAILURE(status)) { + return_ACPI_STATUS(status); + } + } acpi_gbl_system_awake_and_running = FALSE; + /* Enable all wakeup GPEs */ status = acpi_hw_enable_all_wakeup_gpes(); if (ACPI_FAILURE(status)) { return_ACPI_STATUS(status);