forked from Minki/linux
drm/amd/powerplay: keep soft_pp_table pointer value for re-uploading
Necessary for updating pptables at runtime. Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Eric Huang <JinHuiEric.Huang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
50ab2533d2
commit
cf17039f48
@ -794,15 +794,18 @@ static const ATOM_PPLIB_STATE_V2 *get_state_entry_v2(
|
||||
static const ATOM_PPLIB_POWERPLAYTABLE *get_powerplay_table(
|
||||
struct pp_hwmgr *hwmgr)
|
||||
{
|
||||
const void *table_addr = NULL;
|
||||
const void *table_addr = hwmgr->soft_pp_table;
|
||||
uint8_t frev, crev;
|
||||
uint16_t size;
|
||||
|
||||
table_addr = cgs_atom_get_data_table(hwmgr->device,
|
||||
GetIndexIntoMasterTable(DATA, PowerPlayInfo),
|
||||
&size, &frev, &crev);
|
||||
if (!table_addr) {
|
||||
table_addr = cgs_atom_get_data_table(hwmgr->device,
|
||||
GetIndexIntoMasterTable(DATA, PowerPlayInfo),
|
||||
&size, &frev, &crev);
|
||||
|
||||
hwmgr->soft_pp_table = table_addr;
|
||||
hwmgr->soft_pp_table = table_addr;
|
||||
hwmgr->soft_pp_table_size = size;
|
||||
}
|
||||
|
||||
return (const ATOM_PPLIB_POWERPLAYTABLE *)table_addr;
|
||||
}
|
||||
@ -1589,11 +1592,6 @@ static int pp_tables_initialize(struct pp_hwmgr *hwmgr)
|
||||
|
||||
static int pp_tables_uninitialize(struct pp_hwmgr *hwmgr)
|
||||
{
|
||||
if (NULL != hwmgr->soft_pp_table) {
|
||||
kfree(hwmgr->soft_pp_table);
|
||||
hwmgr->soft_pp_table = NULL;
|
||||
}
|
||||
|
||||
if (NULL != hwmgr->dyn_state.vddc_dependency_on_sclk) {
|
||||
kfree(hwmgr->dyn_state.vddc_dependency_on_sclk);
|
||||
hwmgr->dyn_state.vddc_dependency_on_sclk = NULL;
|
||||
|
@ -1077,9 +1077,6 @@ int tonga_pp_tables_uninitialize(struct pp_hwmgr *hwmgr)
|
||||
struct phm_ppt_v1_information *pp_table_information =
|
||||
(struct phm_ppt_v1_information *)(hwmgr->pptable);
|
||||
|
||||
if (NULL != hwmgr->soft_pp_table)
|
||||
hwmgr->soft_pp_table = NULL;
|
||||
|
||||
kfree(pp_table_information->vdd_dep_on_sclk);
|
||||
pp_table_information->vdd_dep_on_sclk = NULL;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user