From 61d21b01852fa66e6950ac86777fc06eb16ac7df Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 12 Aug 2024 16:57:12 +0200 Subject: [PATCH] 6.6-stable patches added patches: drm-amd-display-defer-handling-mst-up-request-in-resume.patch --- ...er-handling-mst-up-request-in-resume.patch | 42 +++++++++++++++++++ queue-6.6/series | 1 + 2 files changed, 43 insertions(+) create mode 100644 queue-6.6/drm-amd-display-defer-handling-mst-up-request-in-resume.patch diff --git a/queue-6.6/drm-amd-display-defer-handling-mst-up-request-in-resume.patch b/queue-6.6/drm-amd-display-defer-handling-mst-up-request-in-resume.patch new file mode 100644 index 00000000000..2374f354e19 --- /dev/null +++ b/queue-6.6/drm-amd-display-defer-handling-mst-up-request-in-resume.patch @@ -0,0 +1,42 @@ +From 202dc359addab29451d3d18243c3d957da5392c8 Mon Sep 17 00:00:00 2001 +From: Wayne Lin +Date: Mon, 15 Apr 2024 14:04:00 +0800 +Subject: drm/amd/display: Defer handling mst up request in resume + +From: Wayne Lin + +commit 202dc359addab29451d3d18243c3d957da5392c8 upstream. + +[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 +Cc: Alex Deucher +Cc: stable@vger.kernel.org +Reviewed-by: Hersen Wu +Signed-off-by: Wayne Lin +Tested-by: Daniel Wheeler +Signed-off-by: Alex Deucher +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 1 - + 1 file changed, 1 deletion(-) + +--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c ++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +@@ -2350,7 +2350,6 @@ static void resume_mst_branch_status(str + + 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"); diff --git a/queue-6.6/series b/queue-6.6/series index 7d6b2c270fe..bbbbb4faa86 100644 --- a/queue-6.6/series +++ b/queue-6.6/series @@ -179,3 +179,4 @@ tools-headers-arm64-sync-arm64-s-cputype.h-with-the-kernel-sources.patch mm-hugetlb-fix-potential-race-in-__update_and_free_hugetlb_folio.patch nouveau-set-placement-to-original-placement-on-uvmm-validate.patch xfs-fix-log-recovery-buffer-allocation-for-the-legacy-h_size-fixup.patch +drm-amd-display-defer-handling-mst-up-request-in-resume.patch -- 2.47.3