]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amd/display: Pass up errors for reset GPU that fails to init HW
authorMario Limonciello <mario.limonciello@amd.com>
Thu, 15 May 2025 20:16:17 +0000 (15:16 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 28 Aug 2025 14:34:31 +0000 (16:34 +0200)
commit 2b6943df54136f40aff8a6d7ba7c26724d89a0bd upstream.

[Why]
If a GPU is in reset and the hardware fails to initialize the rest of the
resume sequence shouldn't be run.

[How]
Pass error code up to caller of dm_resume().

Reviewed-by: Alex Hung <alex.hung@amd.com>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Ivan Lipski <ivan.lipski@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index 57d86ebe1871ca089fa0b7a5992aa135428f46d7..afe15b76bc35486d18f839c4e8ff5d49890561cf 100644 (file)
@@ -3343,8 +3343,10 @@ static int dm_resume(struct amdgpu_ip_block *ip_block)
                link_enc_cfg_copy(adev->dm.dc->current_state, dc_state);
 
                r = dm_dmub_hw_init(adev);
-               if (r)
+               if (r) {
                        drm_err(adev_to_drm(adev), "DMUB interface failed to initialize: status=%d\n", r);
+                       return r;
+               }
 
                dc_dmub_srv_set_power_state(dm->dc->ctx->dmub_srv, DC_ACPI_CM_POWER_STATE_D0);
                dc_set_power_state(dm->dc, DC_ACPI_CM_POWER_STATE_D0);