]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amd/display: Defer handling mst up request in resume
authorWayne Lin <wayne.lin@amd.com>
Mon, 15 Apr 2024 06:04:00 +0000 (14:04 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 30 Apr 2024 13:53:25 +0000 (09:53 -0400)
[Why]
Like commit ec5fa9fcdeca ("drm/amd/display: Adjust the MST resume flow"), we
want to avoid handling mst topology changes before restoring the old state.
If we enable DP_UP_REQ_EN before calling drm_atomic_helper_resume(), have
changce to handle CSN event first and fire hotplug event before restoring the
cached state.

[How]
Disable mst branch sending up request event before we restoring the cached state.
DP_UP_REQ_EN will be set later when we call drm_dp_mst_topology_mgr_resume().

Cc: Mario Limonciello <mario.limonciello@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
Reviewed-by: Hersen Wu <hersenxs.wu@amd.com>
Signed-off-by: Wayne Lin <wayne.lin@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

index c863f400024b4196367a30e06d22dc87f3a00b65..ecf5752ef35f97dd7f5713b097bdb9c73a995e02 100644 (file)
@@ -2429,7 +2429,6 @@ static void resume_mst_branch_status(struct drm_dp_mst_topology_mgr *mgr)
 
        ret = drm_dp_dpcd_writeb(mgr->aux, DP_MSTM_CTRL,
                                 DP_MST_EN |
-                                DP_UP_REQ_EN |
                                 DP_UPSTREAM_IS_SRC);
        if (ret < 0) {
                drm_dbg_kms(mgr->dev, "mst write failed - undocked during suspend?\n");