From: Austin Zheng <austin.zh...@amd.com>

Assigning link encoder is not relevant to validating bandwidth so move
the logic outside of dc_global_validate.

Reviewed-by: Alvin Lee <alvin.l...@amd.com>
Signed-off-by: Austin Zheng <austin.zh...@amd.com>
Signed-off-by: Rodrigo Siqueira <rodrigo.sique...@amd.com>
---
 drivers/gpu/drm/amd/display/dc/core/dc.c          | 8 ++++++++
 drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 8 --------
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c 
b/drivers/gpu/drm/amd/display/dc/core/dc.c
index 7b239cbfbb4a..2d704c264b88 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -2187,6 +2187,14 @@ enum dc_status dc_commit_streams(struct dc *dc, struct 
dc_commit_streams_params
        context->power_source = params->power_source;
 
        res = dc_validate_with_context(dc, set, params->stream_count, context, 
false);
+
+       /*
+        * Only update link encoder to stream assignment after bandwidth 
validation passed.
+        */
+       if (res == DC_OK && dc->res_pool->funcs->link_encs_assign)
+               dc->res_pool->funcs->link_encs_assign(
+                       dc, context, context->streams, context->stream_count);
+
        if (res != DC_OK) {
                BREAK_TO_DEBUGGER();
                goto fail;
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c 
b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
index df513dbd32bd..33125b95c3a1 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
@@ -4091,14 +4091,6 @@ enum dc_status dc_validate_global_state(
                if (!dc->res_pool->funcs->validate_bandwidth(dc, new_ctx, 
fast_validate))
                        result = DC_FAIL_BANDWIDTH_VALIDATE;
 
-       /*
-        * Only update link encoder to stream assignment after bandwidth 
validation passed.
-        * TODO: Split out assignment and validation.
-        */
-       if (result == DC_OK && dc->res_pool->funcs->link_encs_assign && 
fast_validate == false)
-               dc->res_pool->funcs->link_encs_assign(
-                       dc, new_ctx, new_ctx->streams, new_ctx->stream_count);
-
        return result;
 }
 
-- 
2.45.2

Reply via email to