Re: [REGRESSION] drm/amd/display: Radeon 840M/860M: bisected suspend crash

From: Mario Limonciello
Date: Tue Jun 17 2025 - 22:16:28 EST


On 6/17/2025 6:42 PM, Alex Hung wrote:
Hi,

Thanks for reporting. Can you please create a bug at https:// gitlab.freedesktop.org/drm/amd/-/issues/ for issue tracking and log collection.

On 6/12/25 08:08, ggo@xxxxxxxxxxxxxxxxxxx wrote:
Hi,

I have discovered that two small form factor desktops with Ryzen AI 7
350 and Ryzen AI 5 340 crash when woken up from suspend. I can see how
the LED on the USB mouse is switched on when I trigger a resume via
keyboard button, but the display remains black. The kernel also no
longer responds to Magic SysRq keys in this state.

The problem affects all kernels after merge b50753547453 (v6.11.0). But
this merge only adds PCI_DEVICE_ID_AMD_1AH_M60H_ROOT with commit
59c34008d (necessary to trigger this bug with Ryzen AI CPU).
I cherry-picked this commit and continued searching. Which finally led
me to commit f6098641d3e - drm/amd/display: fix s2idle entry for DCN3.5+

If I remove the code, which has changed somewhat in the meantime, then
the suspend works without any problems. See the following patch.

Regards,
Georg


diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index d3100f641ac6..76204ae70acc 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -3121,9 +3121,6 @@ static int dm_suspend(struct amdgpu_ip_block
*ip_block)

      dc_set_power_state(dm->dc, DC_ACPI_CM_POWER_STATE_D3);

-    if (dm->dc->caps.ips_support && adev->in_s0ix)
-        dc_allow_idle_optimizations(dm->dc, true);
-
      dc_dmub_srv_set_power_state(dm->dc->ctx->dmub_srv,
DC_ACPI_CM_POWER_STATE_D3);

      return 0;




That patch you did is basically blocking hardware sleep. I wouldn't call it a solution.

If you haven't already; please use https://git.kernel.org/pub/scm/linux/kernel/git/superm1/amd-debug-tools.git/about/ to triage this issue. It will flag the most common things that are hard to diagnose without knowledge.

If that doesn't flag anything, please reproduce on a mainline kernel (6.15.y or 6.16-rcX) and then file a bug as Alex suggested. Attach the report you generated from the tool there.