From: Samson Tam <samson.tam@xxxxxxx> [Why & How] Split into a separate adjust and calculate call so we can let the caller adjust recout Reviewed-by: Jun Lei <jun.lei@xxxxxxx> Acked-by: Tom Chung <chiahsuan.chung@xxxxxxx> Signed-off-by: Samson Tam <samson.tam@xxxxxxx> --- .../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