drm/amd/display: Fix display corruption w/ VSR enable
authorIlya Bakoulin <Ilya.Bakoulin@amd.com>
Fri, 11 Nov 2022 17:03:54 +0000 (12:03 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 23 Nov 2022 14:47:14 +0000 (09:47 -0500)
[Why]
Brief corruption is observed on hotplug/unplug with certain display
configurations when VSR is enabled.

[How]
Work around the issue by avoiding 2to1 ODM when stream plane_count is 0.

Reviewed-by: Dillon Varone <Dillon.Varone@amd.com>
Acked-by: Brian Chang <Brian.Chang@amd.com>
Signed-off-by: Ilya Bakoulin <Ilya.Bakoulin@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource.c

index 827eef7e17875d4b630e3a409acd9184d5336987..99ddd2232322cfb5c13b5d3f3b517e43b630b56b 100644 (file)
@@ -1924,7 +1924,7 @@ int dcn32_populate_dml_pipes_from_context(
 
                pipes[pipe_cnt].pipe.dest.odm_combine_policy = dm_odm_combine_policy_dal;
                if (context->stream_count == 1 &&
-                               context->stream_status[0].plane_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 &&