From: Charlene Liu <[email protected]>

[Why & How]
for fault safe case: only call pmfw if smu present flags true
and default to 2 channle for bios intergration info table error.

Reviewed-by: Alvin Lee <[email protected]>
Signed-off-by: Charlene Liu <[email protected]>
Signed-off-by: James Lin <[email protected]>
---
 .../gpu/drm/amd/display/dc/clk_mgr/dcn42/dcn42_clk_mgr.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn42/dcn42_clk_mgr.c 
b/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn42/dcn42_clk_mgr.c
index 245a217894a7..d856a7a807b1 100644
--- a/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn42/dcn42_clk_mgr.c
+++ b/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn42/dcn42_clk_mgr.c
@@ -1078,10 +1078,11 @@ void dcn42_clk_mgr_construct(
 
                        dcn42_bw_params.vram_type = 
ctx->dc_bios->integrated_info->memory_type;
                        dcn42_bw_params.dram_channel_width_bytes = 
ctx->dc_bios->integrated_info->memory_type == 0x22 ? 8 : 4;
-                       dcn42_bw_params.num_channels = 
ctx->dc_bios->integrated_info->ma_channel_number ? 
ctx->dc_bios->integrated_info->ma_channel_number : 1;
-                       clk_mgr->base.base.dprefclk_khz = 
dcn42_smu_get_dprefclk(&clk_mgr->base);
-                       clk_mgr->base.base.clks.ref_dtbclk_khz = 
dcn42_smu_get_dtbclk(&clk_mgr->base);
-
+                       dcn42_bw_params.num_channels = 
ctx->dc_bios->integrated_info->ma_channel_number ? 
ctx->dc_bios->integrated_info->ma_channel_number : 2;
+                       if (clk_mgr->base.smu_present) {
+                               clk_mgr->base.base.clks.ref_dtbclk_khz = 
dcn42_smu_get_dtbclk(&clk_mgr->base);
+                               clk_mgr->base.base.dprefclk_khz = 
dcn42_smu_get_dprefclk(&clk_mgr->base);
+                       }
                        clk_mgr->base.base.bw_params = &dcn42_bw_params;
 
                        if (clk_mgr->base.smu_present)
-- 
2.43.0

Reply via email to