diff options
author | Dave Airlie <airlied@redhat.com> | 2013-01-21 13:24:12 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2013-01-21 13:24:12 +1000 |
commit | a3f5aed42f64878ad98006e27492255381bba061 (patch) | |
tree | d9dbee246d96b003572eb011609cdf021cc4e0c4 /drivers/gpu/drm/radeon/si.c | |
parent | 7b4cf994e4c6ba48872bb25253cc393b7fb74c82 (diff) | |
parent | 20707874fd4fd37e09513f508e642fa8bd06365a (diff) | |
download | op-kernel-dev-a3f5aed42f64878ad98006e27492255381bba061.zip op-kernel-dev-a3f5aed42f64878ad98006e27492255381bba061.tar.gz |
Merge branch 'drm-fixes-3.8' of git://people.freedesktop.org/~agd5f/linux into drm-next
A number of fixes, and one revert for a patch having some wierd side effects.
* 'drm-fixes-3.8' of git://people.freedesktop.org/~agd5f/linux:
Revert "drm/radeon: do not move bo to different placement at each cs"
drm/radeon: improve semaphore debugging on lockup
drm/radeon: allow FP16 color clear registers on r500
drm/radeon: clear reset flags if engines are idle
Diffstat (limited to 'drivers/gpu/drm/radeon/si.c')
-rw-r--r-- | drivers/gpu/drm/radeon/si.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/si.c b/drivers/gpu/drm/radeon/si.c index 3240a3d..ae8b482 100644 --- a/drivers/gpu/drm/radeon/si.c +++ b/drivers/gpu/drm/radeon/si.c @@ -2215,6 +2215,12 @@ static int si_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; |