]> www.infradead.org Git - users/jedix/linux-maple.git/commit
ACPI: EC: Set ec_no_wakeup for Lenovo Go S
authorMario Limonciello <mario.limonciello@amd.com>
Tue, 1 Apr 2025 13:38:51 +0000 (08:38 -0500)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 7 Apr 2025 17:59:33 +0000 (19:59 +0200)
commitb988685388effd648150aab272533f833a2a70f0
tree08331b52cfb16b7fa5e1c17fb9a13d15f90bc276
parent0af2f6be1b4281385b618cb86ad946eded089ac8
ACPI: EC: Set ec_no_wakeup for Lenovo Go S

When AC adapter is unplugged or plugged in EC wakes from HW sleep but
APU doesn't enter back into HW sleep.

The reason this happens is that, when the APU exits HW sleep, the power
rails controlled by the EC will power up the TCON.  The TCON has a GPIO
that will be toggled at this time.  The GPIO is not marked as a wakeup
source, but the GPIO controller still has an unserviced interrupt.
Unserviced interrupts will block entering HW sleep again. Clearing the
GPIO doesn't help as the TCON continues to assert it until it's been
initialized by i2c-hid.

Fixing this would require TCON F/W changes and it's already broken in
the wild on production hardware.

To avoid triggering this issue add a quirk to avoid letting EC wake
up system at all.  The power button still works properly on this system.

Reported-by: Antheas Kapenekakis <lkml@antheas.dev>
Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3929
Link: https://github.com/bazzite-org/patchwork/commit/95b93b2852718ee1e808c72e6b1836da4a95fc63
Co-developed-by: Antheas Kapenekakis <lkml@antheas.dev>
Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Link: https://patch.msgid.link/20250401133858.1892077-1-superm1@kernel.org
[ rjw: Changelog edits ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/ec.c