From: Rodrigo Siqueira <rodrigo.sique...@amd.com>

[Why & How]
There are two functions responsible for handling the DC commit state:
dc_commit_state and dc_commit_streams. Both have the same goal, but
dc_commit_streams surpess dc_commit_state in terms of completeness. For
this reason, maintaining these two functions makes maintainability
unnecessarily complicated. This commit replaces the old dc_commit_state
in favor of dc_commit_streams, and removes the old dc_commit_state.

Reviewed-by: Harry Wentland <harry.wentl...@amd.com>
Acked-by: Qingqing Zhuo <qingqing.z...@amd.com>
Signed-off-by: Rodrigo Siqueira <rodrigo.sique...@amd.com>
---
 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |  6 +--
 drivers/gpu/drm/amd/display/dc/core/dc.c      | 47 -------------------
 drivers/gpu/drm/amd/display/dc/dc.h           |  4 --
 3 files changed, 3 insertions(+), 54 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c 
b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index b560a6711682..f692a0d3dc4e 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -2486,7 +2486,7 @@ static enum dc_status 
amdgpu_dm_commit_zero_streams(struct dc *dc)
                        goto fail;
        }
 
-       res = dc_commit_state(dc, context);
+       res = dc_commit_streams(dc, context->streams, context->stream_count);
 
 fail:
        dc_release_state(context);
@@ -2745,7 +2745,7 @@ static int dm_resume(void *handle)
                        dc_enable_dmub_outbox(adev->dm.dc);
                }
 
-               WARN_ON(!dc_commit_state(dm->dc, dc_state));
+               WARN_ON(!dc_commit_streams(dm->dc, dc_state->streams, 
dc_state->stream_count));
 
                dm_gpureset_commit_state(dm->cached_dc_state, dm);
 
@@ -8484,7 +8484,7 @@ static void amdgpu_dm_atomic_commit_tail(struct 
drm_atomic_state *state)
 
                dm_enable_per_frame_crtc_master_sync(dc_state);
                mutex_lock(&dm->dc_lock);
-               WARN_ON(!dc_commit_state(dm->dc, dc_state));
+               WARN_ON(!dc_commit_streams(dm->dc, dc_state->streams, 
dc_state->stream_count));
 
                /* Allow idle optimization when vblank count is 0 for display 
off */
                if (dm->active_vblank_irq_count == 0)
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c 
b/drivers/gpu/drm/amd/display/dc/core/dc.c
index 9146c9667c7d..6acbb757d082 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -2061,53 +2061,6 @@ enum dc_status dc_commit_streams(struct dc *dc,
        return res;
 }
 
-/* TODO: When the transition to the new commit sequence is done, remove this
- * function in favor of dc_commit_streams. */
-bool dc_commit_state(struct dc *dc, struct dc_state *context)
-{
-       enum dc_status result = DC_ERROR_UNEXPECTED;
-       int i;
-
-       /* TODO: Since change commit sequence can have a huge impact,
-        * we decided to only enable it for DCN3x. However, as soon as
-        * we get more confident about this change we'll need to enable
-        * the new sequence for all ASICs. */
-       if (dc->ctx->dce_version >= DCN_VERSION_3_2) {
-               result = dc_commit_streams(dc, context->streams, 
context->stream_count);
-               return result == DC_OK;
-       }
-
-       if (!streams_changed(dc, context->streams, context->stream_count)) {
-               return DC_OK;
-       }
-
-       DC_LOG_DC("%s: %d streams\n",
-                               __func__, context->stream_count);
-
-       for (i = 0; i < context->stream_count; i++) {
-               struct dc_stream_state *stream = context->streams[i];
-
-               dc_stream_log(dc, stream);
-       }
-
-       /*
-        * Previous validation was perfomred with fast_validation = true and
-        * the full DML state required for hardware programming was skipped.
-        *
-        * Re-validate here to calculate these parameters / watermarks.
-        */
-       result = dc_validate_global_state(dc, context, false);
-       if (result != DC_OK) {
-               DC_LOG_ERROR("DC commit global validation failure: %s (%d)",
-                            dc_status_to_str(result), result);
-               return result;
-       }
-
-       result = dc_commit_state_no_check(dc, context);
-
-       return (result == DC_OK);
-}
-
 bool dc_acquire_release_mpc_3dlut(
                struct dc *dc, bool acquire,
                struct dc_stream_state *stream,
diff --git a/drivers/gpu/drm/amd/display/dc/dc.h 
b/drivers/gpu/drm/amd/display/dc/dc.h
index 0f6873449d15..b51dfe0f507c 100644
--- a/drivers/gpu/drm/amd/display/dc/dc.h
+++ b/drivers/gpu/drm/amd/display/dc/dc.h
@@ -1360,10 +1360,6 @@ enum dc_status dc_commit_streams(struct dc *dc,
                                 struct dc_stream_state *streams[],
                                 uint8_t stream_count);
 
-/* TODO: When the transition to the new commit sequence is done, remove this
- * function in favor of dc_commit_streams. */
-bool dc_commit_state(struct dc *dc, struct dc_state *context);
-
 struct dc_state *dc_create_state(struct dc *dc);
 struct dc_state *dc_copy_state(struct dc_state *src_ctx);
 void dc_retain_state(struct dc_state *context);
-- 
2.34.1

Reply via email to