Patrik Jakobsson 55c830
From 21431f70f6014f81b0d118ff4fcee12b00b9dd70 Mon Sep 17 00:00:00 2001
Patrik Jakobsson 55c830
From: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Patrik Jakobsson 55c830
Date: Tue, 9 Nov 2021 11:24:10 -0500
Patrik Jakobsson 55c830
Subject: drm/amd/display: Set plane update flags for all planes in reset
Patrik Jakobsson 55c830
Git-commit: 21431f70f6014f81b0d118ff4fcee12b00b9dd70
Patrik Jakobsson 55c830
Patch-mainline: v5.16-rc3
Patrik Jakobsson 55c830
References: git-fixes
Patrik Jakobsson efcd4f
Alt-commit: 6984fa418b8efde7662af151bae4b8dc66e65fcf
Patrik Jakobsson 55c830
Patrik Jakobsson 55c830
[Why]
Patrik Jakobsson 55c830
We're only setting the flags on stream[0]'s planes so this logic fails
Patrik Jakobsson 55c830
if we have more than one stream in the state.
Patrik Jakobsson 55c830
Patrik Jakobsson 55c830
This can cause a page flip timeout with multiple displays in the
Patrik Jakobsson 55c830
configuration.
Patrik Jakobsson 55c830
Patrik Jakobsson 55c830
[How]
Patrik Jakobsson 55c830
Index into the stream_status array using the stream index - it's a 1:1
Patrik Jakobsson 55c830
mapping.
Patrik Jakobsson 55c830
Patrik Jakobsson 55c830
Fixes: cdaae8371aa9 ("drm/amd/display: Handle GPU reset for DC block")
Patrik Jakobsson 55c830
Patrik Jakobsson 55c830
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Patrik Jakobsson 55c830
Acked-by: Qingqing Zhuo <qingqing.zhuo@amd.com>
Patrik Jakobsson 55c830
Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Patrik Jakobsson 55c830
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Patrik Jakobsson 55c830
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Patrik Jakobsson 55c830
Signed-off-by: Patrik Jakobsson <pjakobsson@suse.de>
Patrik Jakobsson 55c830
---
Patrik Jakobsson 55c830
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 4 ++--
Patrik Jakobsson 55c830
 1 file changed, 2 insertions(+), 2 deletions(-)
Patrik Jakobsson 55c830
Patrik Jakobsson 55c830
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
Patrik Jakobsson 55c830
index 1dee25326e2b..b3210928b9cb 100644
Patrik Jakobsson 55c830
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
Patrik Jakobsson 55c830
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
Patrik Jakobsson 55c830
@@ -2574,8 +2574,8 @@ static int dm_resume(void *handle)
Patrik Jakobsson 55c830
 
Patrik Jakobsson 55c830
 		for (i = 0; i < dc_state->stream_count; i++) {
Patrik Jakobsson 55c830
 			dc_state->streams[i]->mode_changed = true;
Patrik Jakobsson 55c830
-			for (j = 0; j < dc_state->stream_status->plane_count; j++) {
Patrik Jakobsson 55c830
-				dc_state->stream_status->plane_states[j]->update_flags.raw
Patrik Jakobsson 55c830
+			for (j = 0; j < dc_state->stream_status[i].plane_count; j++) {
Patrik Jakobsson 55c830
+				dc_state->stream_status[i].plane_states[j]->update_flags.raw
Patrik Jakobsson 55c830
 					= 0xffffffff;
Patrik Jakobsson 55c830
 			}
Patrik Jakobsson 55c830
 		}
Patrik Jakobsson 55c830
-- 
Patrik Jakobsson 55c830
2.33.1
Patrik Jakobsson 55c830