Commit 214d72f6 authored by Aurabindo Pillai's avatar Aurabindo Pillai Committed by Alex Deucher
Browse files

drm/amd/display: update disp pattern generator routine for DCN30

parent 327f79d7
Loading
Loading
Loading
Loading
+2 −31
Original line number Diff line number Diff line
@@ -959,35 +959,6 @@ void dcn30_set_disp_pattern_generator(const struct dc *dc,
		const struct tg_color *solid_color,
		int width, int height, int offset)
{
	struct stream_resource *stream_res = &pipe_ctx->stream_res;
	struct pipe_ctx *mpcc_pipe;

	if (test_pattern != CONTROLLER_DP_TEST_PATTERN_VIDEOMODE) {
		pipe_ctx->vtp_locked = false;
		/* turning on DPG */
		stream_res->opp->funcs->opp_set_disp_pattern_generator(stream_res->opp, test_pattern, color_space,
				color_depth, solid_color, width, height, offset);

		/* Defer hubp blank if tg is locked */
		if (stream_res->tg->funcs->is_tg_enabled(stream_res->tg)) {
			if (stream_res->tg->funcs->is_locked(stream_res->tg))
				pipe_ctx->vtp_locked = true;
			else {
				/* Blank HUBP to allow p-state during blank on all timings */
				pipe_ctx->plane_res.hubp->funcs->set_blank(pipe_ctx->plane_res.hubp, true);

				for (mpcc_pipe = pipe_ctx->bottom_pipe; mpcc_pipe; mpcc_pipe = mpcc_pipe->bottom_pipe)
					mpcc_pipe->plane_res.hubp->funcs->set_blank(mpcc_pipe->plane_res.hubp, true);
			}
		}
	} else {
		/* turning off DPG */
		pipe_ctx->plane_res.hubp->funcs->set_blank(pipe_ctx->plane_res.hubp, false);
		for (mpcc_pipe = pipe_ctx->bottom_pipe; mpcc_pipe; mpcc_pipe = mpcc_pipe->bottom_pipe)
			if (mpcc_pipe->plane_res.hubp)
				mpcc_pipe->plane_res.hubp->funcs->set_blank(mpcc_pipe->plane_res.hubp, false);

		stream_res->opp->funcs->opp_set_disp_pattern_generator(stream_res->opp, test_pattern, color_space,
				color_depth, solid_color, width, height, offset);
	}
	pipe_ctx->stream_res.opp->funcs->opp_set_disp_pattern_generator(pipe_ctx->stream_res.opp, test_pattern,
			color_space, color_depth, solid_color, width, height, offset);
}