From: Alvin Lee <[email protected]>

[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 <[email protected]>
Acked-by: Tom Chung <[email protected]>
Signed-off-by: Alvin Lee <[email protected]>
---
 drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c 
b/drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c
index 3d7252218ea9..0ccdc0c979a1 100644
--- a/drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c
+++ b/drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c
@@ -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;
                }
-- 
2.34.1

Reply via email to