]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amd/display: limit unbounded requesting to 5k
authorDmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
Tue, 25 Jan 2022 14:34:39 +0000 (09:34 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 23 Feb 2022 19:26:36 +0000 (14:26 -0500)
[WHy & How]
Unbounded requesting is unsupported on pipe split modes
and this change prevents us running into such a situation
with wide modes.

Reviewed-by: Charlene Liu <Charlene.Liu@amd.com>
Acked-by: Qingqing Zhuo <qingqing.zhuo@amd.com>
Signed-off-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dcn315/dcn315_resource.c

index 406492655dee8ddfaca5b30b08c6e7c07c2189dc..f22158bb4b1375a001fc52ff8a29ba8d95bc53a0 100644 (file)
@@ -1841,7 +1841,8 @@ static int dcn315_populate_dml_pipes_from_context(
                        dc->config.enable_4to1MPC = true;
                        context->bw_ctx.dml.ip.det_buffer_size_kbytes =
                                        (max_usable_det / DCN3_15_CRB_SEGMENT_SIZE_KB / 4) * DCN3_15_CRB_SEGMENT_SIZE_KB;
-               } else if (!is_dual_plane(pipe->plane_state->format)) {
+               } else if (!is_dual_plane(pipe->plane_state->format) && pipe->plane_state->src_rect.width <= 5120) {
+                       /* Limit to 5k max to avoid forced pipe split when there is not enough detile for swath */
                        context->bw_ctx.dml.ip.det_buffer_size_kbytes = 192;
                        pipes[0].pipe.src.unbounded_req_mode = true;
                }