mirror of https://gitee.com/openkylin/linux.git
drm/amd/powerplay: add interface to init power (v2)
This patch adds interface to init power function for smu. It's to create smu_power_context structure, and allocate smu_dpm_context and context size to fill the smu_power_context data. v2: add detailed info to describe this function Signed-off-by: Huang Rui <ray.huang@amd.com> Acked-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
cabd44c064
commit
17e6081bc1
|
@ -85,6 +85,16 @@ static int smu_smc_table_sw_init(struct smu_context *smu)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create smu_power_context structure, and allocate smu_dpm_context and
|
||||||
|
* context size to fill the smu_power_context data.
|
||||||
|
*/
|
||||||
|
ret = smu_init_power(smu);
|
||||||
|
if (ret) {
|
||||||
|
pr_err("Failed to init smu_init_power!\n");
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -36,6 +36,7 @@ struct smu_funcs
|
||||||
{
|
{
|
||||||
int (*init_microcode)(struct smu_context *smu);
|
int (*init_microcode)(struct smu_context *smu);
|
||||||
int (*init_smc_tables)(struct smu_context *smu);
|
int (*init_smc_tables)(struct smu_context *smu);
|
||||||
|
int (*init_power)(struct smu_context *smu);
|
||||||
int (*load_microcode)(struct smu_context *smu);
|
int (*load_microcode)(struct smu_context *smu);
|
||||||
int (*check_fw_status)(struct smu_context *smu);
|
int (*check_fw_status)(struct smu_context *smu);
|
||||||
int (*read_pptable_from_vbios)(struct smu_context *smu);
|
int (*read_pptable_from_vbios)(struct smu_context *smu);
|
||||||
|
@ -45,6 +46,8 @@ struct smu_funcs
|
||||||
((smu)->funcs->init_microcode ? (smu)->funcs->init_microcode((smu)) : 0)
|
((smu)->funcs->init_microcode ? (smu)->funcs->init_microcode((smu)) : 0)
|
||||||
#define smu_init_smc_tables(smu) \
|
#define smu_init_smc_tables(smu) \
|
||||||
((smu)->funcs->init_smc_tables ? (smu)->funcs->init_smc_tables((smu)) : 0)
|
((smu)->funcs->init_smc_tables ? (smu)->funcs->init_smc_tables((smu)) : 0)
|
||||||
|
#define smu_init_power(smu) \
|
||||||
|
((smu)->funcs->init_power ? (smu)->funcs->init_power((smu)) : 0)
|
||||||
#define smu_load_microcode(smu) \
|
#define smu_load_microcode(smu) \
|
||||||
((smu)->funcs->load_microcode ? (smu)->funcs->load_microcode((smu)) : 0)
|
((smu)->funcs->load_microcode ? (smu)->funcs->load_microcode((smu)) : 0)
|
||||||
#define smu_check_fw_status(smu) \
|
#define smu_check_fw_status(smu) \
|
||||||
|
|
Loading…
Reference in New Issue