drm/amdgpu: recovery hw jobs when gpu reset V3

V3: directly use pd_addr.

Signed-off-by: Chunming Zhou <David1.Zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Chunming Zhou
2016-06-30 13:56:02 +08:00
committed by Alex Deucher
parent 192b7dcbb5
commit aa1c890008
2 changed files with 5 additions and 2 deletions

View File

@@ -1946,6 +1946,7 @@ int amdgpu_gpu_reset(struct amdgpu_device *adev)
if (!ring)
continue;
kthread_park(ring->sched.thread);
amd_sched_hw_job_reset(&ring->sched);
}
/* after all hw jobs are reset, hw fence is meaningless, so force_completion */
amdgpu_fence_driver_force_completion(adev);
@@ -1990,8 +1991,9 @@ retry:
struct amdgpu_ring *ring = adev->rings[i];
if (!ring)
continue;
amd_sched_job_recovery(&ring->sched);
kthread_unpark(ring->sched.thread);
amdgpu_ring_restore(ring, ring_sizes[i], ring_data[i]);
kfree(ring_data[i]);
ring_sizes[i] = 0;
ring_data[i] = NULL;
}