mirror of https://gitee.com/openkylin/linux.git
drm/amdgpu: ib test first after gpu reset
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:
parent
aa1c890008
commit
1f46508721
|
@ -1987,6 +1987,16 @@ int amdgpu_gpu_reset(struct amdgpu_device *adev)
|
|||
/* restore scratch */
|
||||
amdgpu_atombios_scratch_regs_restore(adev);
|
||||
if (!r) {
|
||||
r = amdgpu_ib_ring_tests(adev);
|
||||
if (r) {
|
||||
dev_err(adev->dev, "ib ring test failed (%d).\n", r);
|
||||
if (saved) {
|
||||
saved = false;
|
||||
r = amdgpu_suspend(adev);
|
||||
goto retry;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < AMDGPU_MAX_RINGS; ++i) {
|
||||
struct amdgpu_ring *ring = adev->rings[i];
|
||||
if (!ring)
|
||||
|
@ -1997,16 +2007,6 @@ int amdgpu_gpu_reset(struct amdgpu_device *adev)
|
|||
ring_sizes[i] = 0;
|
||||
ring_data[i] = NULL;
|
||||
}
|
||||
|
||||
r = amdgpu_ib_ring_tests(adev);
|
||||
if (r) {
|
||||
dev_err(adev->dev, "ib ring test failed (%d).\n", r);
|
||||
if (saved) {
|
||||
saved = false;
|
||||
r = amdgpu_suspend(adev);
|
||||
goto retry;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
dev_err(adev->dev, "asic resume failed (%d).\n", r);
|
||||
for (i = 0; i < AMDGPU_MAX_RINGS; ++i) {
|
||||
|
|
Loading…
Reference in New Issue