diff --git a/drivers/gpu/drm/amd/amdgpu/cz_dpm.c b/drivers/gpu/drm/amd/amdgpu/cz_dpm.c index e56f54bf87d261cdde1ccb018d1bfe2629a951dc..adf4dbc3f6a07b0425284084960146aefeeaf696 100644 --- a/drivers/gpu/drm/amd/amdgpu/cz_dpm.c +++ b/drivers/gpu/drm/amd/amdgpu/cz_dpm.c @@ -1206,10 +1206,7 @@ static int cz_dpm_enable(struct amdgpu_device *adev) static int cz_dpm_hw_init(struct amdgpu_device *adev) { - int ret; - - if (!amdgpu_dpm) - return 0; + int ret = 0; mutex_lock(&adev->pm.mutex); @@ -1229,6 +1226,12 @@ static int cz_dpm_hw_init(struct amdgpu_device *adev) return ret; } + if (!amdgpu_dpm) { + adev->pm.dpm_enabled = false; + mutex_unlock(&adev->pm.mutex); + return ret; + } + /* cz dpm setup asic */ cz_dpm_setup_asic(adev); @@ -1326,6 +1329,12 @@ static int cz_dpm_resume(struct amdgpu_device *adev) return ret; } + if (!amdgpu_dpm) { + adev->pm.dpm_enabled = false; + mutex_unlock(&adev->pm.mutex); + return ret; + } + /* cz dpm setup asic */ cz_dpm_setup_asic(adev);