]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amd/display: only call pmfw if smu present flags true
authorCharlene Liu <Charlene.Liu@amd.com>
Mon, 20 Apr 2026 15:47:11 +0000 (11:47 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 11 May 2026 20:10:38 +0000 (16:10 -0400)
[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 <alvin.lee2@amd.com>
Signed-off-by: Charlene Liu <Charlene.Liu@amd.com>
Signed-off-by: James Lin <pinglei.lin@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/clk_mgr/dcn42/dcn42_clk_mgr.c

index 245a217894a74aa4e944e153815ce251ccb3c7c9..d856a7a807b1be607f4f7c28ed8c85d8c10f6145 100644 (file)
@@ -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)