drm/amd/display: Avoid force minimal transaction in case of surface_count equal to 0
authorJeromeHong <jerome.hong@amd.com>
Thu, 25 Aug 2022 07:52:11 +0000 (15:52 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 13 Sep 2022 18:33:00 +0000 (14:33 -0400)
[why]
Call commit_minimal_transition_state wrongly in case of surface_count
equal to 0.

[how]
Add a condition to filter case of surface_count equal to 0.

Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Reviewed-by: Aric Cyr <Aric.Cyr@amd.com>
Acked-by: Pavle Kotarac <Pavle.Kotarac@amd.com>
Signed-off-by: JeromeHong <jerome.hong@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc.c

index 7481801..253dc4e 100644 (file)
@@ -3625,11 +3625,13 @@ bool dc_update_planes_and_stream(struct dc *dc,
                        dc->current_state->stream_count > 0 &&
                        dc->debug.pipe_split_policy != MPC_SPLIT_AVOID) {
                /* determine if minimal transition is required */
-               if (cur_stream_status->plane_count > surface_count) {
-                       force_minimal_pipe_splitting = true;
-               } else if (cur_stream_status->plane_count < surface_count) {
-                       force_minimal_pipe_splitting = true;
-                       is_plane_addition = true;
+               if (surface_count > 0) {
+                       if (cur_stream_status->plane_count > surface_count) {
+                               force_minimal_pipe_splitting = true;
+                       } else if (cur_stream_status->plane_count < surface_count) {
+                               force_minimal_pipe_splitting = true;
+                               is_plane_addition = true;
+                       }
                }
        }