drm/amd/display: Use dc_update_planes_and_stream
authorRodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Thu, 6 Oct 2022 20:40:55 +0000 (16:40 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 7 Mar 2023 19:22:41 +0000 (14:22 -0500)
[Why & How]
The old dc_commit_updates_for_stream lacks manipulation for many corner
cases where the DC feature requires special attention; as a result, it
starts to show its limitation (e.g., the SubVP feature is not supported
by it, among other cases). To modernize and unify our internal API, this
commit replaces the old dc_commit_updates_for_stream with
dc_update_planes_and_stream, which has more features.

Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Acked-by: Qingqing Zhuo <qingqing.zhuo@amd.com>
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/amdgpu_dm/amdgpu_dm.c

index 0d0d2f8b4e3b612c9610af0b08ca1878e37f290b..5e2e4aee5896bd8a905b09c12be14f83ac500914 100644 (file)
@@ -2672,10 +2672,12 @@ static void dm_gpureset_commit_state(struct dc_state *dc_state,
                        bundle->surface_updates[m].surface->force_full_update =
                                true;
                }
-               dc_commit_updates_for_stream(
-                       dm->dc, bundle->surface_updates,
+
+               dc_update_planes_and_stream(dm->dc,
+                       bundle->surface_updates,
                        dc_state->stream_status->plane_count,
-                       dc_state->streams[k], &bundle->stream_update, dc_state);
+                       dc_state->streams[k],
+                       &bundle->stream_update);
        }
 
 cleanup:
@@ -8159,12 +8161,11 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state,
                                acrtc_state->stream->link->psr_settings.psr_allow_active)
                        amdgpu_dm_psr_disable(acrtc_state->stream);
 
-               dc_commit_updates_for_stream(dm->dc,
-                                                    bundle->surface_updates,
-                                                    planes_count,
-                                                    acrtc_state->stream,
-                                                    &bundle->stream_update,
-                                                    dc_state);
+               dc_update_planes_and_stream(dm->dc,
+                                           bundle->surface_updates,
+                                           planes_count,
+                                           acrtc_state->stream,
+                                           &bundle->stream_update);
 
                /**
                 * Enable or disable the interrupts on the backend.
@@ -8694,12 +8695,11 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state)
 
 
                mutex_lock(&dm->dc_lock);
-               dc_commit_updates_for_stream(dm->dc,
-                                                    dummy_updates,
-                                                    status->plane_count,
-                                                    dm_new_crtc_state->stream,
-                                                    &stream_update,
-                                                    dc_state);
+               dc_update_planes_and_stream(dm->dc,
+                                           dummy_updates,
+                                           status->plane_count,
+                                           dm_new_crtc_state->stream,
+                                           &stream_update);
                mutex_unlock(&dm->dc_lock);
        }