From: George Shen <[email protected]>

[Why]
During SetPathMode and UpdatePlanes, the plane state can be null. We default
to linear swizzle mode when plane state is null. This resulted in bandwidth
validation failing when trying to set 8K60 mode (which previously passed 
validation
during rebuild timing list).

[How]
Change the default swizzle mode from linear to 4kb_s and update pitch 
accordingly.

Signed-off-by: George Shen <[email protected]>
Reviewed-by: Dmytro Laktyushkin <[email protected]>
Acked-by: Aurabindo Pillai <[email protected]>
---
 drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c 
b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
index 2a5e7175926a..790baf552695 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
@@ -2223,7 +2223,7 @@ int dcn20_populate_dml_pipes_from_context(
                if (!res_ctx->pipe_ctx[i].plane_state) {
                        pipes[pipe_cnt].pipe.src.is_hsplit = 
pipes[pipe_cnt].pipe.dest.odm_combine != dm_odm_combine_mode_disabled;
                        pipes[pipe_cnt].pipe.src.source_scan = dm_horz;
-                       pipes[pipe_cnt].pipe.src.sw_mode = dm_sw_linear;
+                       pipes[pipe_cnt].pipe.src.sw_mode = dm_sw_4kb_s;
                        pipes[pipe_cnt].pipe.src.macro_tile_size = dm_64k_tile;
                        pipes[pipe_cnt].pipe.src.viewport_width = 
timing->h_addressable;
                        if (pipes[pipe_cnt].pipe.src.viewport_width > 1920)
@@ -2235,7 +2235,7 @@ int dcn20_populate_dml_pipes_from_context(
                        pipes[pipe_cnt].pipe.src.surface_width_y = 
pipes[pipe_cnt].pipe.src.viewport_width;
                        pipes[pipe_cnt].pipe.src.surface_height_c = 
pipes[pipe_cnt].pipe.src.viewport_height;
                        pipes[pipe_cnt].pipe.src.surface_width_c = 
pipes[pipe_cnt].pipe.src.viewport_width;
-                       pipes[pipe_cnt].pipe.src.data_pitch = 
((pipes[pipe_cnt].pipe.src.viewport_width + 63) / 64) * 64; /* linear sw only */
+                       pipes[pipe_cnt].pipe.src.data_pitch = 
((pipes[pipe_cnt].pipe.src.viewport_width + 255) / 256) * 256;
                        pipes[pipe_cnt].pipe.src.source_format = dm_444_32;
                        pipes[pipe_cnt].pipe.dest.recout_width = 
pipes[pipe_cnt].pipe.src.viewport_width; /*vp_width/hratio*/
                        pipes[pipe_cnt].pipe.dest.recout_height = 
pipes[pipe_cnt].pipe.src.viewport_height; /*vp_height/vratio*/
-- 
2.25.1

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to