summaryrefslogtreecommitdiff
path: root/src/ec
diff options
context:
space:
mode:
authorTim Van Patten <timvp@google.com>2023-02-10 14:03:30 -0700
committerFelix Held <felix-coreboot@felixheld.de>2023-03-02 16:16:56 +0000
commit64871adae03bab52f26f1d3fff619e4bd3d83077 (patch)
tree92e23aafe0ce4ea7cf7ab6e25d14083e7e968a93 /src/ec
parente67f7be6645f165160b491f72cabadcc32663789 (diff)
acpi/ec: Handle new host event EC_HOST_EVENT_BODY_DETECT_CHANGE
Handle the new host event EC_HOST_EVENT_BODY_DETECT_CHANGE. Previously, the EC sent the host event EC_HOST_EVENT_MODE_CHANGE when body detection changed between lap/desk mode. However, that event is a wake event, which resulted in spurious AP wake events being triggered when the EC detected lap/desk mode changes while the AP was suspended. To resolve this, the new host event EC_HOST_EVENT_BODY_DETECT_CHANGE was added, which will not be a wake event. This CL adds handling for the new event to acpi/ec.asl to switch DPTC tables when a change is detected. BRANCH=none BUG=b:261141172 TEST=bodydetectmode on|off, verify host event is received Change-Id: Iabeb7891489a209f45504804355f1fa817082976 Signed-off-by: Tim Van Patten <timvp@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/73298 Reviewed-by: Caveh Jalali <caveh@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
Diffstat (limited to 'src/ec')
-rw-r--r--src/ec/google/chromeec/acpi/ec.asl11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/ec/google/chromeec/acpi/ec.asl b/src/ec/google/chromeec/acpi/ec.asl
index 9ff7b72194..8109eb3f0f 100644
--- a/src/ec/google/chromeec/acpi/ec.asl
+++ b/src/ec/google/chromeec/acpi/ec.asl
@@ -462,6 +462,17 @@ Device (EC0)
#endif
}
+ // Body Detect Change Event
+ Method (_Q21, 0, NotSerialized)
+ {
+ Printf ("EC: Body Detect Change Event")
+#if CONFIG(SOC_AMD_COMMON_BLOCK_ACPI_DPTC)
+ If (CondRefOf (\_SB.DPTC)) {
+ \_SB.DPTC()
+ }
+#endif
+ }
+
/*
* Dynamic Platform Thermal Framework support
*/