drm/amd/pm: Use common function to fetch static metrics table
Use common function to fetch static metrics table for smu_v13_0_12 Signed-off-by: Asad Kamal <asad.kamal@amd.com> Reviewed-by: Lijo Lazar <lijo.lazar@amd.com> Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>pull/1112/head
parent
9eddfcbef4
commit
0ee5847849
|
|
@ -187,26 +187,6 @@ int smu_v13_0_12_get_max_metrics_size(void)
|
|||
return max(sizeof(StaticMetricsTable_t), sizeof(MetricsTable_t));
|
||||
}
|
||||
|
||||
static int smu_v13_0_12_get_static_metrics_table(struct smu_context *smu)
|
||||
{
|
||||
struct smu_table_context *smu_table = &smu->smu_table;
|
||||
uint32_t table_size = smu_table->tables[SMU_TABLE_SMU_METRICS].size;
|
||||
struct smu_table *table = &smu_table->driver_table;
|
||||
int ret;
|
||||
|
||||
ret = smu_cmn_send_smc_msg(smu, SMU_MSG_GetStaticMetricsTable, NULL);
|
||||
if (ret) {
|
||||
dev_info(smu->adev->dev,
|
||||
"Failed to export static metrics table!\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
amdgpu_asic_invalidate_hdp(smu->adev, NULL);
|
||||
memcpy(smu_table->metrics_table, table->cpu_addr, table_size);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int smu_v13_0_12_setup_driver_pptable(struct smu_context *smu)
|
||||
{
|
||||
struct smu_table_context *smu_table = &smu->smu_table;
|
||||
|
|
@ -217,7 +197,7 @@ int smu_v13_0_12_setup_driver_pptable(struct smu_context *smu)
|
|||
int ret, i;
|
||||
|
||||
if (!pptable->Init) {
|
||||
ret = smu_v13_0_12_get_static_metrics_table(smu);
|
||||
ret = smu_v13_0_6_get_static_metrics_table(smu);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
|
|
|
|||
|
|
@ -739,7 +739,7 @@ static ssize_t smu_v13_0_6_get_pm_metrics(struct smu_context *smu,
|
|||
return pm_metrics->common_header.structure_size;
|
||||
}
|
||||
|
||||
static int smu_v13_0_6_get_static_metrics_table(struct smu_context *smu)
|
||||
int smu_v13_0_6_get_static_metrics_table(struct smu_context *smu)
|
||||
{
|
||||
struct smu_table_context *smu_table = &smu->smu_table;
|
||||
uint32_t table_size = smu_table->tables[SMU_TABLE_SMU_METRICS].size;
|
||||
|
|
|
|||
|
|
@ -71,5 +71,6 @@ enum smu_v13_0_6_caps {
|
|||
|
||||
extern void smu_v13_0_6_set_ppt_funcs(struct smu_context *smu);
|
||||
bool smu_v13_0_6_cap_supported(struct smu_context *smu, enum smu_v13_0_6_caps cap);
|
||||
int smu_v13_0_6_get_static_metrics_table(struct smu_context *smu);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue