diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2013-01-18 13:05:39 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2013-01-31 16:24:49 -0500 |
commit | 410a3418a88cc1273a281d347687f736fc39dd86 (patch) | |
tree | 9057195495a9f1ae1fa128c27b0fdfb09077d224 /drivers/gpu/drm/radeon/evergreen.c | |
parent | 9ff0744c6d7745c331a484a937160f4c2c056923 (diff) |
drm/radeon: add a bios scratch asic hung helper
Used by all asic families from r600+.
Flag for the vbios and later instances of the driver
that the GPU is hung.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/evergreen.c')
-rw-r--r-- | drivers/gpu/drm/radeon/evergreen.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/evergreen.c b/drivers/gpu/drm/radeon/evergreen.c index a1e12bf2d0f7..dd1d188376bf 100644 --- a/drivers/gpu/drm/radeon/evergreen.c +++ b/drivers/gpu/drm/radeon/evergreen.c @@ -2433,6 +2433,8 @@ static int evergreen_gpu_soft_reset(struct radeon_device *rdev, u32 reset_mask) dev_info(rdev->dev, "GPU softreset: 0x%08X\n", reset_mask); + r600_set_bios_scratch_engine_hung(rdev, true); + evergreen_mc_stop(rdev, &save); if (evergreen_mc_wait_for_idle(rdev)) { dev_warn(rdev->dev, "Wait for MC idle timedout !\n"); @@ -2448,6 +2450,9 @@ static int evergreen_gpu_soft_reset(struct radeon_device *rdev, u32 reset_mask) udelay(50); evergreen_mc_resume(rdev, &save); + + r600_set_bios_scratch_engine_hung(rdev, false); + return 0; } |