Patrick Georgi has submitted this change. ( https://review.coreboot.org/c/coreboot/+/50489 )
Change subject: ec/system76/ec: Preserve ECOS through suspend ......................................................................
ec/system76/ec: Preserve ECOS through suspend
When the EC is reset on PLTRST this information will be lost, causing system control interrupts to potentially stop functioning.
Change-Id: I137ef6c574a372601bc51f6e815158767acd0e1b Signed-off-by: Jeremy Soller jeremy@system76.com Signed-off-by: Tim Crawford tcrawford@system76.com Reviewed-on: https://review.coreboot.org/c/coreboot/+/50489 Reviewed-by: Paul Menzel paulepanter@users.sourceforge.net Tested-by: build bot (Jenkins) no-reply@coreboot.org --- M src/ec/system76/ec/acpi/ec.asl 1 file changed, 7 insertions(+), 0 deletions(-)
Approvals: build bot (Jenkins): Verified Paul Menzel: Looks good to me, but someone else must approve Jeremy Soller: Looks good to me, approved
diff --git a/src/ec/system76/ec/acpi/ec.asl b/src/ec/system76/ec/acpi/ec.asl index 128bd56..612c358 100644 --- a/src/ec/system76/ec/acpi/ec.asl +++ b/src/ec/system76/ec/acpi/ec.asl @@ -62,9 +62,13 @@ } }
+ Name (S3OS, Zero) Method (PTS, 1, Serialized) { Debug = Concatenate("EC: PTS: ", ToHexString(Arg0)) If (ECOK) { + // Save ECOS during sleep + S3OS = ECOS + // Clear wake cause WFNO = Zero } @@ -73,6 +77,9 @@ Method (WAK, 1, Serialized) { Debug = Concatenate("EC: WAK: ", ToHexString(Arg0)) If (ECOK) { + // Restore ECOS after sleep + ECOS = S3OS + // Set current AC state ^^^^AC.ACFG = ADP