On Mon, Oct 30, 2023 at 11:37 PM Li Ma <li.ma@xxxxxxx> wrote: > > dorp fw version check and using max table size to init table. > > Signed-off-by: Li Ma <li.ma@xxxxxxx> > Reviewed-by: Yifan Zhang <yifan1.zhang@xxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> > --- > .../gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c | 17 ++++------------- > 1 file changed, 4 insertions(+), 13 deletions(-) > > diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c > index 3efc6aed28f1..762b31455a0b 100644 > --- a/drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c > +++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c > @@ -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; > -- > 2.25.1 >