diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.c | 9 | 
1 files changed, 6 insertions, 3 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.c index f5ae871aa11c..b7e1c026c0c8 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.c @@ -72,6 +72,7 @@ static int amdgpu_pp_early_init(void *handle)  	case CHIP_CARRIZO:  	case CHIP_STONEY:  	case CHIP_VEGA10: +	case CHIP_RAVEN:  		adev->pp_enabled = true;  		if (amdgpu_create_pp_handle(adev))  			return -EINVAL; @@ -187,6 +188,9 @@ static int amdgpu_pp_hw_fini(void *handle)  	int ret = 0;  	struct amdgpu_device *adev = (struct amdgpu_device *)handle; +	if (adev->pp_enabled && adev->pm.dpm_enabled) +		amdgpu_pm_sysfs_fini(adev); +  	if (adev->powerplay.ip_funcs->hw_fini)  		ret = adev->powerplay.ip_funcs->hw_fini(  					adev->powerplay.pp_handle); @@ -205,10 +209,9 @@ static void amdgpu_pp_late_fini(void *handle)  		adev->powerplay.ip_funcs->late_fini(  			  adev->powerplay.pp_handle); -	if (adev->pp_enabled && adev->pm.dpm_enabled) -		amdgpu_pm_sysfs_fini(adev); -	amd_powerplay_destroy(adev->powerplay.pp_handle); +	if (adev->pp_enabled) +		amd_powerplay_destroy(adev->powerplay.pp_handle);  }  static int amdgpu_pp_suspend(void *handle) |