Commit 3f767e3d authored by Rex Zhu's avatar Rex Zhu Committed by Alex Deucher

drm/amdgpu: just not load smc firmware if smu is already running

Signed-off-by: default avatarRex Zhu <Rex.Zhu@amd.com>
Acked-by: default avatarChristian König <christian.koenig@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 86f8c599
...@@ -2207,6 +2207,11 @@ static int ci_upload_firmware(struct amdgpu_device *adev) ...@@ -2207,6 +2207,11 @@ static int ci_upload_firmware(struct amdgpu_device *adev)
struct ci_power_info *pi = ci_get_pi(adev); struct ci_power_info *pi = ci_get_pi(adev);
int i, ret; int i, ret;
if (amdgpu_ci_is_smc_running(adev)) {
DRM_INFO("smc is running, no need to load smc firmware\n");
return 0;
}
for (i = 0; i < adev->usec_timeout; i++) { for (i = 0; i < adev->usec_timeout; i++) {
if (RREG32_SMC(ixRCU_UC_EVENTS) & RCU_UC_EVENTS__boot_seq_done_MASK) if (RREG32_SMC(ixRCU_UC_EVENTS) & RCU_UC_EVENTS__boot_seq_done_MASK)
break; break;
...@@ -5275,8 +5280,6 @@ static int ci_dpm_enable(struct amdgpu_device *adev) ...@@ -5275,8 +5280,6 @@ static int ci_dpm_enable(struct amdgpu_device *adev)
struct amdgpu_ps *boot_ps = adev->pm.dpm.boot_ps; struct amdgpu_ps *boot_ps = adev->pm.dpm.boot_ps;
int ret; int ret;
if (amdgpu_ci_is_smc_running(adev))
return -EINVAL;
if (pi->voltage_control != CISLANDS_VOLTAGE_CONTROL_NONE) { if (pi->voltage_control != CISLANDS_VOLTAGE_CONTROL_NONE) {
ci_enable_voltage_control(adev); ci_enable_voltage_control(adev);
ret = ci_construct_voltage_tables(adev); ret = ci_construct_voltage_tables(adev);
......
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