drm/amd/pp: implement phm_reset_power_profile_state
mv related code out of force_dpm_level to phm_reset_power_profile_state Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Rex Zhu <Rex.Zhu@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
29411f05c6
commit
582dd5da5c
@ -112,23 +112,26 @@ int phm_force_dpm_levels(struct pp_hwmgr *hwmgr, enum amd_dpm_forced_level level
|
||||
|
||||
PHM_FUNC_CHECK(hwmgr);
|
||||
|
||||
if (hwmgr->hwmgr_func->force_dpm_level != NULL) {
|
||||
if (hwmgr->hwmgr_func->force_dpm_level != NULL)
|
||||
ret = hwmgr->hwmgr_func->force_dpm_level(hwmgr, level);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
if (hwmgr->hwmgr_func->set_power_profile_state) {
|
||||
if (hwmgr->current_power_profile == AMD_PP_GFX_PROFILE)
|
||||
ret = hwmgr->hwmgr_func->set_power_profile_state(
|
||||
hwmgr,
|
||||
&hwmgr->gfx_power_profile);
|
||||
else if (hwmgr->current_power_profile == AMD_PP_COMPUTE_PROFILE)
|
||||
ret = hwmgr->hwmgr_func->set_power_profile_state(
|
||||
hwmgr,
|
||||
&hwmgr->compute_power_profile);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int phm_reset_power_profile_state(struct pp_hwmgr *hwmgr)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
if (hwmgr->hwmgr_func->set_power_profile_state) {
|
||||
if (hwmgr->current_power_profile == AMD_PP_GFX_PROFILE)
|
||||
ret = hwmgr->hwmgr_func->set_power_profile_state(
|
||||
hwmgr,
|
||||
&hwmgr->gfx_power_profile);
|
||||
else if (hwmgr->current_power_profile == AMD_PP_COMPUTE_PROFILE)
|
||||
ret = hwmgr->hwmgr_func->set_power_profile_state(
|
||||
hwmgr,
|
||||
&hwmgr->compute_power_profile);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -245,6 +245,7 @@ int psm_adjust_power_state_dynamic(struct pp_hwmgr *hwmgr, bool skip,
|
||||
|
||||
phm_notify_smc_display_config_after_ps_adjustment(hwmgr);
|
||||
phm_force_dpm_levels(hwmgr, hwmgr->dpm_level);
|
||||
phm_reset_power_profile_state(hwmgr);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -437,5 +437,6 @@ extern int phm_display_clock_voltage_request(struct pp_hwmgr *hwmgr,
|
||||
|
||||
extern int phm_get_max_high_clocks(struct pp_hwmgr *hwmgr, struct amd_pp_simple_clock_info *clocks);
|
||||
extern int phm_disable_smc_firmware_ctf(struct pp_hwmgr *hwmgr);
|
||||
extern int phm_reset_power_profile_state(struct pp_hwmgr *hwmgr);
|
||||
#endif /* _HARDWARE_MANAGER_H_ */
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user