Skip to content

Commit 7304ee9

Browse files
Ayush Guptaalexdeucher
authored andcommitted
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: [email protected] Cc: Mario Limonciello <[email protected]> Reviewed-by: Alvin Lee <[email protected]> Acked-by: Qingqing Zhuo <[email protected]> Signed-off-by: Ayush Gupta <[email protected]> Tested-by: Daniel Wheeler <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
1 parent cbd6c1b commit 7304ee9

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1915,6 +1915,7 @@ int dcn32_populate_dml_pipes_from_context(
19151915
bool subvp_in_use = false;
19161916
uint8_t is_pipe_split_expected[MAX_PIPES] = {0};
19171917
struct dc_crtc_timing *timing;
1918+
bool vsr_odm_support = false;
19181919

19191920
dcn20_populate_dml_pipes_from_context(dc, context, pipes, fast_validate);
19201921

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

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

0 commit comments

Comments
 (0)