drm/amd/display: Populate invalid split index to be 0xF
authorAlvin Lee <alvin.lee2@amd.com>
Fri, 19 Jan 2024 22:20:21 +0000 (17:20 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 29 Jan 2024 20:46:34 +0000 (15:46 -0500)
[why]
There exists scenarios where the split index for subvp can be
pipe index 0. The assumption in FW is that the split index
won't be 0 but this is incorrect.

[how]
Instead populate non-split cases to be 0xF to differentiate
between split and non-split.

Reviewed-by: Wenjing Liu <wenjing.liu@amd.com>
Acked-by: Tom Chung <chiahsuan.chung@amd.com>
Signed-off-by: Alvin Lee <alvin.lee2@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c

index 3d72522..0ccdc0c 100644 (file)
@@ -780,7 +780,7 @@ static void populate_subvp_cmd_pipe_info(struct dc *dc,
        } else if (subvp_pipe->next_odm_pipe) {
                pipe_data->pipe_config.subvp_data.main_split_pipe_index = subvp_pipe->next_odm_pipe->pipe_idx;
        } else {
-               pipe_data->pipe_config.subvp_data.main_split_pipe_index = 0;
+               pipe_data->pipe_config.subvp_data.main_split_pipe_index = 0xF;
        }
 
        // Find phantom pipe index based on phantom stream
@@ -795,7 +795,7 @@ static void populate_subvp_cmd_pipe_info(struct dc *dc,
                        } else if (phantom_pipe->next_odm_pipe) {
                                pipe_data->pipe_config.subvp_data.phantom_split_pipe_index = phantom_pipe->next_odm_pipe->plane_res.hubp->inst;
                        } else {
-                               pipe_data->pipe_config.subvp_data.phantom_split_pipe_index = 0;
+                               pipe_data->pipe_config.subvp_data.phantom_split_pipe_index = 0xF;
                        }
                        break;
                }