Commit e745c3c9 authored by Alex Deucher's avatar Alex Deucher

drm/radeon/ci: use different smc command for pcie dpm

Use unforce levels rather than enable mask instruction.
This is the preferred method.
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent f281d0a3
...@@ -3773,7 +3773,7 @@ static int ci_upload_dpm_level_enable_mask(struct radeon_device *rdev) ...@@ -3773,7 +3773,7 @@ static int ci_upload_dpm_level_enable_mask(struct radeon_device *rdev)
return -EINVAL; return -EINVAL;
} }
} }
#if 0
if (!pi->pcie_dpm_key_disabled) { if (!pi->pcie_dpm_key_disabled) {
if (pi->dpm_level_enable_mask.pcie_dpm_enable_mask) { if (pi->dpm_level_enable_mask.pcie_dpm_enable_mask) {
result = ci_send_msg_to_smc_with_parameter(rdev, result = ci_send_msg_to_smc_with_parameter(rdev,
...@@ -3783,7 +3783,7 @@ static int ci_upload_dpm_level_enable_mask(struct radeon_device *rdev) ...@@ -3783,7 +3783,7 @@ static int ci_upload_dpm_level_enable_mask(struct radeon_device *rdev)
return -EINVAL; return -EINVAL;
} }
} }
#endif
return 0; return 0;
} }
...@@ -4247,6 +4247,14 @@ int ci_dpm_force_performance_level(struct radeon_device *rdev, ...@@ -4247,6 +4247,14 @@ int ci_dpm_force_performance_level(struct radeon_device *rdev,
} }
} }
} else if (level == RADEON_DPM_FORCED_LEVEL_AUTO) { } else if (level == RADEON_DPM_FORCED_LEVEL_AUTO) {
if (!pi->pcie_dpm_key_disabled) {
PPSMC_Result smc_result;
smc_result = ci_send_msg_to_smc(rdev,
PPSMC_MSG_PCIeDPM_UnForceLevel);
if (smc_result != PPSMC_Result_OK)
return -EINVAL;
}
ret = ci_upload_dpm_level_enable_mask(rdev); ret = ci_upload_dpm_level_enable_mask(rdev);
if (ret) if (ret)
return ret; return ret;
......
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