mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
drm/amd: Remove second call to set_power_limit()
The min/max limits only make sense for default PPT. Restructure smu_set_power_limit() to only use them in that case. Reviewed-by: Lijo Lazar <lijo.lazar@amd.com> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
5f4f49a41c
commit
56a207c39d
@@ -2966,20 +2966,17 @@ static int smu_set_power_limit(void *handle, uint32_t limit_type, uint32_t limit
|
||||
if (!smu->pm_enabled || !smu->adev->pm.dpm_enabled)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
if (limit_type != SMU_DEFAULT_PPT_LIMIT)
|
||||
if (smu->ppt_funcs->set_power_limit)
|
||||
return smu->ppt_funcs->set_power_limit(smu, limit_type, limit);
|
||||
|
||||
if ((limit > smu->max_power_limit) || (limit < smu->min_power_limit)) {
|
||||
dev_err(smu->adev->dev,
|
||||
"New power limit (%d) is out of range [%d,%d]\n",
|
||||
limit, smu->min_power_limit, smu->max_power_limit);
|
||||
return -EINVAL;
|
||||
if (limit_type == SMU_DEFAULT_PPT_LIMIT) {
|
||||
if (!limit)
|
||||
limit = smu->current_power_limit;
|
||||
if ((limit > smu->max_power_limit) || (limit < smu->min_power_limit)) {
|
||||
dev_err(smu->adev->dev,
|
||||
"New power limit (%d) is out of range [%d,%d]\n",
|
||||
limit, smu->min_power_limit, smu->max_power_limit);
|
||||
return -EINVAL;
|
||||
}
|
||||
}
|
||||
|
||||
if (!limit)
|
||||
limit = smu->current_power_limit;
|
||||
|
||||
if (smu->ppt_funcs->set_power_limit) {
|
||||
ret = smu->ppt_funcs->set_power_limit(smu, limit_type, limit);
|
||||
if (!ret && !(smu->user_dpm_profile.flags & SMU_DPM_USER_PROFILE_RESTORE))
|
||||
|
||||
Reference in New Issue
Block a user