public inbox for amd-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
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*





  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