From: Rex Zhu Date: Tue, 4 Jul 2017 08:35:59 +0000 (+0800) Subject: drm/amd/powerplay: fix bug fail to remove sysfs when rmmod amdgpu. X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=593f546eee2fdbe055380ee82de568c0a1775551;p=openwrt%2Fstaging%2Fblogic.git 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 Tested-by: Michel Dänzer Reviewed-by: Alex Deucher Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.c index 93ffb853c3f4..b7e1c026c0c8 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.c @@ -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);