diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/evergreen.c')
| -rw-r--r-- | drivers/gpu/drm/radeon/evergreen.c | 6 | 
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/evergreen.c b/drivers/gpu/drm/radeon/evergreen.c index 061fa0a2890..4d0e60adbc6 100644 --- a/drivers/gpu/drm/radeon/evergreen.c +++ b/drivers/gpu/drm/radeon/evergreen.c @@ -2401,6 +2401,12 @@ static int evergreen_gpu_soft_reset(struct radeon_device *rdev, u32 reset_mask)  {  	struct evergreen_mc_save save; +	if (!(RREG32(GRBM_STATUS) & GUI_ACTIVE)) +		reset_mask &= ~(RADEON_RESET_GFX | RADEON_RESET_COMPUTE); + +	if (RREG32(DMA_STATUS_REG) & DMA_IDLE) +		reset_mask &= ~RADEON_RESET_DMA; +  	if (reset_mask == 0)  		return 0;  |