|
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 |
|