From 51926bdcdf4502dd1ca69c99eaa32df317cfb9f1 Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Thu, 17 Jan 2013 18:42:56 -0500 Subject: [PATCH] drm/radeon: don't attempt to soft reset DMA ring on r6xx Does not seem to work reliably. Fixes hangs when attempting to soft reset the DMA ring. Reported-by: Shuah Khan Signed-off-by: Alex Deucher --- drivers/gpu/drm/radeon/r600.c | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c index 3cb9d60..6661b93 100644 --- a/drivers/gpu/drm/radeon/r600.c +++ b/drivers/gpu/drm/radeon/r600.c @@ -1450,9 +1450,12 @@ bool r600_dma_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring) int r600_asic_reset(struct radeon_device *rdev) { - return r600_gpu_soft_reset(rdev, (RADEON_RESET_GFX | - RADEON_RESET_COMPUTE | - RADEON_RESET_DMA)); + u32 reset_mask = RADEON_RESET_GFX | RADEON_RESET_COMPUTE; + + if (rdev->family >= CHIP_RV770) + reset_mask |= RADEON_RESET_DMA; + + return r600_gpu_soft_reset(rdev, reset_mask); } u32 r6xx_remap_render_backend(struct radeon_device *rdev, -- 1.7.7.5