From: Daniel Gibson <daniel@gibson.sh>
To: "Shyam Sundar S K" <Shyam-sundar.S-k@amd.com>,
"Hans de Goede" <hansg@kernel.org>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
platform-driver-x86@vger.kernel.org,
linux-kernel@vger.kernel.org,
"Mario Limonciello" <superm1@kernel.org>
Cc: Daniel Gibson <daniel@gibson.sh>
Subject: [PATCH v3 5/5] Documentation/arch/x86/amd-debugging: Add section about delay_suspend
Date: Tue, 12 May 2026 22:26:45 +0200 [thread overview]
Message-ID: <20260512202645.1549111-6-daniel@gibson.sh> (raw)
In-Reply-To: <20260512202645.1549111-1-daniel@gibson.sh>
Some Lenovo IdeaPad Slim 3 devices and similar with AMD CPUs (so far
observed with Zen3 and Zen3+ CPUs) have a nonfunctional keyboard and lid
switch after s2idle.
It helps to delay suspend by 2.5 seconds so the EC has some time
to do whatever it needs to get done before suspend.
Devices known to be affected are matched automatically, others can enforce
the delay with a amd_pmc module parameter.
This is now documented in amd-debugging.rst
FIXME: must be updated with the actual commit IDs when they are merged
Signed-off-by: Daniel Gibson <daniel@gibson.sh>
---
Documentation/arch/x86/amd-debugging.rst | 25 ++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/Documentation/arch/x86/amd-debugging.rst b/Documentation/arch/x86/amd-debugging.rst
index 3176a1240fee..6aca4e993f12 100644
--- a/Documentation/arch/x86/amd-debugging.rst
+++ b/Documentation/arch/x86/amd-debugging.rst
@@ -249,6 +249,31 @@ state entry.
`commit 40b8c14936bd2 ("drm/amd/display: Disable unneeded hpd interrupts during dm_init") <https://git.kernel.org/torvalds/c/40b8c14936bd2>`_
+Keyboard and Lid Switch stop working after resume
+-------------------------------------------------
+On various variants of the Lenovo IdeaPad Slim 3 with Barcelo and Rembrandt CPUs
+the lid switch and keyboard, or at least the Fn/Multimedia keys, stopped working
+after resume, until the next reboot.
+
+This was caused by buggy firmware having timing probles, the EC needed some idle
+time right before the CPU cores are suspended, or it got into an inconsistent state.
+
+For laptops that are known to be affected this workaround is enabled
+automatically, to test this workaround on other machines you can set the
+``delay_suspend`` parameter of the ``amd_pmc`` module.
+
+If you need to set the ``delay_suspend`` parameter to fix your machine, please
+report this at platform-driver-x86@vger.kernel.org for it to be added to the
+list of devices that need this workaround, so in future kernel versions it's
+enabled automatically.
+
+Note that the current workaround isn't perfect: On some devices the problems
+still happen if resume is triggered by a timer (wakealarm).
+
+`commit TODO ("platform/x86/amd/pmc: Delay suspend for some Lenovo Laptops") <https://git.kernel.org/torvalds/c/TODO>`_
+
+`commit TODO ("platform/x86/amd/pmc: Add delay_suspend module parameter") <https://git.kernel.org/torvalds/c/TODO>`_
+
Runtime power consumption issues
================================
--
2.48.1
next prev parent reply other threads:[~2026-05-12 20:26 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-12 20:26 [PATCH v3 0/5] amd_pmc: Delay s2idle suspend for some devices Daniel Gibson
2026-05-12 20:26 ` [PATCH v3 1/5] platform/x86/amd/pmc: Check for intermediate wakeup in function Daniel Gibson
2026-05-12 20:26 ` [PATCH v3 2/5] platform/x86/amd/pmc: Delay suspend for some Lenovo Laptops Daniel Gibson
2026-05-12 20:26 ` [PATCH v3 3/5] platform/x86/amd/pmc: Add delay_suspend module parameter Daniel Gibson
2026-05-12 20:26 ` [PATCH v3 4/5] Documentation/arch/x86/amd-debugging: Add example for reset register Daniel Gibson
2026-05-12 20:26 ` Daniel Gibson [this message]
2026-05-21 14:44 ` [PATCH v3 0/5] amd_pmc: Delay s2idle suspend for some devices Mario Limonciello
2026-05-21 19:13 ` Daniel Gibson
2026-05-21 19:43 ` Mario Limonciello
2026-05-21 20:32 ` Daniel Gibson
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=20260512202645.1549111-6-daniel@gibson.sh \
--to=daniel@gibson.sh \
--cc=Shyam-sundar.S-k@amd.com \
--cc=hansg@kernel.org \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=platform-driver-x86@vger.kernel.org \
--cc=superm1@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
all inboxes | Powered by JetHome®