drm/amd/swsmu: remove fw version check in sw_init.
authorLi Ma <li.ma@amd.com>
Mon, 30 Oct 2023 10:30:48 +0000 (18:30 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 3 Nov 2023 16:18:33 +0000 (12:18 -0400)
dorp fw version check and using max table size to init table.

Signed-off-by: Li Ma <li.ma@amd.com>
Reviewed-by: Yifan Zhang <yifan1.zhang@amd.com>
Reviewed-by: Yang Wang <kevinyang.wang@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c

index 3efc6aed28f1b52a1c5923016c50364facde31b2..762b31455a0b6c794ec85579ce7dfc28cdde4055 100644 (file)
@@ -234,24 +234,15 @@ static int vangogh_tables_init(struct smu_context *smu)
                       PAGE_SIZE, AMDGPU_GEM_DOMAIN_VRAM);
        SMU_TABLE_INIT(tables, SMU_TABLE_ACTIVITY_MONITOR_COEFF, sizeof(DpmActivityMonitorCoeffExt_t),
                       PAGE_SIZE, AMDGPU_GEM_DOMAIN_VRAM);
+       SMU_TABLE_INIT(tables, SMU_TABLE_SMU_METRICS, max(sizeof(SmuMetrics_t), sizeof(SmuMetrics_legacy_t)),
+                      PAGE_SIZE, AMDGPU_GEM_DOMAIN_VRAM);
 
-       if (smu->smc_fw_if_version < 0x3) {
-               SMU_TABLE_INIT(tables, SMU_TABLE_SMU_METRICS, sizeof(SmuMetrics_legacy_t),
-                               PAGE_SIZE, AMDGPU_GEM_DOMAIN_VRAM);
-               smu_table->metrics_table = kzalloc(sizeof(SmuMetrics_legacy_t), GFP_KERNEL);
-       } else {
-               SMU_TABLE_INIT(tables, SMU_TABLE_SMU_METRICS, sizeof(SmuMetrics_t),
-                               PAGE_SIZE, AMDGPU_GEM_DOMAIN_VRAM);
-               smu_table->metrics_table = kzalloc(sizeof(SmuMetrics_t), GFP_KERNEL);
-       }
+       smu_table->metrics_table = kzalloc(max(sizeof(SmuMetrics_t), sizeof(SmuMetrics_legacy_t)), GFP_KERNEL);
        if (!smu_table->metrics_table)
                goto err0_out;
        smu_table->metrics_time = 0;
 
-       if (smu->smc_fw_version >= 0x043F3E00)
-               smu_table->gpu_metrics_table_size = sizeof(struct gpu_metrics_v2_3);
-       else
-               smu_table->gpu_metrics_table_size = sizeof(struct gpu_metrics_v2_2);
+       smu_table->gpu_metrics_table_size = max(sizeof(struct gpu_metrics_v2_3), sizeof(struct gpu_metrics_v2_2));
        smu_table->gpu_metrics_table = kzalloc(smu_table->gpu_metrics_table_size, GFP_KERNEL);
        if (!smu_table->gpu_metrics_table)
                goto err1_out;