Skip to content

Commit 7eb287b

Browse files
Roman Lialexdeucher
authored andcommitted
drm/amd/display: Fix gpu reset in multidisplay config
[Why] The indexing of stream_status in dm_gpureset_commit_state() is incorrect. That leads to asserts in multi-display configuration after gpu reset. [How] Adjust the indexing logic to align stream_status with surface_updates. Fixes: cdaae83 ("drm/amd/display: Handle GPU reset for DC block") Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3808 Reviewed-by: Aurabindo Pillai <[email protected]> Reviewed-by: Mario Limonciello <[email protected]> Signed-off-by: Roman Li <[email protected]> Signed-off-by: Zaeem Mohamed <[email protected]> Tested-by: Mark Broadworth <[email protected]> Signed-off-by: Alex Deucher <[email protected]> (cherry picked from commit d91bc90) Cc: [email protected]
1 parent 5e56935 commit 7eb287b

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3355,16 +3355,16 @@ static void dm_gpureset_commit_state(struct dc_state *dc_state,
33553355
for (k = 0; k < dc_state->stream_count; k++) {
33563356
bundle->stream_update.stream = dc_state->streams[k];
33573357

3358-
for (m = 0; m < dc_state->stream_status->plane_count; m++) {
3358+
for (m = 0; m < dc_state->stream_status[k].plane_count; m++) {
33593359
bundle->surface_updates[m].surface =
3360-
dc_state->stream_status->plane_states[m];
3360+
dc_state->stream_status[k].plane_states[m];
33613361
bundle->surface_updates[m].surface->force_full_update =
33623362
true;
33633363
}
33643364

33653365
update_planes_and_stream_adapter(dm->dc,
33663366
UPDATE_TYPE_FULL,
3367-
dc_state->stream_status->plane_count,
3367+
dc_state->stream_status[k].plane_count,
33683368
dc_state->streams[k],
33693369
&bundle->stream_update,
33703370
bundle->surface_updates);

0 commit comments

Comments
 (0)