From: Rodrigo Siqueira <rodrigo.sique...@amd.com>

[why & how]
When the commit 32caf32d5b06 ("drm/amd/display: Add driver support for
future FAMS versions") was introduced, it missed some of the FAM2 code.
This commit introduces the code that control the FAM enable and disable.

Fixes: 32caf32d5b06 ("drm/amd/display: Add driver support for future FAMS 
versions")
Acked-by: Wayne Lin <wayne....@amd.com>
Signed-off-by: Rodrigo Siqueira <rodrigo.sique...@amd.com>
Signed-off-by: Tom Chung <chiahsuan.ch...@amd.com>
---
 .../gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c 
b/drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
index 6a40b2e2beb5..a36e11606f90 100644
--- a/drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
+++ b/drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
@@ -985,8 +985,19 @@ void dcn32_init_hw(struct dc *dc)
                dc->caps.dmub_caps.gecc_enable = 
dc->ctx->dmub_srv->dmub->feature_caps.gecc_enable;
                dc->caps.dmub_caps.mclk_sw = 
dc->ctx->dmub_srv->dmub->feature_caps.fw_assisted_mclk_switch_ver;
 
-               if (dc->ctx->dmub_srv->dmub->fw_version <
+               /* for DCN401 testing only */
+               dc->caps.dmub_caps.fams_ver = 
dc->ctx->dmub_srv->dmub->feature_caps.fw_assisted_mclk_switch_ver;
+               if (dc->caps.dmub_caps.fams_ver == 2) {
+                       /* FAMS2 is enabled */
+                       dc->debug.fams2_config.bits.enable &= true;
+               } else if (dc->ctx->dmub_srv->dmub->fw_version <
                                DMUB_FW_VERSION(7, 0, 35)) {
+                       /* FAMS2 is disabled */
+                       dc->debug.fams2_config.bits.enable = false;
+                       if (dc->debug.using_dml2 && 
dc->res_pool->funcs->update_bw_bounding_box) {
+                               /* update bounding box if FAMS2 disabled */
+                               dc->res_pool->funcs->update_bw_bounding_box(dc, 
dc->clk_mgr->bw_params);
+                       }
                        dc->debug.force_disable_subvp = true;
                        dc->debug.disable_fpo_optimizations = true;
                }
-- 
2.34.1

Reply via email to