Commit 21f45a23 authored by hvanzyll's avatar hvanzyll Committed by Alex Deucher
Browse files

drm/amd/display: Visual Confirm Bar Height Adjust



[What]
This change allows adjustment to the Visual Confirm
height border.

[Why]
Aids debugging and testing

[How]
Use the existing infrastructure to implement logic to
draw borders

Reviewed-by: default avatarAnthony Koo <Anthony.Koo@amd.com>
Acked-by: default avatarWayne Lin <wayne.lin@amd.com>
Signed-off-by: default avatarHarry VanZyllDeJong <hvanzyll@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 189789a1
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -574,6 +574,8 @@ struct dc_debug_options {
	bool native422_support;
	bool disable_dsc;
	enum visual_confirm visual_confirm;
	int visual_confirm_rect_height;

	bool sanity_checks;
	bool max_disp_clk;
	bool surface_trace;
+13 −1
Original line number Diff line number Diff line
@@ -39,6 +39,10 @@
#define BLACK_OFFSET_RGB_Y 0x0
#define BLACK_OFFSET_CBCR  0x8000

#define VISUAL_CONFIRM_RECT_HEIGHT_DEFAULT 3
#define VISUAL_CONFIRM_RECT_HEIGHT_MIN 1
#define VISUAL_CONFIRM_RECT_HEIGHT_MAX 10

#define REG(reg)\
	dpp->tf_regs->reg

@@ -685,9 +689,17 @@ static void dpp1_dscl_set_recout(struct dcn10_dpp *dpp,
				 const struct rect *recout)
{
	int visual_confirm_on = 0;
	unsigned short visual_confirm_rect_height = VISUAL_CONFIRM_RECT_HEIGHT_DEFAULT;

	if (dpp->base.ctx->dc->debug.visual_confirm != VISUAL_CONFIRM_DISABLE)
		visual_confirm_on = 1;

	/* Check bounds to ensure the VC bar height was set to a sane value */
	if ((dpp->base.ctx->dc->debug.visual_confirm_rect_height >= VISUAL_CONFIRM_RECT_HEIGHT_MIN) &&
			(dpp->base.ctx->dc->debug.visual_confirm_rect_height <= VISUAL_CONFIRM_RECT_HEIGHT_MAX)) {
		visual_confirm_rect_height = dpp->base.ctx->dc->debug.visual_confirm_rect_height;
	}

	REG_SET_2(RECOUT_START, 0,
		  /* First pixel of RECOUT in the active OTG area */
		  RECOUT_START_X, recout->x,
@@ -699,7 +711,7 @@ static void dpp1_dscl_set_recout(struct dcn10_dpp *dpp,
		  RECOUT_WIDTH, recout->width,
		  /* Number of RECOUT vertical lines */
		  RECOUT_HEIGHT, recout->height
			 - visual_confirm_on * 2 * (dpp->base.inst + 1));
			 - visual_confirm_on * 2 * (dpp->base.inst + visual_confirm_rect_height));
}

/**