drm/amd/display: Protect update_bw_bounding_box FPU code.
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Sat, 12 Feb 2022 15:40:00 +0000 (16:40 +0100)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 21 Feb 2022 22:55:17 +0000 (17:55 -0500)
For DCN3/3.01/3.02 at least these use the fpu.

v2: squash in build fix for when DCN is not enabled (Leo)

Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
drivers/gpu/drm/amd/display/dc/core/dc.c

index f977f29..10c7be4 100644 (file)
@@ -473,8 +473,10 @@ static void dcn3_get_memclk_states_from_smu(struct clk_mgr *clk_mgr_base)
        clk_mgr_base->bw_params->dc_mode_softmax_memclk = dcn30_smu_get_dc_mode_max_dpm_freq(clk_mgr, PPCLK_UCLK);
 
        /* Refresh bounding box */
+       DC_FP_START();
        clk_mgr_base->ctx->dc->res_pool->funcs->update_bw_bounding_box(
                        clk_mgr->base.ctx->dc, clk_mgr_base->bw_params);
+       DC_FP_END();
 }
 
 static bool dcn3_is_smu_present(struct clk_mgr *clk_mgr_base)
index d18e9f3..ba1aa99 100644 (file)
@@ -985,10 +985,13 @@ static bool dc_construct(struct dc *dc,
                goto fail;
 #ifdef CONFIG_DRM_AMD_DC_DCN
        dc->clk_mgr->force_smu_not_present = init_params->force_smu_not_present;
-#endif
 
-       if (dc->res_pool->funcs->update_bw_bounding_box)
+       if (dc->res_pool->funcs->update_bw_bounding_box) {
+               DC_FP_START();
                dc->res_pool->funcs->update_bw_bounding_box(dc, dc->clk_mgr->bw_params);
+               DC_FP_END();
+       }
+#endif
 
        /* Creation of current_state must occur after dc->dml
         * is initialized in dc_create_resource_pool because