diff options
author | Shaoyun Liu <Shaoyun.Liu@amd.com> | 2018-07-11 22:32:55 -0400 |
---|---|---|
committer | Oded Gabbay <oded.gabbay@gmail.com> | 2018-07-11 22:32:55 -0400 |
commit | 5c6dd71e597f33d517710affe3b8d8de253bc86d (patch) | |
tree | 57caaa5627f6978faf7ab1ef7a9e664ab42f244e /drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | |
parent | e3b7a967743c2e10457442ffafcb715a41255f28 (diff) |
drm/amdgpu: Call KFD reset handlers during GPU reset
Signed-off-by: Shaoyun Liu <Shaoyun.Liu@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_device.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index ec53d8f96d06..b895584bb99f 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | |||
@@ -3307,6 +3307,9 @@ int amdgpu_device_gpu_recover(struct amdgpu_device *adev, | |||
3307 | atomic_inc(&adev->gpu_reset_counter); | 3307 | atomic_inc(&adev->gpu_reset_counter); |
3308 | adev->in_gpu_reset = 1; | 3308 | adev->in_gpu_reset = 1; |
3309 | 3309 | ||
3310 | /* Block kfd */ | ||
3311 | amdgpu_amdkfd_pre_reset(adev); | ||
3312 | |||
3310 | /* block TTM */ | 3313 | /* block TTM */ |
3311 | resched = ttm_bo_lock_delayed_workqueue(&adev->mman.bdev); | 3314 | resched = ttm_bo_lock_delayed_workqueue(&adev->mman.bdev); |
3312 | 3315 | ||
@@ -3363,6 +3366,8 @@ int amdgpu_device_gpu_recover(struct amdgpu_device *adev, | |||
3363 | dev_info(adev->dev, "GPU reset(%d) succeeded!\n",atomic_read(&adev->gpu_reset_counter)); | 3366 | dev_info(adev->dev, "GPU reset(%d) succeeded!\n",atomic_read(&adev->gpu_reset_counter)); |
3364 | } | 3367 | } |
3365 | 3368 | ||
3369 | /*unlock kfd */ | ||
3370 | amdgpu_amdkfd_post_reset(adev); | ||
3366 | amdgpu_vf_error_trans_all(adev); | 3371 | amdgpu_vf_error_trans_all(adev); |
3367 | adev->in_gpu_reset = 0; | 3372 | adev->in_gpu_reset = 0; |
3368 | mutex_unlock(&adev->lock_reset); | 3373 | mutex_unlock(&adev->lock_reset); |