From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Mario Limonciello <mario.limonciello@amd.com>,
Antheas Kapenekakis <lkml@antheas.dev>,
"Rafael J . Wysocki" <rafael.j.wysocki@intel.com>,
Sasha Levin <sashal@kernel.org>,
rafael@kernel.org, linux-acpi@vger.kernel.org
Subject: [PATCH AUTOSEL 6.6 08/24] ACPI: EC: Set ec_no_wakeup for Lenovo Go S
Date: Mon, 14 Apr 2025 09:29:41 -0400 [thread overview]
Message-ID: <20250414132957.680250-8-sashal@kernel.org> (raw)
In-Reply-To: <20250414132957.680250-1-sashal@kernel.org>
From: Mario Limonciello <mario.limonciello@amd.com>
[ Upstream commit b988685388effd648150aab272533f833a2a70f0 ]
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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/acpi/ec.c | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c
index 115994dfefec1..77d6af6115893 100644
--- a/drivers/acpi/ec.c
+++ b/drivers/acpi/ec.c
@@ -2301,6 +2301,34 @@ static const struct dmi_system_id acpi_ec_no_wakeup[] = {
DMI_MATCH(DMI_PRODUCT_FAMILY, "103C_5336AN HP ZHAN 66 Pro"),
},
},
+ /*
+ * Lenovo Legion Go S; touchscreen blocks HW sleep when woken up from EC
+ * https://gitlab.freedesktop.org/drm/amd/-/issues/3929
+ */
+ {
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "83L3"),
+ }
+ },
+ {
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "83N6"),
+ }
+ },
+ {
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "83Q2"),
+ }
+ },
+ {
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "83Q3"),
+ }
+ },
{ },
};
--
2.39.5
next prev parent reply other threads:[~2025-04-14 13:30 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-14 13:29 [PATCH AUTOSEL 6.6 01/24] KVM: s390: Don't use %pK through tracepoints Sasha Levin
2025-04-14 13:29 ` [PATCH AUTOSEL 6.6 02/24] KVM: s390: Don't use %pK through debug printing Sasha Levin
2025-04-14 13:29 ` [PATCH AUTOSEL 6.6 03/24] udmabuf: fix a buf size overflow issue during udmabuf creation Sasha Levin
2025-04-14 13:29 ` [PATCH AUTOSEL 6.6 04/24] selftests: ublk: fix test_stripe_04 Sasha Levin
2025-04-14 13:29 ` [PATCH AUTOSEL 6.6 05/24] perf/core: Fix WARN_ON(!ctx) in __free_event() for partial init Sasha Levin
2025-04-14 13:29 ` [PATCH AUTOSEL 6.6 06/24] xen: Change xen-acpi-processor dom0 dependency Sasha Levin
2025-04-14 13:29 ` [PATCH AUTOSEL 6.6 07/24] nvme: requeue namespace scan on missed AENs Sasha Levin
2025-04-14 13:29 ` Sasha Levin [this message]
2025-04-14 13:29 ` [PATCH AUTOSEL 6.6 09/24] ACPI PPTT: Fix coding mistakes in a couple of sizeof() calls Sasha Levin
2025-04-14 13:29 ` [PATCH AUTOSEL 6.6 10/24] nvme: re-read ANA log page after ns scan completes Sasha Levin
2025-04-14 13:29 ` [PATCH AUTOSEL 6.6 11/24] nvme: multipath: fix return value of nvme_available_path Sasha Levin
2025-04-14 13:29 ` [PATCH AUTOSEL 6.6 12/24] objtool: Stop UNRET validation on UD2 Sasha Levin
2025-04-14 13:29 ` [PATCH AUTOSEL 6.6 13/24] gpiolib: of: Move Atmel HSMCI quirk up out of the regulator comment Sasha Levin
2025-04-14 13:29 ` [PATCH AUTOSEL 6.6 14/24] selftests/mincore: Allow read-ahead pages to reach the end of the file Sasha Levin
2025-04-14 13:29 ` [PATCH AUTOSEL 6.6 15/24] x86/bugs: Use SBPB in write_ibpb() if applicable Sasha Levin
2025-04-14 13:29 ` [PATCH AUTOSEL 6.6 16/24] x86/bugs: Don't fill RSB on VMEXIT with eIBRS+retpoline Sasha Levin
2025-04-14 13:29 ` [PATCH AUTOSEL 6.6 17/24] x86/bugs: Don't fill RSB on context switch with eIBRS Sasha Levin
2025-04-14 13:29 ` [PATCH AUTOSEL 6.6 18/24] nvmet-fc: take tgtport reference only once Sasha Levin
2025-04-14 13:29 ` [PATCH AUTOSEL 6.6 19/24] nvmet-fc: put ref when assoc->del_work is already scheduled Sasha Levin
2025-04-14 13:29 ` [PATCH AUTOSEL 6.6 20/24] net_sched: sch_sfq: use a temporary work area for validating configuration Sasha Levin
2025-04-14 13:29 ` [PATCH AUTOSEL 6.6 21/24] cifs: Fix encoding of SMB1 Session Setup Kerberos Request in non-UNICODE mode Sasha Levin
2025-04-14 13:29 ` [PATCH AUTOSEL 6.6 22/24] timekeeping: Add a lockdep override in tick_freeze() Sasha Levin
2025-04-14 13:29 ` [PATCH AUTOSEL 6.6 23/24] cifs: Fix querying of WSL CHR and BLK reparse points over SMB1 Sasha Levin
2025-04-14 13:29 ` [PATCH AUTOSEL 6.6 24/24] ext4: make block validity check resistent to sb bh corruption Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250414132957.680250-8-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lkml@antheas.dev \
--cc=mario.limonciello@amd.com \
--cc=rafael.j.wysocki@intel.com \
--cc=rafael@kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox