drm/amd/display: Enable subvp high refresh up to 175hz
authorAlvin Lee <alvin.lee2@amd.com>
Mon, 31 Jul 2023 21:56:23 +0000 (17:56 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 15 Aug 2023 22:08:28 +0000 (18:08 -0400)
[Description]
Expand the SubVP policy to include up to 175hz displays
for better power saving on more display configs.

Reviewed-by: Chaitanya Dhere <chaitanya.dhere@amd.com>
Acked-by: Stylon Wang <stylon.wang@amd.com>
Signed-off-by: Alvin Lee <alvin.lee2@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/core/dc_stream.c
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c

index 05bb23b..01fe2d2 100644 (file)
@@ -321,7 +321,7 @@ static bool is_subvp_high_refresh_candidate(struct dc_stream_state *stream)
         * remain in HW cursor mode if there's no cursor update which will
         * then cause corruption.
         */
-       if ((refresh_rate >= 120 && refresh_rate <= 165 &&
+       if ((refresh_rate >= 120 && refresh_rate <= 175 &&
                        stream->timing.v_addressable >= 1440 &&
                        stream->timing.v_addressable <= 2160) &&
                        (dc->current_state->stream_count > 1 ||
index 0f882b8..6d60ae0 100644 (file)
@@ -37,7 +37,7 @@
 
 static const struct subvp_high_refresh_list subvp_high_refresh_list = {
                        .min_refresh = 120,
-                       .max_refresh = 165,
+                       .max_refresh = 175,
                        .res = {
                                {.width = 3840, .height = 2160, },
                                {.width = 3440, .height = 1440, },
@@ -1064,7 +1064,8 @@ static bool subvp_subvp_admissable(struct dc *dc,
        }
 
        if (subvp_count == 2 && ((min_refresh < 120 && max_refresh < 120) ||
-               (min_refresh >= 120 && max_refresh <= 165)))
+               (min_refresh >= subvp_high_refresh_list.min_refresh &&
+                               max_refresh <= subvp_high_refresh_list.max_refresh)))
                result = true;
 
        return result;