diff options
author | Jeremy Soller <jeremy@system76.com> | 2021-02-10 10:26:14 -0700 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2021-02-27 09:36:23 +0000 |
commit | ff687b1f24af2861d4c54950069c9ff4a98b54e0 (patch) | |
tree | 8171fd2aa7acef9d1df3ab879abc881e031b0732 /src/ec | |
parent | 9bce1fe7276d2f600f7af2e09952011ef5366ae8 (diff) |
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>
Diffstat (limited to 'src/ec')
-rw-r--r-- | src/ec/system76/ec/acpi/ec.asl | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/ec/system76/ec/acpi/ec.asl b/src/ec/system76/ec/acpi/ec.asl index 128bd56304..612c358e08 100644 --- a/src/ec/system76/ec/acpi/ec.asl +++ b/src/ec/system76/ec/acpi/ec.asl @@ -62,9 +62,13 @@ Device (\_SB.PCI0.LPCB.EC0) } } + 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 @@ Device (\_SB.PCI0.LPCB.EC0) 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 |