diff options
author | Wenjing Liu <wenjing.liu@amd.com> | 2023-08-31 14:11:09 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2023-09-26 17:00:21 -0400 |
commit | 786d3b1d83432d4c91468933793c25e248f26cb5 (patch) | |
tree | f2f9484e34ff8df347b50e5cc6201912e2268763 /drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c | |
parent | ad3b63a0d298bc94452ae2b584b99b24b7c81ecd (diff) | |
download | linux-stable-786d3b1d83432d4c91468933793c25e248f26cb5.tar.gz linux-stable-786d3b1d83432d4c91468933793c25e248f26cb5.tar.bz2 linux-stable-786d3b1d83432d4c91468933793c25e248f26cb5.zip |
drm/amd/display: remove guaranteed viewports limitation for odm
[why]
With the more generic hw minimal state transition sequence,
this limitation has been overcome.
Reviewed-by: Aric Cyr <aric.cyr@amd.com>
Acked-by: Wayne Lin <wayne.lin@amd.com>
Signed-off-by: Wenjing Liu <wenjing.liu@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c')
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c b/drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c index 1f53883d8f56..dcbd38bb3ed1 100644 --- a/drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c +++ b/drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c @@ -1267,8 +1267,6 @@ static bool should_allow_odm_power_optimization(struct dc *dc, { struct dc_stream_state *stream = context->streams[0]; struct pipe_slice_table slice_table; - struct dc_plane_state *plane; - struct rect guaranteed_viewport; int i; /* @@ -1333,31 +1331,6 @@ static bool should_allow_odm_power_optimization(struct dc *dc, for (i = 0; i < slice_table.odm_combine_count; i++) if (slice_table.odm_combines[i].slice_count > 1) return false; - - /* up to here we know that a plane with viewport equal to stream - * src can be validated with single DPP pipe. Therefore any - * planes with smaller or equal viewport is guaranteed to work - * regardless of its position and scaling ratio. Also we know - * any plane without downscale ratio greater than 1 should also - * work. Up until DCN3x we still have software limitation that - * doesn't implement a smooth transition between ODM combine and - * MPC combine during plane resizing when we are crossing ODM - * capability boundary. So we are adding this guaranteed - * viewport condition to limit ODM power optimization support - * for only the planes within the guaranteed viewport size. Such - * planes can be supported with ODM power optimization without - * ever the need to transition to MPC combine in any scaling - * ratios and positions. Therefore we cover the software - * limitation of this transition sequence. - */ - guaranteed_viewport = stream->src; - for (i = 0; i < context->stream_status[0].plane_count; i++) { - plane = context->stream_status[0].plane_states[i]; - - if ((plane->src_rect.height > plane->dst_rect.height && plane->src_rect.height > guaranteed_viewport.height) || - (plane->src_rect.width > plane->dst_rect.width && plane->src_rect.width > guaranteed_viewport.width)) - return false; - } } else { /* * the new ODM power optimization feature reduces software |