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>
Mon, 7 Feb 2022 23:01:17 +0000 (18:01 -0500)
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: Jasdeep Dhillon <jdhillon@amd.com>
Signed-off-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@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/dcn31/dcn31_resource.c

index f9e312b..1166748 100644 (file)
@@ -1842,7 +1842,8 @@ static int dcn31_populate_dml_pipes_from_context(
                if (is_dual_plane(pipe->plane_state->format)
                                && pipe->plane_state->src_rect.width <= 1920 && pipe->plane_state->src_rect.height <= 1080) {
                        dc->config.enable_4to1MPC = true;
-               } 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;
                }