drm/amdgpu: move common pm sysfs code to amdgpu_device.c
Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Rex Zhu <Rex.Zhu@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
		
							parent
							
								
									c98171ccf6
								
							
						
					
					
						commit
						d2f52ac800
					
				| @ -56,6 +56,7 @@ | ||||
| #include "amdgpu_vf_error.h" | ||||
| 
 | ||||
| #include "amdgpu_amdkfd.h" | ||||
| #include "amdgpu_pm.h" | ||||
| 
 | ||||
| MODULE_FIRMWARE("amdgpu/vega10_gpu_info.bin"); | ||||
| MODULE_FIRMWARE("amdgpu/raven_gpu_info.bin"); | ||||
| @ -2216,6 +2217,10 @@ int amdgpu_device_init(struct amdgpu_device *adev, | ||||
| 
 | ||||
| 	amdgpu_fbdev_init(adev); | ||||
| 
 | ||||
| 	r = amdgpu_pm_sysfs_init(adev); | ||||
| 	if (r) | ||||
| 		DRM_ERROR("registering pm debugfs failed (%d).\n", r); | ||||
| 
 | ||||
| 	r = amdgpu_gem_debugfs_init(adev); | ||||
| 	if (r) | ||||
| 		DRM_ERROR("registering gem debugfs failed (%d).\n", r); | ||||
| @ -2312,6 +2317,7 @@ void amdgpu_device_fini(struct amdgpu_device *adev) | ||||
| 	iounmap(adev->rmmio); | ||||
| 	adev->rmmio = NULL; | ||||
| 	amdgpu_doorbell_fini(adev); | ||||
| 	amdgpu_pm_sysfs_fini(adev); | ||||
| 	amdgpu_debugfs_regs_cleanup(adev); | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -1317,6 +1317,9 @@ int amdgpu_pm_sysfs_init(struct amdgpu_device *adev) | ||||
| 	if (adev->pm.sysfs_initialized) | ||||
| 		return 0; | ||||
| 
 | ||||
| 	if (adev->pm.dpm_enabled == 0) | ||||
| 		return 0; | ||||
| 
 | ||||
| 	if (adev->powerplay.pp_funcs->get_temperature == NULL) | ||||
| 		return 0; | ||||
| 
 | ||||
| @ -1417,6 +1420,9 @@ int amdgpu_pm_sysfs_init(struct amdgpu_device *adev) | ||||
| 
 | ||||
| void amdgpu_pm_sysfs_fini(struct amdgpu_device *adev) | ||||
| { | ||||
| 	if (adev->pm.dpm_enabled == 0) | ||||
| 		return; | ||||
| 
 | ||||
| 	if (adev->pm.int_hwmon_dev) | ||||
| 		hwmon_device_unregister(adev->pm.int_hwmon_dev); | ||||
| 	device_remove_file(adev->dev, &dev_attr_power_dpm_state); | ||||
|  | ||||
| @ -137,10 +137,8 @@ static int amdgpu_pp_late_init(void *handle) | ||||
| 		ret = adev->powerplay.ip_funcs->late_init( | ||||
| 					adev->powerplay.pp_handle); | ||||
| 
 | ||||
| 	if (adev->pp_enabled && adev->pm.dpm_enabled) { | ||||
| 		amdgpu_pm_sysfs_init(adev); | ||||
| 	if (adev->pp_enabled && adev->pm.dpm_enabled) | ||||
| 		amdgpu_dpm_dispatch_task(adev, AMD_PP_TASK_COMPLETE_INIT, NULL, NULL); | ||||
| 	} | ||||
| 
 | ||||
| 	return ret; | ||||
| } | ||||
| @ -199,9 +197,6 @@ 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); | ||||
|  | ||||
| @ -6365,7 +6365,6 @@ static int ci_dpm_sw_fini(void *handle) | ||||
| 	flush_work(&adev->pm.dpm.thermal.work); | ||||
| 
 | ||||
| 	mutex_lock(&adev->pm.mutex); | ||||
| 	amdgpu_pm_sysfs_fini(adev); | ||||
| 	ci_dpm_fini(adev); | ||||
| 	mutex_unlock(&adev->pm.mutex); | ||||
| 
 | ||||
|  | ||||
| @ -2969,16 +2969,10 @@ static int kv_dpm_late_init(void *handle) | ||||
| { | ||||
| 	/* powerdown unused blocks for now */ | ||||
| 	struct amdgpu_device *adev = (struct amdgpu_device *)handle; | ||||
| 	int ret; | ||||
| 
 | ||||
| 	if (!amdgpu_dpm) | ||||
| 		return 0; | ||||
| 
 | ||||
| 	/* init the sysfs and debugfs files late */ | ||||
| 	ret = amdgpu_pm_sysfs_init(adev); | ||||
| 	if (ret) | ||||
| 		return ret; | ||||
| 
 | ||||
| 	kv_dpm_powergate_acp(adev, true); | ||||
| 	kv_dpm_powergate_samu(adev, true); | ||||
| 
 | ||||
| @ -3040,7 +3034,6 @@ static int kv_dpm_sw_fini(void *handle) | ||||
| 	flush_work(&adev->pm.dpm.thermal.work); | ||||
| 
 | ||||
| 	mutex_lock(&adev->pm.mutex); | ||||
| 	amdgpu_pm_sysfs_fini(adev); | ||||
| 	kv_dpm_fini(adev); | ||||
| 	mutex_unlock(&adev->pm.mutex); | ||||
| 
 | ||||
|  | ||||
| @ -7604,11 +7604,6 @@ static int si_dpm_late_init(void *handle) | ||||
| 	if (!amdgpu_dpm) | ||||
| 		return 0; | ||||
| 
 | ||||
| 	/* init the sysfs and debugfs files late */ | ||||
| 	ret = amdgpu_pm_sysfs_init(adev); | ||||
| 	if (ret) | ||||
| 		return ret; | ||||
| 
 | ||||
| 	ret = si_set_temperature_range(adev); | ||||
| 	if (ret) | ||||
| 		return ret; | ||||
| @ -7764,7 +7759,6 @@ static int si_dpm_sw_fini(void *handle) | ||||
| 	flush_work(&adev->pm.dpm.thermal.work); | ||||
| 
 | ||||
| 	mutex_lock(&adev->pm.mutex); | ||||
| 	amdgpu_pm_sysfs_fini(adev); | ||||
| 	si_dpm_fini(adev); | ||||
| 	mutex_unlock(&adev->pm.mutex); | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user