Thus redundant code can be dropped. Change-Id: I672f84ed5856da53b7f8f915b2f24ca11cd4b228 Signed-off-by: Evan Quan <evan.quan@xxxxxxx> --- drivers/gpu/drm/amd/powerplay/amdgpu_smu.c | 44 +++++++++++----------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c index 55ffbf1cf086..65f5edcaa405 100644 --- a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c +++ b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c @@ -1376,6 +1376,26 @@ static int smu_disable_dpms(struct smu_context *smu) return ret; } +static int smu_internal_hw_cleanup(struct smu_context *smu) +{ + struct amdgpu_device *adev = smu->adev; + int ret = 0; + + smu_i2c_eeprom_fini(smu, &adev->pm.smu_i2c); + + ret = smu_disable_thermal_alert(smu); + if (ret) { + pr_warn("Fail to stop thermal control!\n"); + return ret; + } + + ret = smu_disable_dpms(smu); + if (ret) + return ret; + + return 0; +} + static int smu_hw_fini(void *handle) { struct amdgpu_device *adev = (struct amdgpu_device *)handle; @@ -1396,19 +1416,9 @@ static int smu_hw_fini(void *handle) adev->pm.dpm_enabled = false; - smu_i2c_eeprom_fini(smu, &adev->pm.smu_i2c); - - ret = smu_disable_thermal_alert(smu); - if (ret) { - pr_warn("Fail to stop thermal control!\n"); - return ret; - } - - ret = smu_disable_dpms(smu); - if (ret) { - pr_warn("Fail to stop Dpms!\n"); + ret = smu_internal_hw_cleanup(smu); + if (ret) return ret; - } return 0; } @@ -1445,15 +1455,7 @@ static int smu_suspend(void *handle) adev->pm.dpm_enabled = false; - smu_i2c_eeprom_fini(smu, &adev->pm.smu_i2c); - - ret = smu_disable_thermal_alert(smu); - if (ret) { - pr_warn("Fail to stop thermal control!\n"); - return ret; - } - - ret = smu_disable_dpms(smu); + ret = smu_internal_hw_cleanup(smu); if (ret) return ret; -- 2.27.0 _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx