]> git.hungrycats.org Git - linux/commitdiff
drm/amd/display: fix max dispclk_khz/dppclk_khz double 1000
authorCharlene Liu <Charlene.Liu@amd.com>
Fri, 22 May 2026 00:36:01 +0000 (20:36 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 17 Jun 2026 20:09:19 +0000 (16:09 -0400)
[why]
Fix regresson caused by double roundup and index out of range

Reviewed-by: Dillon Varone <dillon.varone@amd.com>
Reviewed-by: Dmytro Laktyushkin <dmytro.laktyushkin@amd.com>
Signed-off-by: Charlene Liu <Charlene.Liu@amd.com>
Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Tested-by: Dan Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dml2_0/dml21/dml21_wrapper_fpu.c

index de40d7bae252d99d427e8ce7b4d403b4ef7dab23..11fc0b1cd152eb0cc817a2b82d79eba282feda10 100644 (file)
@@ -118,16 +118,16 @@ static void dml21_calculate_rq_and_dlg_params(const struct dc *dc, struct dc_sta
        context->bw_ctx.bw.dcn.clk.bw_dispclk_khz = context->bw_ctx.bw.dcn.clk.dispclk_khz;
        if (in_ctx->v21.dml_init.soc_bb.clk_table.dispclk.num_clk_values > 1) {
                context->bw_ctx.bw.dcn.clk.max_supported_dispclk_khz =
-                       in_ctx->v21.dml_init.soc_bb.clk_table.dispclk.clk_values_khz[in_ctx->v21.dml_init.soc_bb.clk_table.dispclk.num_clk_values] * 1000;
+                       in_ctx->v21.dml_init.soc_bb.clk_table.dispclk.clk_values_khz[in_ctx->v21.dml_init.soc_bb.clk_table.dispclk.num_clk_values - 1];
        } else {
-               context->bw_ctx.bw.dcn.clk.max_supported_dispclk_khz = in_ctx->v21.dml_init.soc_bb.clk_table.dispclk.clk_values_khz[0] * 1000;
+               context->bw_ctx.bw.dcn.clk.max_supported_dispclk_khz = in_ctx->v21.dml_init.soc_bb.clk_table.dispclk.clk_values_khz[0];
        }
 
        if (in_ctx->v21.dml_init.soc_bb.clk_table.dppclk.num_clk_values > 1) {
                context->bw_ctx.bw.dcn.clk.max_supported_dppclk_khz =
-                       in_ctx->v21.dml_init.soc_bb.clk_table.dppclk.clk_values_khz[in_ctx->v21.dml_init.soc_bb.clk_table.dppclk.num_clk_values] * 1000;
+                       in_ctx->v21.dml_init.soc_bb.clk_table.dppclk.clk_values_khz[in_ctx->v21.dml_init.soc_bb.clk_table.dppclk.num_clk_values - 1];
        } else {
-               context->bw_ctx.bw.dcn.clk.max_supported_dppclk_khz = in_ctx->v21.dml_init.soc_bb.clk_table.dppclk.clk_values_khz[0] * 1000;
+               context->bw_ctx.bw.dcn.clk.max_supported_dppclk_khz = in_ctx->v21.dml_init.soc_bb.clk_table.dppclk.clk_values_khz[0];
        }
 
        /* get global mall allocation */