drm/amd/pm: Get metrics table version for smu_v13_0_12
authorAsad Kamal <asad.kamal@amd.com>
Sat, 22 Feb 2025 10:11:35 +0000 (18:11 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 25 Feb 2025 16:45:12 +0000 (11:45 -0500)
Get metrics table version for smu_v13_0_12 and populate pm_metrics

Signed-off-by: Asad Kamal <asad.kamal@amd.com>
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_12_ppt.c

index 5e7e97d90805110fc9d6ea45f27c477ecd296d42..5e80b9aabfc9adcf5ec2db2f5fd8a6b67021290d 100644 (file)
@@ -208,6 +208,7 @@ int smu_v13_0_12_setup_driver_pptable(struct smu_context *smu)
        StaticMetricsTable_t *static_metrics = (StaticMetricsTable_t *)smu_table->metrics_table;
        struct PPTable_t *pptable =
                (struct PPTable_t *)smu_table->driver_pptable;
+       uint32_t table_version;
        int ret, i;
 
        if (!pptable->Init) {
@@ -215,6 +216,13 @@ int smu_v13_0_12_setup_driver_pptable(struct smu_context *smu)
                if (ret)
                        return ret;
 
+               ret = smu_cmn_send_smc_msg(smu, SMU_MSG_GetMetricsVersion,
+                                          &table_version);
+               if (ret)
+                       return ret;
+               smu_table->tables[SMU_TABLE_SMU_METRICS].version =
+                       table_version;
+
                pptable->MaxSocketPowerLimit =
                        SMUQ10_ROUND(static_metrics->MaxSocketPowerLimit);
                pptable->MaxGfxclkFrequency =