Commit 9e4848a4 authored by Huang Rui's avatar Huang Rui Committed by Alex Deucher

drm/amd/powerplay: add interface to parse pptable (v2)

This patch adds interface to parse pptable for smu.
It's to parse pptable format and fill PPTable_t smc_pptable to smu_table_context
structure. And read the smc_dpm_table from vbios, then fill it into smc_pptable.

v2: add detailed info to describe this function
Signed-off-by: default avatarHuang Rui <ray.huang@amd.com>
Acked-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 9c9a1747
...@@ -166,6 +166,15 @@ static int smu_smc_table_hw_init(struct smu_context *smu) ...@@ -166,6 +166,15 @@ static int smu_smc_table_hw_init(struct smu_context *smu)
if (ret) if (ret)
return ret; return ret;
/*
* Parse pptable format and fill PPTable_t smc_pptable to
* smu_table_context structure. And read the smc_dpm_table from vbios,
* then fill it into smc_pptable.
*/
ret = smu_parse_pptable(smu);
if (ret)
return ret;
return 0; return 0;
} }
......
...@@ -42,6 +42,7 @@ struct smu_funcs ...@@ -42,6 +42,7 @@ struct smu_funcs
int (*read_pptable_from_vbios)(struct smu_context *smu); int (*read_pptable_from_vbios)(struct smu_context *smu);
int (*get_vbios_bootup_values)(struct smu_context *smu); int (*get_vbios_bootup_values)(struct smu_context *smu);
int (*check_pptable)(struct smu_context *smu); int (*check_pptable)(struct smu_context *smu);
int (*parse_pptable)(struct smu_context *smu);
}; };
#define smu_init_microcode(smu) \ #define smu_init_microcode(smu) \
...@@ -60,6 +61,9 @@ struct smu_funcs ...@@ -60,6 +61,9 @@ struct smu_funcs
((smu)->funcs->get_vbios_bootup_values ? (smu)->funcs->get_vbios_bootup_values((smu)) : 0) ((smu)->funcs->get_vbios_bootup_values ? (smu)->funcs->get_vbios_bootup_values((smu)) : 0)
#define smu_check_pptable(smu) \ #define smu_check_pptable(smu) \
((smu)->funcs->check_pptable ? (smu)->funcs->check_pptable((smu)) : 0) ((smu)->funcs->check_pptable ? (smu)->funcs->check_pptable((smu)) : 0)
#define smu_parse_pptable(smu) \
((smu)->funcs->parse_pptable ? (smu)->funcs->parse_pptable((smu)) : 0)
extern const struct amd_ip_funcs smu_ip_funcs; extern const struct amd_ip_funcs smu_ip_funcs;
......
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