drm/amd/display: Update SW state correctly for FCLK
authorAlvin Lee <Alvin.Lee2@amd.com>
Wed, 25 May 2022 17:34:07 +0000 (13:34 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 21 Jun 2022 22:17:24 +0000 (18:17 -0400)
FCLK not supported for DCN321, but still need to update the software
state accordingly to prevent unneeded full updates in driver

Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: Alvin Lee <Alvin.Lee2@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c

index 8ece88d..90ba957 100644 (file)
@@ -431,12 +431,12 @@ static void dcn32_update_clocks(struct clk_mgr *clk_mgr_base,
                                                clk_mgr_base->bw_params->clk_table.entries[clk_mgr_base->bw_params->clk_table.num_entries - 1].memclk_mhz);
                }
 
-               if (clk_mgr_base->ctx->dce_version != DCN_VERSION_3_21 &&
-                               should_update_pstate_support(safe_to_lower, fclk_p_state_change_support, clk_mgr_base->clks.fclk_p_state_change_support)) {
+               if (should_update_pstate_support(safe_to_lower, fclk_p_state_change_support, clk_mgr_base->clks.fclk_p_state_change_support) &&
+                               clk_mgr_base->ctx->dce_version != DCN_VERSION_3_21) {
                        clk_mgr_base->clks.fclk_p_state_change_support = fclk_p_state_change_support;
 
                        /* To disable FCLK P-state switching, send FCLK_PSTATE_NOTSUPPORTED message to PMFW */
-                       if (!clk_mgr_base->clks.fclk_p_state_change_support) {
+                       if (clk_mgr_base->ctx->dce_version != DCN_VERSION_3_21 && !clk_mgr_base->clks.fclk_p_state_change_support) {
                                /* Handle code for sending a message to PMFW that FCLK P-state change is not supported */
                                dcn32_smu_send_fclk_pstate_message(clk_mgr, FCLK_PSTATE_NOTSUPPORTED);
                        }