Commit 6a2d7a22 authored by Evan Quan's avatar Evan Quan Committed by Alex Deucher

drm/amd/pm: enable the support for retrieving combo pptable

We need to relay on this way to get the raw PPTable when
SCPM feature is enabled.
Signed-off-by: default avatarEvan Quan <evan.quan@amd.com>
Reviewed-by: default avatarHawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent d51e577c
...@@ -321,6 +321,7 @@ enum smu_table_id ...@@ -321,6 +321,7 @@ enum smu_table_id
SMU_TABLE_I2C_COMMANDS, SMU_TABLE_I2C_COMMANDS,
SMU_TABLE_PACE, SMU_TABLE_PACE,
SMU_TABLE_ECCINFO, SMU_TABLE_ECCINFO,
SMU_TABLE_COMBO_PPTABLE,
SMU_TABLE_COUNT, SMU_TABLE_COUNT,
}; };
...@@ -336,7 +337,8 @@ struct smu_table_context ...@@ -336,7 +337,8 @@ struct smu_table_context
void *max_sustainable_clocks; void *max_sustainable_clocks;
struct smu_bios_boot_up_values boot_values; struct smu_bios_boot_up_values boot_values;
void *driver_pptable; void *driver_pptable;
void *combo_pptable;
void *ecc_table; void *ecc_table;
void *driver_smu_config_table; void *driver_smu_config_table;
struct smu_table tables[SMU_TABLE_COUNT]; struct smu_table tables[SMU_TABLE_COUNT];
......
...@@ -971,6 +971,17 @@ int smu_cmn_get_metrics_table(struct smu_context *smu, ...@@ -971,6 +971,17 @@ int smu_cmn_get_metrics_table(struct smu_context *smu,
return 0; return 0;
} }
int smu_cmn_get_combo_pptable(struct smu_context *smu)
{
void *pptable = smu->smu_table.combo_pptable;
return smu_cmn_update_table(smu,
SMU_TABLE_COMBO_PPTABLE,
0,
pptable,
false);
}
void smu_cmn_init_soft_gpu_metrics(void *table, uint8_t frev, uint8_t crev) void smu_cmn_init_soft_gpu_metrics(void *table, uint8_t frev, uint8_t crev)
{ {
struct metrics_table_header *header = (struct metrics_table_header *)table; struct metrics_table_header *header = (struct metrics_table_header *)table;
......
...@@ -99,6 +99,8 @@ int smu_cmn_get_metrics_table(struct smu_context *smu, ...@@ -99,6 +99,8 @@ int smu_cmn_get_metrics_table(struct smu_context *smu,
void *metrics_table, void *metrics_table,
bool bypass_cache); bool bypass_cache);
int smu_cmn_get_combo_pptable(struct smu_context *smu);
void smu_cmn_init_soft_gpu_metrics(void *table, uint8_t frev, uint8_t crev); void smu_cmn_init_soft_gpu_metrics(void *table, uint8_t frev, uint8_t crev);
int smu_cmn_set_mp1_state(struct smu_context *smu, int smu_cmn_set_mp1_state(struct smu_context *smu,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment