[Intel-gfx] [PATCH v2 1/4] drm/i915: add warning for unidle GPU
Ben Widawsky
ben at bwidawsk.net
Sun Sep 25 00:23:04 CEST 2011
When we attempt to idle the GPU we take a shortcut by checking if our
lists are empty and if so, avoid doing a synchronizing flush. The
warning will let us know if this assumption turns out to not be correct.
Cc: Chris Wilson <chris at chris-wilson.co.uk>
Signed-off-by: Ben Widawsky <ben at bwidawsk.net>
---
drivers/gpu/drm/i915/i915_gem.c | 3 ++-
drivers/gpu/drm/i915/i915_reg.h | 1 +
2 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index a546a71..61ce1b7 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -2277,7 +2277,8 @@ i915_gpu_idle(struct drm_device *dev)
lists_empty = (list_empty(&dev_priv->mm.flushing_list) &&
list_empty(&dev_priv->mm.active_list));
- if (lists_empty)
+ if (lists_empty) {
+ WARN_ON(!(I915_READ(MI_MODE) & MI_RINGS_IDLE));
return 0;
/* Flush everything onto the inactive list. */
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 542453f..68af365 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -372,6 +372,7 @@
#define MI_MODE 0x0209c
# define VS_TIMER_DISPATCH (1 << 6)
+# define MI_RINGS_IDLE (1 << 9)
# define MI_FLUSH_ENABLE (1 << 11)
#define GFX_MODE 0x02520
--
1.7.6.3
More information about the Intel-gfx
mailing list