From: Samson Tam <samson....@amd.com>

[Why & How]
Split into a separate adjust and calculate call so
we can let the caller adjust recout

Reviewed-by: Jun Lei <jun....@amd.com>
Acked-by: Tom Chung <chiahsuan.ch...@amd.com>
Signed-off-by: Samson Tam <samson....@amd.com>
---
 .../gpu/drm/amd/display/dc/core/dc_resource.c | 23 +++++++++++++------
 1 file changed, 16 insertions(+), 7 deletions(-)

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 dbcd34c6338b..2d5983b2b541 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
@@ -973,24 +973,33 @@ static struct rect calculate_mpc_slice_in_timing_active(
        return mpc_rec;
 }
 
-static void adjust_recout_for_visual_confirm(struct rect *recout,
-               struct pipe_ctx *pipe_ctx)
+static void calculate_adjust_recout_for_visual_confirm(struct pipe_ctx 
*pipe_ctx,
+       int *base_offset, int *dpp_offset)
 {
        struct dc *dc = pipe_ctx->stream->ctx->dc;
-       int dpp_offset, base_offset;
+       *base_offset = 0;
+       *dpp_offset = 0;
 
        if (dc->debug.visual_confirm == VISUAL_CONFIRM_DISABLE || 
!pipe_ctx->plane_res.dpp)
                return;
 
-       dpp_offset = pipe_ctx->stream->timing.v_addressable / 
VISUAL_CONFIRM_DPP_OFFSET_DENO;
-       dpp_offset *= pipe_ctx->plane_res.dpp->inst;
+       *dpp_offset = pipe_ctx->stream->timing.v_addressable / 
VISUAL_CONFIRM_DPP_OFFSET_DENO;
+       *dpp_offset *= pipe_ctx->plane_res.dpp->inst;
 
        if ((dc->debug.visual_confirm_rect_height >= VISUAL_CONFIRM_BASE_MIN) &&
                        dc->debug.visual_confirm_rect_height <= 
VISUAL_CONFIRM_BASE_MAX)
-               base_offset = dc->debug.visual_confirm_rect_height;
+               *base_offset = dc->debug.visual_confirm_rect_height;
        else
-               base_offset = VISUAL_CONFIRM_BASE_DEFAULT;
+               *base_offset = VISUAL_CONFIRM_BASE_DEFAULT;
+}
+
+static void adjust_recout_for_visual_confirm(struct rect *recout,
+               struct pipe_ctx *pipe_ctx)
+{
+       int dpp_offset, base_offset;
 
+       calculate_adjust_recout_for_visual_confirm(pipe_ctx, &base_offset,
+               &dpp_offset);
        recout->height -= base_offset;
        recout->height -= dpp_offset;
 }
-- 
2.34.1

Reply via email to