Browse Source

drm/amd/powerplay: fix bug fail to remove sysfs when rmmod amdgpu.

when hw_fini, pp will disable dpm.so remove sysfs before
disable dpm.

Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Rex Zhu 8 years ago
parent
commit
593f546eee
1 changed files with 3 additions and 2 deletions
  1. 3 2
      drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.c

+ 3 - 2
drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.c

@@ -188,6 +188,9 @@ static int amdgpu_pp_hw_fini(void *handle)
 	int ret = 0;
 	int ret = 0;
 	struct amdgpu_device *adev = (struct amdgpu_device *)handle;
 	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)
 	if (adev->powerplay.ip_funcs->hw_fini)
 		ret = adev->powerplay.ip_funcs->hw_fini(
 		ret = adev->powerplay.ip_funcs->hw_fini(
 					adev->powerplay.pp_handle);
 					adev->powerplay.pp_handle);
@@ -206,8 +209,6 @@ static void amdgpu_pp_late_fini(void *handle)
 		adev->powerplay.ip_funcs->late_fini(
 		adev->powerplay.ip_funcs->late_fini(
 			  adev->powerplay.pp_handle);
 			  adev->powerplay.pp_handle);
 
 
-	if (adev->pp_enabled && adev->pm.dpm_enabled)
-		amdgpu_pm_sysfs_fini(adev);
 
 
 	if (adev->pp_enabled)
 	if (adev->pp_enabled)
 		amd_powerplay_destroy(adev->powerplay.pp_handle);
 		amd_powerplay_destroy(adev->powerplay.pp_handle);