drm/amd/display: Add SubVP control lock
authorRodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Fri, 17 Jun 2022 18:09:13 +0000 (14:09 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 5 Jul 2022 20:12:15 +0000 (16:12 -0400)
Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@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/core/dc.c

index db02f07..05c2e17 100644 (file)
@@ -3201,15 +3201,19 @@ static void commit_planes_for_stream(struct dc *dc,
 
        }
 
-#ifdef CONFIG_DRM_AMD_DC_DCN
                if (update_type != UPDATE_TYPE_FAST)
                        if (dc->hwss.commit_subvp_config)
                                dc->hwss.commit_subvp_config(dc, context);
-#endif
-               if (should_lock_all_pipes && dc->hwss.interdependent_update_lock)
+
+               if (should_lock_all_pipes && dc->hwss.interdependent_update_lock) {
                        dc->hwss.interdependent_update_lock(dc, context, false);
-               else
+                       if (dc->hwss.subvp_pipe_control_lock)
+                               dc->hwss.subvp_pipe_control_lock(dc, context, false, should_lock_all_pipes, NULL, subvp_prev_use);
+               } else {
                        dc->hwss.pipe_control_lock(dc, top_pipe_to_program, false);
+                       if (dc->hwss.subvp_pipe_control_lock)
+                               dc->hwss.subvp_pipe_control_lock(dc, context, false, should_lock_all_pipes, top_pipe_to_program, subvp_prev_use);
+               }
 
        if ((update_type != UPDATE_TYPE_FAST) && stream->update_flags.bits.dsc_changed)
                if (top_pipe_to_program->stream_res.tg->funcs->lock_doublebuffer_enable) {