summaryrefslogtreecommitdiff
path: root/tools/intel_error_decode.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2010-07-15 19:18:39 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2010-07-15 19:33:00 +0100
commit2d1ad95423953c60fdc5b336d5dd1298ce2114c7 (patch)
tree2d8b679a1286d3ee0ca3dfc37e790a45a118df63 /tools/intel_error_decode.c
parentcf255e382d147fe3ca450f0dcec3525190e7dcbc (diff)
error: Decode i915 PGTBL errors
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'tools/intel_error_decode.c')
-rw-r--r--tools/intel_error_decode.c48
1 files changed, 48 insertions, 0 deletions
diff --git a/tools/intel_error_decode.c b/tools/intel_error_decode.c
index af205dc3..aaafae17 100644
--- a/tools/intel_error_decode.c
+++ b/tools/intel_error_decode.c
@@ -119,10 +119,58 @@ print_i830_pgtbl_err(unsigned int reg)
}
static void
+print_i915_pgtbl_err(unsigned int reg)
+{
+ if (reg & (1 << 29))
+ printf (" Cursor A: Invalid GTT PTE\n");
+ if (reg & (1 << 28))
+ printf (" Cursor B: Invalid GTT PTE\n");
+ if (reg & (1 << 27))
+ printf (" MT: Invalid tiling\n");
+ if (reg & (1 << 26))
+ printf (" MT: Invalid GTT PTE\n");
+ if (reg & (1 << 25))
+ printf (" LC: Invalid tiling\n");
+ if (reg & (1 << 24))
+ printf (" LC: Invalid GTT PTE\n");
+ if (reg & (1 << 23))
+ printf (" BIN VertexData: Invalid GTT PTE\n");
+ if (reg & (1 << 22))
+ printf (" BIN Instruction: Invalid GTT PTE\n");
+ if (reg & (1 << 21))
+ printf (" CS VertexData: Invalid GTT PTE\n");
+ if (reg & (1 << 20))
+ printf (" CS Instruction: Invalid GTT PTE\n");
+ if (reg & (1 << 19))
+ printf (" CS: Invalid GTT\n");
+ if (reg & (1 << 18))
+ printf (" Overlay: Invalid tiling\n");
+ if (reg & (1 << 16))
+ printf (" Overlay: Invalid GTT PTE\n");
+ if (reg & (1 << 14))
+ printf (" Display C: Invalid tiling\n");
+ if (reg & (1 << 12))
+ printf (" Display C: Invalid GTT PTE\n");
+ if (reg & (1 << 10))
+ printf (" Display B: Invalid tiling\n");
+ if (reg & (1 << 8))
+ printf (" Display B: Invalid GTT PTE\n");
+ if (reg & (1 << 6))
+ printf (" Display A: Invalid tiling\n");
+ if (reg & (1 << 4))
+ printf (" Display A: Invalid GTT PTE\n");
+ if (reg & (1 << 1))
+ printf (" Host Invalid PTE data\n");
+ if (reg & (1 << 0))
+ printf (" Host Invalid GTT PTE\n");
+}
+
+static void
print_pgtbl_err(unsigned int reg, unsigned int devid)
{
if (IS_965(devid)) {
} else if (IS_9XX(devid)) {
+ return print_i915_pgtbl_err(reg);
} else {
return print_i830_pgtbl_err(reg);
}