From: "Timur Kristóf" <timur.kristof@gmail.com>
To: amd-gfx@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org, alexdeucher@gmail.com,
Danilo Machado <danilomachado2002@gmail.com>
Subject: Re: [REGRESSION][bisected] amdgpu/tonga: HDMI no signal after suspend/resume
Date: Mon, 30 Mar 2026 16:34:19 +0200 [thread overview]
Message-ID: <22574187.4csPzL39Zc@timur-hyperion> (raw)
In-Reply-To: <CAJ9xWrJaN80e1jzieNBCZ35BRrBNDg53L+jE-z6Zh6tPbDTNTw@mail.gmail.com>
On Sunday, March 29, 2026 11:36:19 PM Central European Summer Time Danilo
Machado wrote:
> Hi all,
>
> I would like to share an important update based on further testing.
>
> After implementing a temporary workaround, I noticed that the issue is not
> limited to suspend/resume. There is a second trigger that seems to affect
> the same underlying problem.
Hi Danilo,
I responded on the GitLab issue.
I recommend to continue the conversation there.
Best regards,
Timur
> 🔍 Additional trigger identified (DPMS / screen off)
>
> Sequence:
>
> 1.
>
> System resumes from suspend → works correctly (login screen appears)
> 2.
>
> System becomes idle → screen turns off (DPMS)
> 3.
>
> Upon user interaction (keyboard/mouse), the display fails to wake
> properly
>
> Observed behavior:
>
> -
>
> Black screen or no signal
> -
>
> System remains responsive (can sometimes type blindly)
> -
>
> In some cases, session becomes partially corrupted
>
> Important detail:
>
> This behavior is very similar to what happens after suspend/resume:
>
> -
>
> HDMI link is not properly restored
> -
>
> Monitor may be misdetected or not reinitialized correctly
>
> ------------------------------
> 🧪 Workaround behavior
>
> -
>
> Disabling the phantom output (DVI-D-1) restores the display immediately
> -
>
> Forcing HDMI-A-0 as primary also helps reinitialize the session
> -
>
> Disabling automatic screen-off (DPMS) avoids the issue entirely
>
> ------------------------------
> 🧠 Interpretation
>
> This suggests the problem is not strictly related to suspend, but more
> generally to *display reinitialization after power state transitions*,
> including:
>
> -
>
> suspend/resume (deep)
> -
>
> screen power off/on (DPMS)
>
> Given that both paths trigger similar failures, this may point to issues in:
>
> -
>
> EDID re-read after power events
> -
>
> HDMI link training
> -
>
> atomic modeset state reconstruction
> -
>
> DC state restore
>
> ------------------------------
> 💡 Conclusion
>
> The bisected commit may still represent a valid trigger point, but the root
> cause appears to be related to how display state is restored after power
> transitions, rather than suspend alone.
> ------------------------------
> 📎 Additional notes
>
> -
>
> Wayland still does not show the same hard failure
> -
>
> Issue remains reproducible
> -
>
> Workarounds are consistent
>
> ------------------------------
>
> I hope this additional information helps narrow down the issue further.
>
> Please let me know if I can assist with more testing.
>
> Thanks again for your time and your work.
>
> Best regards,
> Danilo
>
>
> Em dom., 29 de mar. de 2026 às 13:34, Danilo Machado <
>
> danilomachado2002@gmail.com> escreveu:
> > Hi all,
> >
> > I’d like to provide a final update on this regression affecting AMD Radeon
> > R9 380 (Tonga), which I bisected earlier between Linux 6.3 (good) and 6.4
> > (bad).
> >
> > After further investigation, I was able to isolate the issue more
> > precisely and identify a reliable workaround.
> >
> > 🔍 Summary:
> >
> > After suspend/resume under X11:
> > -
> >
> > HDMI monitor is physically connected and EDID is valid
> > -
> >
> > Kernel (DRM) correctly detects the HDMI connector
> > -
> >
> > However, X11 ends up with an inconsistent display state
> >
> > Observed behavior:
> > -
> >
> > HDMI-A-0 is active at correct resolution (1920x1080)
> > -
> >
> > A phantom output (DVI-D-1) appears as connected
> > -
> >
> > DVI-D-1 is incorrectly set as primary at 640x480
> > -
> >
> > Desktop becomes corrupted (missing panels, apps failing, incorrect
> > layout)
> >
> > xrandr example after resume:
> >
> > HDMI-A-0 connected 1920x1080+0+0
> > DVI-D-1 connected primary 640x480+1920+116
> >
> > 🧠 Key finding:
> >
> > The issue is not EDID or link training. EDID is readable and valid.
> >
> > This appears to be a failure in atomic modeset / connector-to-CRTC mapping
> > during resume, leading to an incorrect fallback output being selected as
> > primary.
> >
> > 💡 Workaround (100% reproducible fix):
> >
> > Running the following immediately restores the system:
> >
> > xrandr --output DVI-D-1 --off
> > xrandr --output HDMI-A-0 --primary --mode 1920x1080
> >
> > This strongly suggests that the correct state exists but is not applied
> > automatically after resume.
> >
> > ⚙️ Additional observations:
> > -
> >
> > Wayland does not exhibit the same failure (likely due to dynamic state
> > handling)
> > -
> >
> > Issue reproducible only on 6.4+
> > -
> >
> > s2idle reduces severity but does not fix the issue
> > -
> >
> > amdgpu.dc=0 makes the system fully unusable after resume
> >
> > 🧪 Bisect:
> >
> > First bad commit:
> > b3c98052d46948a8d65d2778c7f306ff38366aac (KVM merge)
> >
> > This likely indicates an indirect trigger (timing/order change during
> > resume), not a direct amdgpu change.
> >
> > 📎 Logs and details available upon request.
> >
> > 🙏 I’m happy to test patches or provide additional debug information.
> >
> > Thanks for your time and for maintaining amdgpu.
> >
> > Best regards,
> > Danilo
> >
> > Em dom., 29 de mar. de 2026 às 10:35, Danilo Machado <
> >
> > danilomachado2002@gmail.com> escreveu:
> >> Also reported on GitLab:
> >> https://gitlab.freedesktop.org/drm/amd/-/work_items/5123
> >>
> >> Em dom., 29 de mar. de 2026 às 09:47, Danilo Machado <
> >>
> >> danilomachado2002@gmail.com> escreveu:
> >>> Additional testing:
> >>>
> >>> I tested with amdgpu.dc=0 to disable Display Core.
> >>>
> >>> Result:
> >>> - system becomes completely unresponsive after resume
> >>> - black screen, no input response
> >>>
> >>> This suggests the issue is not limited to Display Core (DC),
> >>> but likely affects the core GPU resume path.
> >>>
> >>> With DC enabled:
> >>> - partial recovery (corrupted display, EDID failure)
> >>>
> >>> With DC disabled:
> >>> - complete failure
> >>>
> >>> This reinforces that the regression is deeper in the amdgpu resume
> >>> sequence.
> >>>
> >>> Em sex., 27 de mar. de 2026 às 21:14, Danilo Machado <
> >>>
> >>> danilomachado2002@gmail.com> escreveu:
> >>>> Additional data (resume failure analysis)
> >>>>
> >>>> Hardware:
> >>>> - GPU: AMD Radeon R9 380 (Tonga, GCN 3)
> >>>> - CPU: AMD Ryzen 5 5500
> >>>> - RAM: 16 GB
> >>>> - Display: HDMI
> >>>>
> >>>> Software:
> >>>> - Kernel: 6.8.0-106-generic
> >>>> - Driver: amdgpu
> >>>> - Display server: X11 (issue reproducible), Wayland (no hard failure)
> >>>>
> >>>> ---
> >>>>
> >>>> Summary:
> >>>>
> >>>> After suspend/resume, HDMI output is not restored and the system may
> >>>> freeze under X11.
> >>>>
> >>>> The issue is reproducible and was not present in Linux 6.3.
> >>>>
> >>>> ---
> >>>>
> >>>> Key observation:
> >>>>
> >>>> During resume, the driver fails to read EDID:
> >>>> amdgpu 0000:01:00.0: [drm] *ERROR* No EDID read.
> >>>>
> >>>> This appears to explain why HDMI output is not restored.
> >>>>
> >>>> ---
> >>>>
> >>>> Relevant DRM / AMDGPU log excerpt:
> >>>>
> >>>> [drm] Display Core v3.2.266 initialized on DCE 10.0
> >>>> amdgpu 0000:01:00.0: [drm] *ERROR* No EDID read.
> >>>> [drm] Initialized amdgpu 3.57.0 20150101 for 0000:01:00.0
> >>>>
> >>>> ---
> >>>>
> >>>> Analysis:
> >>>>
> >>>> - The failure occurs during display reinitialization after resume
> >>>> - EDID read failure prevents proper HDMI modeset
> >>>> - This aligns with the observed "no signal" condition
> >>>>
> >>>> Behavior differences:
> >>>>
> >>>> - deep sleep:
> >>>> - full GPU/display reinitialization
> >>>> - leads to EDID failure and system instability
> >>>>
> >>>> - s2idle:
> >>>> - partial resume
> >>>> - avoids full lockup but display may still be inconsistent
> >>>>
> >>>> This suggests the issue is in the display resume path, possibly
> >>>> involving:
> >>>>
> >>>> - DC state restore
> >>>> - HDMI link training
> >>>> - DDC/EDID communication
> >>>> - atomic modeset reconstruction
> >>>>
> >>>> ---
> >>>>
> >>>> Conclusion:
> >>>>
> >>>> This is likely a regression in the AMDGPU display resume path, where
> >>>> EDID read fails after resume, preventing HDMI output from being
> >>>> restored.
> >>>>
> >>>> ---
> >>>>
> >>>> Additional notes:
> >>>>
> >>>> This issue was bisected between Linux 6.3 (good) and 6.4 (bad), with
> >>>> the transition point identified as a KVM merge commit. While not
> >>>> directly
> >>>> related to AMDGPU, it may have indirectly exposed this issue via
> >>>> timing/order changes.
> >>>>
> >>>> ---
> >>>>
> >>>> If needed, I can provide:
> >>>>
> >>>> - full journalctl logs
> >>>> - full bisect log
> >>>> - additional testing (kernel params, debug options)
> >>>> ------------------------------
> >>>> *De:* Danilo Machado <danilomachado2002@hotmail.com>
> >>>> *Enviado:* quinta-feira, 26 de março de 2026 20:38
> >>>> *Para:* amd-gfx@lists.freedesktop.org <amd-gfx@lists.freedesktop.org>
> >>>> *Cc:* Alex Deucher <alexdeucher@gmail.com>;
> >>>> dri-devel@lists.freedesktop.org <dri-devel@lists.freedesktop.org>
> >>>> *Assunto:* [REGRESSION][bisected] amdgpu/tonga: HDMI no signal after
> >>>> suspend/resume
> >>>>
> >>>>
> >>>> Hi all,
> >>>>
> >>>> Thanks again for your feedback.
> >>>>
> >>>> I took a closer look at the bisect results and system behavior, and I’d
> >>>> like to provide a more complete and consolidated report.
> >>>> ------------------------------
> >>>>
> >>>> Hardware:
> >>>> -
> >>>>
> >>>> GPU: AMD Radeon R9 380 (Tonga, GCN 3)
> >>>> -
> >>>>
> >>>> CPU: AMD Ryzen 5 5500
> >>>> -
> >>>>
> >>>> RAM: 16 GB
> >>>> -
> >>>>
> >>>> Display: HDMI
> >>>>
> >>>> Software:
> >>>> -
> >>>>
> >>>> Driver: amdgpu
> >>>> -
> >>>>
> >>>> Kernel range tested: 6.3 (good) → 6.4 (bad)
> >>>>
> >>>> ------------------------------
> >>>>
> >>>> Summary:
> >>>>
> >>>> This is a reproducible suspend/resume regression affecting HDMI output.
> >>>>
> >>>> -
> >>>>
> >>>> Linux 6.3 → working correctly
> >>>> -
> >>>>
> >>>> Linux 6.4+ → regression present
> >>>>
> >>>> ------------------------------
> >>>>
> >>>> Behavior:
> >>>>
> >>>> After suspend/resume:
> >>>> -
> >>>>
> >>>> HDMI output does not recover ("no signal")
> >>>> -
> >>>>
> >>>> System may freeze under X11
> >>>> -
> >>>>
> >>>> Wayland does not show the same hard failure
> >>>>
> >>>> Additionally:
> >>>> -
> >>>>
> >>>> Using "deep" sleep:
> >>>> -
> >>>>
> >>>> full system lockup after resume
> >>>> -
> >>>>
> >>>> Using "s2idle":
> >>>> -
> >>>>
> >>>> system resumes without hard lock
> >>>> -
> >>>>
> >>>> however, graphical session may return in a partially broken state
> >>>>
> >>>> ------------------------------
> >>>>
> >>>> Bisect result:
> >>>>
> >>>> A full git bisect was performed between Linux 6.3 and 6.4.
> >>>>
> >>>> First bad commit:
> >>>> b3c98052d46948a8d65d2778c7f306ff38366aac
> >>>> ("Merge tag 'kvm-x86-vmx-6.4'")
> >>>>
> >>>> All intermediate commits in that range were consistently tested as
> >>>> GOOD.
> >>>> ------------------------------
> >>>>
> >>>> Analysis:
> >>>>
> >>>> Although the bisected commit is in KVM and unlikely to directly affect
> >>>> AMDGPU, the transition point is consistent and reproducible.
> >>>>
> >>>> This suggests the regression may be indirectly triggered (e.g. timing
> >>>> or ordering changes during resume), rather than caused directly by that
> >>>> merge.
> >>>>
> >>>> Based on observed behavior, this appears related to the display resume
> >>>>
> >>>> path, possibly involving:
> >>>> -
> >>>>
> >>>> DC state restore after resume
> >>>> -
> >>>>
> >>>> HDMI link training
> >>>> -
> >>>>
> >>>> EDID re-read
> >>>> -
> >>>>
> >>>> atomic modeset state reconstruction
> >>>>
> >>>> The difference between "deep" and "s2idle" also suggests a failure
> >>>> during full GPU/display reinitialization.
> >>>> ------------------------------
> >>>>
> >>>> Conclusion:
> >>>>
> >>>> This appears to be a latent issue exposed by changes introduced during
> >>>> the 6.4 merge window, rather than a direct regression in the bisected
> >>>> commit itself.
> >>>> ------------------------------
> >>>>
> >>>> If helpful, I can assist further by:
> >>>> -
> >>>>
> >>>> providing full bisect logs
> >>>> -
> >>>>
> >>>> capturing detailed dmesg/journalctl before and after resume
> >>>> -
> >>>>
> >>>> testing patches or debug options
> >>>> -
> >>>>
> >>>> narrowing the range further if needed
> >>>>
> >>>> I really appreciate the work on AMDGPU and would be glad to help within
> >>>> my limits to investigate this further.
> >>>>
> >>>> Thanks again for your time.
> >>>>
> >>>> Best regards,
> >>>> Danilo
> >>>> Note: I had some email client configuration issues earlier, which may
> >>>> have caused duplicate messages or formatting problems. These have now
> >>>> been
> >>>> resolved — apologies for any inconvenience.
> >>>
> >>> --
> >>> *Danilo Machado*
> >>
> >> --
> >> *Danilo Machado*
> >
> > --
> > *Danilo Machado*
next prev parent reply other threads:[~2026-03-30 14:34 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-28 0:14 [REGRESSION][bisected] amdgpu/tonga: HDMI no signal after suspend/resume Danilo Machado
2026-03-29 12:47 ` Danilo Machado
2026-03-29 13:35 ` Danilo Machado
2026-03-29 16:34 ` Danilo Machado
2026-03-29 21:36 ` Danilo Machado
2026-03-30 14:34 ` Timur Kristóf [this message]
-- strict thread matches above, loose matches on Subject: below --
2026-03-26 23:38 Danilo Machado
2026-03-27 23:36 ` Danilo Machado
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=22574187.4csPzL39Zc@timur-hyperion \
--to=timur.kristof@gmail.com \
--cc=alexdeucher@gmail.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=danilomachado2002@gmail.com \
--cc=dri-devel@lists.freedesktop.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