projects
/
linux-2.6-block.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
drm/radeon: clear reset flags if engines are idle
[linux-2.6-block.git]
/
drivers
/
gpu
/
drm
/
radeon
/
si.c
diff --git
a/drivers/gpu/drm/radeon/si.c
b/drivers/gpu/drm/radeon/si.c
index 3240a3d64f3066d610b623c1e5d48269faf419ab..ae8b48205a6c10257de328c0b669628436e8b0a0 100644
(file)
--- 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;