Bug 211821

Summary: [amdgpu]Crash when turning off monitor introduced in 5.11-rc7
Product: Drivers Reporter: Eric Samuelson (eric)
Component: Video(DRI - non Intel)Assignee: drivers_video-other
Status: RESOLVED DUPLICATE    
Severity: normal    
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 5.11 Subsystem:
Regression: No Bisected commit-id:
Attachments: Crash report

Description Eric Samuelson 2021-02-18 07:38:04 UTC
Created attachment 295335 [details]
Crash report

System is AMD, x570 chipset, 3900x processor and RX 6800 XT AMD reference GPU. Since 5.11-rc7, when turning off the monitor manually, the following crash happens such that I cannot resume using the computer when turning the monitor back on.

Video is still output, however it is frozen in the same state as the last crash. So when I turn on the monitor in the morning again, the clock still shows the previous night. The kernel seems to be responding otherwise, I issue a REISUB and reboot to restore function.

Reverting to 5.11-rc6 is a temporary workaround for me.
Comment 1 Eric Samuelson 2021-02-18 14:22:14 UTC
I managed to bisect down to the offending commit.

bobris@bobris-pc:~/src/linux-git$ git bisect good
8866a67ab86cc0812e65c04f1ef02bcc41e24d68 is the first bad commit
commit 8866a67ab86cc0812e65c04f1ef02bcc41e24d68
Author: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Date:   Wed Jan 6 11:23:05 2021 -0500

    drm/amd/display: reuse current context instead of recreating one
    
    [Why]
    Currently we discard the current context and recreate it. The current
    context is what is applied to the HW so we should be re-using this
    rather than creating a new context.
    
    Recreating the context can lead to mismatch between new context and the
    current context
    
    For example: gsl groups get changed when we create a new context this
    can cause issues in a multi display config (with flip immediate) because
    we don't align the existing gsl groups in the new and current context.
    If we reuse the current context the gsl group assignment stays the same.
    
    [How]
    Instead of discarding the current context, we instead just copy the
    current state and add/remove planes and streams.
    
    Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
    Reviewed-by: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>
    Acked-by: Anson Jacob <Anson.Jacob@amd.com>
    Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 23 +++++++++----------
 drivers/gpu/drm/amd/display/dc/core/dc.c          | 27 ++++++++++++++++-------
 drivers/gpu/drm/amd/display/dc/dc_stream.h        |  3 +--
 3 files changed, 30 insertions(+), 23 deletions(-)
Comment 2 Eric Samuelson 2021-02-18 14:35:22 UTC

*** This bug has been marked as a duplicate of bug 211649 ***