drm/amd/powerplay: fix bug fail to remove sysfs when rmmod amdgpu.
authorRex Zhu <Rex.Zhu@amd.com>
Tue, 4 Jul 2017 08:35:59 +0000 (16:35 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 5 Jul 2017 17:18:50 +0000 (13:18 -0400)
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>
drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.c

index 93ffb853c3f43063e34d7a70951689a1b332f8fd..b7e1c026c0c861435346adc4a703724fecf6aab6 100644 (file)
@@ -188,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);
@@ -206,8 +209,6 @@ 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);
 
        if (adev->pp_enabled)
                amd_powerplay_destroy(adev->powerplay.pp_handle);