aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/ci_dpm.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/ci_dpm.c b/drivers/gpu/drm/amd/amdgpu/ci_dpm.c
index 1c3b5c411ef7..f1baf6715b05 100644
--- a/drivers/gpu/drm/amd/amdgpu/ci_dpm.c
+++ b/drivers/gpu/drm/amd/amdgpu/ci_dpm.c
@@ -2207,6 +2207,11 @@ static int ci_upload_firmware(struct amdgpu_device *adev)
2207 struct ci_power_info *pi = ci_get_pi(adev); 2207 struct ci_power_info *pi = ci_get_pi(adev);
2208 int i, ret; 2208 int i, ret;
2209 2209
2210 if (amdgpu_ci_is_smc_running(adev)) {
2211 DRM_INFO("smc is running, no need to load smc firmware\n");
2212 return 0;
2213 }
2214
2210 for (i = 0; i < adev->usec_timeout; i++) { 2215 for (i = 0; i < adev->usec_timeout; i++) {
2211 if (RREG32_SMC(ixRCU_UC_EVENTS) & RCU_UC_EVENTS__boot_seq_done_MASK) 2216 if (RREG32_SMC(ixRCU_UC_EVENTS) & RCU_UC_EVENTS__boot_seq_done_MASK)
2212 break; 2217 break;
@@ -5275,8 +5280,6 @@ static int ci_dpm_enable(struct amdgpu_device *adev)
5275 struct amdgpu_ps *boot_ps = adev->pm.dpm.boot_ps; 5280 struct amdgpu_ps *boot_ps = adev->pm.dpm.boot_ps;
5276 int ret; 5281 int ret;
5277 5282
5278 if (amdgpu_ci_is_smc_running(adev))
5279 return -EINVAL;
5280 if (pi->voltage_control != CISLANDS_VOLTAGE_CONTROL_NONE) { 5283 if (pi->voltage_control != CISLANDS_VOLTAGE_CONTROL_NONE) {
5281 ci_enable_voltage_control(adev); 5284 ci_enable_voltage_control(adev);
5282 ret = ci_construct_voltage_tables(adev); 5285 ret = ci_construct_voltage_tables(adev);