drm/amd/display: Clear FAMS flag if FAMS doesn't reduce vlevel
authorAlvin Lee <Alvin.Lee2@amd.com>
Tue, 21 Mar 2023 17:35:44 +0000 (13:35 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 11 Apr 2023 22:03:35 +0000 (18:03 -0400)
[Description]
- If we find that applying FAMS doesn't reduce the voltage level,
  we will not use it
- Ensure to clear the stream flags indicating FAMS if we hit this
  case

Reviewed-by: Jun Lei <Jun.Lei@amd.com>
Acked-by: Qingqing Zhuo <qingqing.zhuo@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/dml/dcn32/dcn32_fpu.c

index 1e26adf..c252fdf 100644 (file)
@@ -2002,6 +2002,10 @@ void dcn32_calculate_wm_and_dlg_fpu(struct dc *dc, struct dc_state *context,
                                 * voltage level)
                                 */
                                context->bw_ctx.bw.dcn.clk.fw_based_mclk_switching = false;
+                               for (i = 0; i < context->stream_count; i++) {
+                                       if (context->streams[i])
+                                               context->streams[i]->fpo_in_use = false;
+                               }
                                context->bw_ctx.dml.soc.fclk_change_latency_us = dc->clk_mgr->bw_params->wm_table.nv_entries[WM_A].dml_input.fclk_change_latency_us;
                                dcn32_internal_validate_bw(dc, context, pipes, &pipe_cnt, &vlevel, false);
                        }