summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2011-06-09 10:06:08 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2011-06-09 10:12:08 +0100
commit6141b1aea159759e7e9dcf2561deb9d8c02bd0a2 (patch)
treec69efbd53acab3a70d25e5101a598872356f8da8
parent1786d2ee03a190ebe242ac7b58bed7cc31d66b16 (diff)
sna: Warn after detecting a hung GPU
...and include the instructional error message from uxa. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/kgem.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index 1c88e7f6..2c61d2cc 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -912,7 +912,18 @@ void _kgem_submit(struct kgem *kgem)
void kgem_throttle(struct kgem *kgem)
{
+ static int warned;
+
kgem->wedged |= drmCommandNone(kgem->fd, DRM_I915_GEM_THROTTLE) == -EIO;
+
+ if (kgem->wedged && !warned) {
+ struct sna *sna = container_of(kgem, struct sna, kgem);
+ xf86DrvMsg(sna->scrn->scrnIndex, X_ERROR,
+ "Detected a hung GPU, disabling acceleration.\n");
+ xf86DrvMsg(sna->scrn->scrnIndex, X_ERROR,
+ "When reporting this, please include i915_error_state from debugfs and the full dmesg.\n");
+ warned = 1;
+ }
}
bool kgem_needs_expire(struct kgem *kgem)