diff options
Diffstat (limited to 'drivers/gpu/drm/amd')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 14 | 
1 files changed, 8 insertions, 6 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index e38564e7c5ec..c35db859f050 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c @@ -1707,10 +1707,6 @@ static int amdgpu_device_ip_late_set_cg_state(struct amdgpu_device *adev)  	if (amdgpu_emu_mode == 1)  		return 0; -	r = amdgpu_ib_ring_tests(adev); -	if (r) -		DRM_ERROR("ib ring test failed (%d).\n", r); -  	for (i = 0; i < adev->num_ip_blocks; i++) {  		if (!adev->ip_blocks[i].status.valid)  			continue; @@ -1791,6 +1787,9 @@ static int amdgpu_device_ip_late_init(struct amdgpu_device *adev)  		}  	} +	amdgpu_device_ip_late_set_cg_state(adev); +	amdgpu_device_ip_late_set_pg_state(adev); +  	queue_delayed_work(system_wq, &adev->late_init_work,  			   msecs_to_jiffies(AMDGPU_RESUME_MS)); @@ -1919,8 +1918,11 @@ static void amdgpu_device_ip_late_init_func_handler(struct work_struct *work)  {  	struct amdgpu_device *adev =  		container_of(work, struct amdgpu_device, late_init_work.work); -	amdgpu_device_ip_late_set_cg_state(adev); -	amdgpu_device_ip_late_set_pg_state(adev); +	int r; + +	r = amdgpu_ib_ring_tests(adev); +	if (r) +		DRM_ERROR("ib ring test failed (%d).\n", r);  }  /** | 
