X86 platform drivers
 help / color / mirror / Atom feed
From: bugzilla-daemon@kernel.org
To: platform-driver-x86@vger.kernel.org
Subject: [Bug 218305] Ryzen 7 7840HS gets stuck at 544MHz frequency after resuming after unplugging the power cord during sleep
Date: Mon, 13 Jul 2026 13:21:18 +0000	[thread overview]
Message-ID: <bug-218305-215701-S7drBPz1ad@https.bugzilla.kernel.org/> (raw)
In-Reply-To: <bug-218305-215701@https.bugzilla.kernel.org/>

https://bugzilla.kernel.org/show_bug.cgi?id=218305

--- Comment #154 from Mario Limonciello (AMD) (mario.limonciello@amd.com) ---
> Is this doable/plausible?

Unfortunately; that is filled with hallucinations.  Let me tear it apart.

> **Why it works on Windows:** AMD's Windows drivers explicitly re-initialize
> the SMU CPPC handshake

AMD doesn't have a CPPC driver for Windows, it uses infrastructure built-into
the OS.

> ## How an upstream provider can fix this

If you have Claude code and you think this is viable, use Claude code to make a
patch?

> `drivers/cpufreq/amd-pstate.c` — The driver needs a `.resume()` callback (or
> a
`syscore_ops.resume` hook) that re-writes the CPPC `desired_perf` register for
every online CPU.

There is already a resume hook, please see amd_pstate_resume() that updates the
correct register (MSR_AMD_CPPC_REQ).

> In active mode this means re-issuing the CPPC performance request that was in
> effect before suspend, forcing the SMU to re-accept OS-side CPPC control.

You mean like the code already does?

https://github.com/torvalds/linux/blob/v7.2-rc3/drivers/cpufreq/amd-pstate.c#L2108

> `drivers/platform/x86/amd/pmc/pmc.c` — The `amd_pmc` driver orchestrates the
> s2idle handshake.
> On the exit path (`amd_pmc_resume_handler`) it could call a notifier that
> lets `amd-pstate`
> re-initialize CPPC, ensuring the SMU is back under kernel control before user
> processes resume.

That's not how s2idle resume works.  amd_pmc suspend is unrolled through
acpi_s2idle_restore_early_lps0() -> lps0_s2idle_devops_head.

Then acpi_s2idle_restore() is called and all devices resumed.  amd-pstate
already happens in the latter.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

  parent reply	other threads:[~2026-07-13 13:21 UTC|newest]

Thread overview: 163+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-24  7:21 [Bug 218305] New: Ryzen 7 7840HS gets stuck at 544MHz frequency after a random number of suspend/resume cycles bugzilla-daemon
2023-12-24  7:27 ` [Bug 218305] " bugzilla-daemon
2023-12-24  7:30 ` bugzilla-daemon
2023-12-24 15:03 ` bugzilla-daemon
2023-12-24 15:12 ` bugzilla-daemon
2023-12-24 15:37 ` bugzilla-daemon
2023-12-24 15:38 ` bugzilla-daemon
2023-12-25 10:46 ` bugzilla-daemon
2023-12-25 10:53 ` bugzilla-daemon
2023-12-25 14:42 ` bugzilla-daemon
2023-12-26  4:21 ` bugzilla-daemon
2023-12-26 15:18 ` bugzilla-daemon
2023-12-26 15:25 ` bugzilla-daemon
2023-12-26 15:29 ` bugzilla-daemon
2024-01-03  0:03 ` bugzilla-daemon
2024-01-17  4:10 ` bugzilla-daemon
2024-01-17 19:33 ` bugzilla-daemon
2024-01-19  7:31 ` bugzilla-daemon
2024-01-19 12:45 ` bugzilla-daemon
2024-01-19 13:52 ` bugzilla-daemon
2024-01-19 15:25 ` bugzilla-daemon
2024-01-20  0:21 ` bugzilla-daemon
2024-01-21 18:05 ` bugzilla-daemon
2024-01-22  1:48 ` bugzilla-daemon
2024-01-22  1:53 ` bugzilla-daemon
2024-01-22  3:22 ` bugzilla-daemon
2024-01-22 17:50 ` bugzilla-daemon
2024-01-22 17:54 ` bugzilla-daemon
2024-03-05 16:57 ` bugzilla-daemon
2024-03-05 19:03 ` bugzilla-daemon
2024-03-06  9:59 ` bugzilla-daemon
2024-03-06 16:20 ` bugzilla-daemon
2024-03-06 16:31 ` bugzilla-daemon
2024-03-06 17:17 ` [Bug 218305] Ryzen 7 7840HS gets stuck at 544MHz frequency after resuming after unplugging the power cord during sleep bugzilla-daemon
2024-03-06 17:38 ` bugzilla-daemon
2024-03-06 17:46 ` bugzilla-daemon
2024-03-06 17:50 ` bugzilla-daemon
2024-03-06 17:55 ` bugzilla-daemon
2024-03-06 18:03 ` bugzilla-daemon
2024-03-06 18:06 ` bugzilla-daemon
2024-03-06 18:08 ` bugzilla-daemon
2024-03-06 18:09 ` bugzilla-daemon
2024-03-06 18:10 ` bugzilla-daemon
2024-04-01  8:00 ` bugzilla-daemon
2024-04-01 13:19 ` bugzilla-daemon
2024-04-01 13:37 ` bugzilla-daemon
2024-04-01 14:04 ` bugzilla-daemon
2024-04-01 14:14 ` bugzilla-daemon
2024-04-01 14:23 ` bugzilla-daemon
2024-04-05  2:20 ` bugzilla-daemon
2024-04-05  8:09 ` bugzilla-daemon
2024-04-05 11:15 ` bugzilla-daemon
2024-04-06  7:48 ` bugzilla-daemon
2024-04-15 17:42 ` bugzilla-daemon
2024-04-15 19:01 ` bugzilla-daemon
2024-04-15 19:35 ` bugzilla-daemon
2024-04-15 20:43 ` bugzilla-daemon
2024-05-06 14:20 ` bugzilla-daemon
2024-05-06 14:23 ` bugzilla-daemon
2024-05-06 14:52 ` bugzilla-daemon
2024-05-06 14:55 ` bugzilla-daemon
2024-05-06 15:16 ` bugzilla-daemon
2024-05-06 17:26 ` bugzilla-daemon
2024-05-07  8:24 ` bugzilla-daemon
2024-05-08  7:39 ` bugzilla-daemon
2024-05-08 11:14 ` bugzilla-daemon
2024-05-08 11:21 ` bugzilla-daemon
2024-05-08 11:42 ` bugzilla-daemon
2024-05-08 22:38 ` bugzilla-daemon
2024-05-09  7:49 ` bugzilla-daemon
2024-05-09  8:46 ` bugzilla-daemon
2024-05-09 13:31 ` bugzilla-daemon
2024-05-11  9:23 ` bugzilla-daemon
2024-05-11 10:25 ` bugzilla-daemon
2024-08-12 18:55 ` bugzilla-daemon
2024-08-12 22:19 ` bugzilla-daemon
2024-08-12 22:20 ` bugzilla-daemon
2024-09-19  7:57 ` bugzilla-daemon
2024-09-19 12:05 ` bugzilla-daemon
2024-12-22  2:59 ` bugzilla-daemon
2024-12-22  3:00 ` bugzilla-daemon
2024-12-22  7:19 ` bugzilla-daemon
2024-12-22 15:52 ` bugzilla-daemon
2024-12-22 19:55 ` bugzilla-daemon
2024-12-22 20:15 ` bugzilla-daemon
2025-01-06  3:47 ` bugzilla-daemon
2025-01-06  3:52 ` bugzilla-daemon
2025-04-10 18:01 ` bugzilla-daemon
2025-04-10 18:05 ` bugzilla-daemon
2025-04-10 18:15 ` bugzilla-daemon
2025-04-10 18:30 ` bugzilla-daemon
2025-04-10 18:59 ` bugzilla-daemon
2025-04-10 18:59 ` bugzilla-daemon
2025-04-10 19:06 ` bugzilla-daemon
2025-04-14 18:27 ` bugzilla-daemon
2025-04-14 18:45 ` bugzilla-daemon
2025-04-24  8:12 ` bugzilla-daemon
2025-05-05 21:27 ` bugzilla-daemon
2025-07-16 10:46 ` bugzilla-daemon
2025-07-16 15:32 ` bugzilla-daemon
2025-07-18  8:22 ` bugzilla-daemon
2025-07-23 11:29 ` bugzilla-daemon
2025-08-28  5:10 ` bugzilla-daemon
2025-09-08 19:58 ` bugzilla-daemon
2025-09-08 20:09 ` bugzilla-daemon
2025-09-09  4:27 ` bugzilla-daemon
2025-09-09 10:38 ` bugzilla-daemon
2025-09-10  4:27 ` bugzilla-daemon
2025-09-10  4:28 ` bugzilla-daemon
2025-09-10  4:33 ` bugzilla-daemon
2025-09-11  4:32 ` bugzilla-daemon
2025-09-11  4:34 ` bugzilla-daemon
2025-09-11 14:18 ` bugzilla-daemon
2025-09-12  6:06 ` bugzilla-daemon
2025-09-13 16:59 ` bugzilla-daemon
2025-09-13 17:37 ` bugzilla-daemon
2025-09-13 18:30 ` bugzilla-daemon
2025-09-13 18:34 ` bugzilla-daemon
2025-09-13 18:44 ` bugzilla-daemon
2025-09-13 18:48 ` bugzilla-daemon
2025-09-14  0:45 ` bugzilla-daemon
2025-09-14  2:03 ` bugzilla-daemon
2025-09-14  2:04 ` bugzilla-daemon
2025-09-14 12:01 ` bugzilla-daemon
2025-09-15  5:49 ` bugzilla-daemon
2025-09-15 16:11 ` bugzilla-daemon
2025-09-15 16:16 ` bugzilla-daemon
2025-09-15 16:24 ` bugzilla-daemon
2025-09-15 16:33 ` bugzilla-daemon
2025-09-15 16:38 ` bugzilla-daemon
2025-09-15 17:12 ` bugzilla-daemon
2025-09-15 17:26 ` bugzilla-daemon
2025-09-16  0:58 ` bugzilla-daemon
2025-09-16 21:20 ` bugzilla-daemon
2025-09-16 22:14 ` bugzilla-daemon
2025-09-17 15:47 ` bugzilla-daemon
2025-09-17 21:49 ` bugzilla-daemon
2025-09-29 15:04 ` bugzilla-daemon
2025-10-06 14:02 ` bugzilla-daemon
2025-10-06 14:25 ` bugzilla-daemon
2025-10-06 21:01 ` bugzilla-daemon
2025-10-12 16:31 ` bugzilla-daemon
2025-10-18  7:37 ` bugzilla-daemon
2025-11-09  3:56 ` bugzilla-daemon
2025-11-09  6:55 ` bugzilla-daemon
2025-11-09 16:11 ` bugzilla-daemon
2025-11-09 19:21 ` bugzilla-daemon
2025-11-13 18:13 ` bugzilla-daemon
2025-11-20 17:34 ` bugzilla-daemon
2026-01-07 14:03 ` bugzilla-daemon
2026-01-08  6:50 ` bugzilla-daemon
2026-01-08  7:26 ` bugzilla-daemon
2026-01-08 13:06 ` bugzilla-daemon
2026-01-08 20:53 ` bugzilla-daemon
2026-04-23 15:03 ` bugzilla-daemon
2026-04-27 17:54 ` bugzilla-daemon
2026-06-21 11:23 ` bugzilla-daemon
2026-07-12 17:52 ` bugzilla-daemon
2026-07-13  9:32 ` bugzilla-daemon
2026-07-13 13:21 ` bugzilla-daemon [this message]
2026-07-13 13:53 ` bugzilla-daemon
2026-07-13 14:00 ` bugzilla-daemon
2026-07-13 20:56 ` bugzilla-daemon

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=bug-218305-215701-S7drBPz1ad@https.bugzilla.kernel.org/ \
    --to=bugzilla-daemon@kernel.org \
    --cc=platform-driver-x86@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