drm/amd/display: Adjust set_p_state calls to fix logging
authorEthan Bitnun <etbitnun@amd.com>
Fri, 26 Jan 2024 16:33:32 +0000 (11:33 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 7 Feb 2024 17:26:23 +0000 (12:26 -0500)
Update the p_state type before update_clocks is called to ensure
accurate values are used for logging.

Reviewed-by: Alvin Lee <alvin.lee2@amd.com>
Acked-by: Hamza Mahfooz <hamza.mahfooz@amd.com>
Signed-off-by: Ethan Bitnun <etbitnun@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc.c

index e58bd0861dc0a182eaf6c32c41158f3849f2c9af..9127805f19f4f5f0591bf4f2305418ea6c5147c3 100644 (file)
@@ -3565,6 +3565,17 @@ static void commit_planes_for_stream(struct dc *dc,
        if (update_type == UPDATE_TYPE_FULL)
                wait_for_outstanding_hw_updates(dc, context);
 
+       for (i = 0; i < dc->res_pool->pipe_count; i++) {
+               struct pipe_ctx *pipe = &context->res_ctx.pipe_ctx[i];
+
+               if (pipe->stream && pipe->plane_state) {
+                       set_p_state_switch_method(dc, context, pipe);
+
+                       if (dc->debug.visual_confirm)
+                               dc_update_visual_confirm_color(dc, context, pipe);
+               }
+       }
+
        if (update_type == UPDATE_TYPE_FULL) {
                dc_allow_idle_optimizations(dc, false);
 
@@ -3599,17 +3610,6 @@ static void commit_planes_for_stream(struct dc *dc,
                }
        }
 
-       for (i = 0; i < dc->res_pool->pipe_count; i++) {
-               struct pipe_ctx *pipe = &context->res_ctx.pipe_ctx[i];
-
-               if (pipe->stream && pipe->plane_state) {
-                       set_p_state_switch_method(dc, context, pipe);
-
-                       if (dc->debug.visual_confirm)
-                               dc_update_visual_confirm_color(dc, context, pipe);
-               }
-       }
-
        if (stream->test_pattern.type != DP_TEST_PATTERN_VIDEO_MODE) {
                struct pipe_ctx *mpcc_pipe;
                struct pipe_ctx *odm_pipe;