aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
diff options
context:
space:
mode:
authorShaoyun Liu <Shaoyun.Liu@amd.com>2018-07-11 22:32:55 -0400
committerOded Gabbay <oded.gabbay@gmail.com>2018-07-11 22:32:55 -0400
commit5c6dd71e597f33d517710affe3b8d8de253bc86d (patch)
tree57caaa5627f6978faf7ab1ef7a9e664ab42f244e /drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
parente3b7a967743c2e10457442ffafcb715a41255f28 (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.c5
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);