From 64871adae03bab52f26f1d3fff619e4bd3d83077 Mon Sep 17 00:00:00 2001 From: Tim Van Patten Date: Fri, 10 Feb 2023 14:03:30 -0700 Subject: 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 Reviewed-on: https://review.coreboot.org/c/coreboot/+/73298 Reviewed-by: Caveh Jalali Tested-by: build bot (Jenkins) Reviewed-by: Karthik Ramasubramanian --- src/ec/google/chromeec/acpi/ec.asl | 11 +++++++++++ .../google/skyrim/variants/baseboard/include/baseboard/ec.h | 3 ++- 2 files changed, 13 insertions(+), 1 deletion(-) 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 */ diff --git a/src/mainboard/google/skyrim/variants/baseboard/include/baseboard/ec.h b/src/mainboard/google/skyrim/variants/baseboard/include/baseboard/ec.h index 1f5404609c..c04cc5b583 100644 --- a/src/mainboard/google/skyrim/variants/baseboard/include/baseboard/ec.h +++ b/src/mainboard/google/skyrim/variants/baseboard/include/baseboard/ec.h @@ -23,7 +23,8 @@ | EC_HOST_EVENT_MASK(EC_HOST_EVENT_PD_MCU) \ | EC_HOST_EVENT_MASK(EC_HOST_EVENT_MODE_CHANGE) \ | EC_HOST_EVENT_MASK(EC_HOST_EVENT_USB_MUX) \ - | EC_HOST_EVENT_MASK(EC_HOST_EVENT_PANIC)) + | EC_HOST_EVENT_MASK(EC_HOST_EVENT_PANIC) \ + | EC_HOST_EVENT_MASK(EC_HOST_EVENT_BODY_DETECT_CHANGE)) #define MAINBOARD_EC_SMI_EVENTS (EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_CLOSED)) -- cgit v1.2.3