Commit 7304ee97 authored by Ayush Gupta's avatar Ayush Gupta Committed by Alex Deucher
Browse files

drm/amd/display: disconnect MPCC only on OTG change



[Why]
Framedrops are observed while playing Vp9 and Av1 10 bit
video on 8k resolution using VSR while playback controls
are disappeared/appeared

[How]
Now ODM 2 to 1 is disabled for 5k or greater resolutions on VSR.

Cc: stable@vger.kernel.org
Cc: Mario Limonciello <mario.limonciello@amd.com>
Reviewed-by: default avatarAlvin Lee <Alvin.Lee2@amd.com>
Acked-by: default avatarQingqing Zhuo <qingqing.zhuo@amd.com>
Signed-off-by: default avatarAyush Gupta <ayugupta@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent cbd6c1b1
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -1915,6 +1915,7 @@ int dcn32_populate_dml_pipes_from_context(
	bool subvp_in_use = false;
	uint8_t is_pipe_split_expected[MAX_PIPES] = {0};
	struct dc_crtc_timing *timing;
	bool vsr_odm_support = false;

	dcn20_populate_dml_pipes_from_context(dc, context, pipes, fast_validate);

@@ -1932,12 +1933,15 @@ int dcn32_populate_dml_pipes_from_context(
		timing = &pipe->stream->timing;

		pipes[pipe_cnt].pipe.dest.odm_combine_policy = dm_odm_combine_policy_dal;
		vsr_odm_support = (res_ctx->pipe_ctx[i].stream->src.width >= 5120 &&
				res_ctx->pipe_ctx[i].stream->src.width > res_ctx->pipe_ctx[i].stream->dst.width);
		if (context->stream_count == 1 &&
				context->stream_status[0].plane_count == 1 &&
				!dc_is_hdmi_signal(res_ctx->pipe_ctx[i].stream->signal) &&
				is_h_timing_divisible_by_2(res_ctx->pipe_ctx[i].stream) &&
				pipe->stream->timing.pix_clk_100hz * 100 > DCN3_2_VMIN_DISPCLK_HZ &&
				dc->debug.enable_single_display_2to1_odm_policy) {
				dc->debug.enable_single_display_2to1_odm_policy &&
				!vsr_odm_support) { //excluding 2to1 ODM combine on >= 5k vsr
			pipes[pipe_cnt].pipe.dest.odm_combine_policy = dm_odm_combine_policy_2to1;
		}
		pipe_cnt++;