summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2009-10-05 10:38:05 -0700
committerEric Anholt <eric@anholt.net>2009-10-05 13:19:57 -0700
commit33c488e83676d26e69145ea615f75ca52768f400 (patch)
tree774973a25dca1808f5668859840f6f64c7ee107d
parent2370af32fe31bed8e5715639023635bdb3b83b1b (diff)
Remove error state dumping code.
This is replaced by intel_gpu_dump, and would no longer be used once UMS is gone.
-rw-r--r--src/i830_accel.c4
-rw-r--r--src/i830_debug.c784
-rw-r--r--src/i830_debug.h3
-rw-r--r--src/i830_driver.c5
-rw-r--r--src/i965_video.c2
5 files changed, 1 insertions, 797 deletions
diff --git a/src/i830_accel.c b/src/i830_accel.c
index abefa559..08e84f7f 100644
--- a/src/i830_accel.c
+++ b/src/i830_accel.c
@@ -105,10 +105,6 @@ I830WaitLpRing(ScrnInfoPtr pScrn, int n, int timeout_millis)
} else if (now - start > timeout_millis) {
ErrorF("Error in I830WaitLpRing(), timeout for %d seconds\n",
timeout_millis/1000);
- if (IS_I965G(pI830))
- i965_dump_error_state(pScrn);
- else
- i830_dump_error_state(pScrn);
ErrorF("space: %d wanted %d\n", ring->space, n);
pI830->uxa_driver = NULL;
FatalError("lockup\n");
diff --git a/src/i830_debug.c b/src/i830_debug.c
index eae141b6..68ff8604 100644
--- a/src/i830_debug.c
+++ b/src/i830_debug.c
@@ -1754,787 +1754,3 @@ void i830DumpRegs (ScrnInfoPtr pScrn)
}
xf86DrvMsg (pScrn->scrnIndex, X_INFO, "DumpRegsEnd\n");
}
-
-#ifndef REG_DUMPER
-
-static char *mi_cmds[0x40] = {
- "MI_NOOP", /* 00 */
- "Reserved 01",
- "MI_USER_INTERRUPT",
- "MI_WAIT_FOR_EVENT",
-
- "MI_FLUSH", /* 04 */
- "MI_ARB_CHECK",
- NULL,
- "MI_REPORT_HEAD",
-
- NULL, /* 08 */
- NULL,
- "MI_BATCH_BUFFER_END",
- NULL,
-
- NULL, /* 0c */
- NULL,
- NULL,
- NULL,
-
- NULL, /* 10 */
- "MI_OVERLAY_FLIP",
- "MI_LOAD_SCAN_LINES_INCL",
- "MI_LOAD_SCAN_LINES_EXCL",
-
- "MI_DISPLAY_BUFFER_INFO", /* 14 */
- NULL,
- NULL,
- NULL,
-
- "MI_SET_CONTEXT", /* 18 */
- NULL,
- NULL,
- NULL,
-
- NULL, /* 1c */
- NULL,
- NULL,
- NULL,
-
- "MI_STORE_DATA_IMM", /* 20 */
- "MI_STORE_DATA_INDEX",
- "MI_LOAD_REGISTER_IMM",
- NULL,
-
- "MI_STORE_REGISTER_MEM", /* 24 */
- NULL,
- NULL,
- NULL,
-
- NULL, /* 28 */
- NULL,
- NULL,
- NULL,
-
- NULL, /* 2c */
- NULL,
- NULL,
- NULL,
-
- NULL, /* 30 */
- "MI_BATCH_BUFFER_START",
- NULL,
- NULL,
-
- NULL, /* 34 */
- NULL,
- NULL,
- NULL,
-
- NULL, /* 38 */
- NULL,
- NULL,
- NULL,
-
- NULL, /* 3c */
- NULL,
- NULL,
- NULL,
-};
-
-static char *_2d_cmds[0x80] = {
- NULL, /* 00 */
- "XY_SETUP_BLT",
- NULL,
- "XY_SETUP_CLIP_BLT",
-
- NULL, /* 04 */
- NULL,
- NULL,
- NULL,
-
- NULL, /* 08 */
- NULL,
- NULL,
- NULL,
-
- NULL, /* 0c */
- NULL,
- NULL,
- NULL,
-
- NULL, /* 10 */
- "XY_SETUP_MONO_PATTERN_SL_BLT",
- NULL,
- NULL,
-
- NULL, /* 14 */
- NULL,
- NULL,
- NULL,
-
- NULL, /* 18 */
- NULL,
- NULL,
- NULL,
-
- NULL, /* 1c */
- NULL,
- NULL,
- NULL,
-
- NULL, /* 20 */
- NULL,
- NULL,
- NULL,
-
- "XY_PIXEL_BLT", /* 24 */
- "XY_SCANLINE_BLT",
- "XY_TEXT_BLT",
- NULL,
-
- NULL, /* 28 */
- NULL,
- NULL,
- NULL,
-
- NULL, /* 2c */
- NULL,
- NULL,
- NULL,
-
- NULL, /* 30 */
- "XY_TEXT_IMMEDIATE_BLT",
- NULL,
- NULL,
-
- NULL, /* 34 */
- NULL,
- NULL,
- NULL,
-
- NULL, /* 38 */
- NULL,
- NULL,
- NULL,
-
- NULL, /* 3c */
- NULL,
- NULL,
- NULL,
-
- "COLOR_BLT", /* 40 */
- NULL,
- NULL,
- "SRC_COPY_BLT",
-
- NULL, /* 44 */
- NULL,
- NULL,
- NULL,
-
- NULL, /* 48 */
- NULL,
- NULL,
- NULL,
-
- NULL, /* 4c */
- NULL,
- NULL,
- NULL,
-
- "XY_COLOR_BLT", /* 50 */
- "XY_PAT_BLT",
- "XY_MONO_PAT_BLT",
- "XY_SRC_COPY_BLT",
-
- "XY_MONO_SRC_COPY_BLT", /* 54 */
- "XY_FULL_BLT",
- "XY_FULL_MONO_SRC_BLT",
- "XY_FULL_MONO_PATTERN_BLT",
-
- "XY_FULL_MONO_PATTERN_MONO_SRC_BLT", /* 58 */
- "XY_MONO_PAT_FIXED_BLT",
- NULL,
- NULL,
-
- NULL, /* 5c */
- NULL,
- NULL,
- NULL,
-
- NULL, /* 60 */
- NULL,
- NULL,
- NULL,
-
- NULL, /* 64 */
- NULL,
- NULL,
- NULL,
-
- NULL, /* 68 */
- NULL,
- NULL,
- NULL,
-
- NULL, /* 6c */
- NULL,
- NULL,
- NULL,
-
- NULL, /* 70 */
- "XY_MONO_SRC_COPY_IMMEDIATE_BLT",
- "XY_PAT_BLT_IMMEDIATE",
- "XY_SRC_COPY_CHROMA_BLT",
-
- "XY_FULL_IMMEDIATE_PATTERN_BLT", /* 74 */
- "XY_FULL_MONO_SRC_IMMEDIATE_PATTERN_BLT",
- "XY_PAT_CHROMA_BLT",
- "XY_PAT_CHROMA_BLT_IMMEDIATE",
-
- NULL, /* 78 */
- NULL,
- NULL,
- NULL,
-
- NULL, /* 7c */
- NULL,
- NULL,
- NULL,
-
-};
-
-#define _3D_ONE_WORD 1
-
-static struct {
- char *name;
- int flags;
-} _3d_cmds[0x4][0x8][0x100] = {
- { /* Pipeline Type 00 (Common) */
- { /* Opcode 0 */
- { "URB_FENCE", 0 }, /* 00 */
- { "CS_URB_STATE", 0 },
- { "CONSTANT_BUFFER", 0 },
- { "STATE_PREFETCH", 0 },
- },
- { /* Opcode 1 */
- { NULL, 0 }, /* 00 */
- { "STATE_BASE_ADDRESS", 0 },
- { "STATE_SIP", 0 },
- { NULL, 0 },
-
- { "PIPELINE_SELECT", _3D_ONE_WORD }, /* 04 */
- },
- },
- { /* Pipeline Type 01 (Single DW) */
- { /* Opcode 0 */
- },
- { /* Opcode 1 */
- { NULL, 0 }, /* 00 */
- { NULL, 0 },
- { NULL, 0 },
- { NULL, 0 },
-
- { "PIPELINE_SELECT", 0 }, /* 04 */
- { NULL, 0 },
- { NULL, 0 },
- { NULL, 0 },
- },
- },
- { /* Pipeline Type 02 (Media) */
- { /* Opcode 0 */
- { "MEDIA_STATE_POINTERS", 0 }, /* 00 */
- },
- { /* Opcode 1 */
- { "MEDIA_OBJECT", 0 }, /* 00 */
- { "MEDIA_OBJECT_EX", 0 },
- { "MEDIA_OBJECT_PTR", 0 },
- },
- },
- { /* Pipeline Type 03 (3D) */
- { /* Opcode 0 */
- { "3DSTATE_PIPELINED_POINTERS", 0 }, /* 00 */
- { "3DSTATE_BINDING_TABLE_POINTERS", 0 },
- { NULL, 0 },
- { NULL, 0 },
-
- { NULL, 0 }, /* 04 */
- { "3DSTATE_URB", 0 },
- { NULL, 0 },
- { NULL, 0 },
-
- { "3DSTATE_VERTEX_BUFFERS", 0 }, /* 08 */
- { "3DSTATE_VERTEX_ELEMENTS", 0 },
- { "3DSTATE_INDEX_BUFFER", 0 },
- { "3DSTATE_VF_STATISTICS", _3D_ONE_WORD },
-
- { NULL, 0 }, /* 0c */
- { "3DSTATE_VIEWPORT_STATE_POINTERS", 0 },
- },
- { /* Opcode 1 */
- { "3DSTATE_DRAWING_RECTANGLE", 0 }, /* 00 */
- { "3DSTATE_CONSTANT_COLOR", 0 },
- { "3DSTATE_SAMPLER_PALETTE_LOAD0", 0 },
- { NULL, 0 },
-
- { "3DSTATE_CHROMA_KEY", 0 }, /* 04 */
- { "3DSTATE_DEPTH_BUFFER", 0 },
- { "3DSTATE_POLY_STIPPLE_OFFSET", 0 },
- { "3DSTATE_POLY_STIPPLE_PATTERN", 0 },
-
- { "3DSTATE_LINE_STIPPLE", 0 }, /* 08 */
- { "3DSTATE_GLOBAL_DEPTH_OFFSET_CLAMP", 0 },
- },
- { /* Opcode 2 */
- { "PIPE_CONTROL", 0 }, /* 00 */
- },
- { /* Opcode 3 */
- { "3DPRIMITIVE", 0 }, /* 00 */
- },
- },
-};
-
-static int
-i830_valid_command (uint32_t cmd)
-{
- uint32_t type = (cmd >> 29) & 0x7;
- uint32_t pipeline_type;
- uint32_t opcode;
- uint32_t subopcode;
- uint32_t count;
-
- switch (type) {
- case 0: /* Memory Interface */
- opcode = (cmd >> 23) & 0x3f;
- if (opcode < 0x10)
- count = 1;
- else
- count = (cmd & 0x3f) + 2;
- if (opcode == 0x00 && cmd != 0x00000000)
- return -1;
- if (!mi_cmds[opcode])
- return -1;
- break;
- case 1:
- return -1;
- case 2: /* 2D */
- count = (cmd & 0x1f) + 2;
- opcode = (cmd >> 22) & 0x7f;
- if (!_2d_cmds[opcode])
- return -1;
- break;
- case 3: /* 3D */
- pipeline_type = (cmd >> 27) & 0x3;
- opcode = (cmd >> 24) & 0x7;
- subopcode = (cmd >> 16) & 0xff;
- if (_3d_cmds[pipeline_type][opcode][subopcode].flags & _3D_ONE_WORD)
- count = 1;
- else
- count = (cmd & 0xff) + 2;
- if (!_3d_cmds[pipeline_type][opcode][subopcode].name)
- return -1;
- break;
- default:
- return -1;
- }
- return count;
-}
-
-static int
-i830_dump_cmd (uint32_t cmd, int count)
-{
- uint32_t type = (cmd >> 29) & 0x7;
- uint32_t pipeline_type;
- uint32_t opcode;
- uint32_t subopcode;
- int ret = 1;
-
- ErrorF ("\t");
- switch (type) {
- case 0: /* Memory Interface */
- opcode = (cmd >> 23) & 0x3f;
- if (mi_cmds[opcode])
- ErrorF ("%-40.40s %d\n", mi_cmds[opcode], count);
- else
- ErrorF ("Memory Interface Reserved\n");
- break;
- case 1:
- break;
- case 2: /* 2D */
- opcode = (cmd >> 22) & 0x7f;
- if (_2d_cmds[opcode])
- ErrorF ("%-40.40s %d\n", _2d_cmds[opcode], count);
- else
- ErrorF ("2D Reserved\n");
- break;
- case 3: /* 3D */
- pipeline_type = (cmd >> 27) & 0x3;
- opcode = (cmd >> 24) & 0x7;
- subopcode = (cmd >> 16) & 0xff;
- if (_3d_cmds[pipeline_type][opcode][subopcode].name) {
- ErrorF ("%-40.40s %d\n",
- _3d_cmds[pipeline_type][opcode][subopcode].name,
- count);
- } else {
- ErrorF ("3D/Media Reserved (pipe %d op %d sub %d)\n", pipeline_type, opcode, subopcode);
- }
- break;
- default:
- ErrorF ("Reserved\n");
- break;
- }
- return ret;
-}
-
-static int
-i830_valid_chain (ScrnInfoPtr pScrn, unsigned int ring, unsigned int end)
-{
- I830Ptr pI830 = I830PTR(pScrn);
- unsigned int head, tail, mask;
- volatile unsigned char *virt;
- uint32_t data;
- int count;
- volatile uint32_t *ptr;
-
- head = (INREG (LP_RING + RING_HEAD)) & I830_HEAD_MASK;
- tail = INREG (LP_RING + RING_TAIL) & I830_TAIL_MASK;
- mask = pI830->ring.tail_mask;
-
- virt = pI830->ring.virtual_start;
- ErrorF ("Ring at virtual %p head 0x%x tail 0x%x count %d\n",
- virt, head, tail, (((tail + mask + 1) - head) & mask) >> 2);
-
- for (;;)
- {
- ptr = (volatile uint32_t *) (virt + ring);
- data = *ptr;
- count = i830_valid_command (data);
- if (count < 0)
- return 0;
- while (count > 0 && ring != end)
- {
- ring = (ring + 4) & mask;
- count--;
- }
- if (ring == end) {
- if (count == 0)
- return 1;
- else
- return 0;
- }
- }
-}
-
-static void
-i830_dump_cmds (ScrnInfoPtr pScrn,
- volatile unsigned char *virt,
- uint32_t start,
- uint32_t stop,
- uint32_t mask,
- uint32_t acthd)
-{
- I830Ptr pI830 = I830PTR(pScrn);
- uint32_t ring = start;
- uint32_t cmd = start;
- uint32_t data;
- uint32_t batch_start_mask = ((0x7 << 29) |
- (0x3f << 23) |
- (0x7ff << 12) |
- (1 << 11) |
- (1 << 7) |
- (1 << 6) |
- (0x3f << 0));
- uint32_t batch_start_cmd = ((0x0 << 29) |
- (0x31 << 23) |
- (0x00 << 12) |
- (0 << 11) |
- (1 << 7) |
- (0 << 6) |
- (0 << 0));
- int count;
- volatile uint32_t *ptr;
-
- while (ring != stop)
- {
- if (ring == acthd)
- ErrorF ("****");
- ErrorF ("\t%08x: %08x", ring, *(volatile unsigned int *) (virt + ring));
- if (ring == cmd)
- {
- ptr = (volatile uint32_t *) (virt + ring);
- data = *ptr;
- count = i830_valid_command (data);
- i830_dump_cmd (data, count);
-
- /* check for MI_BATCH_BUFFER_END */
- if (data == (0x0a << 23))
- stop = (ring + 4) & mask;
- /* check for MI_BATCH_BUFFER_START */
- if ((data & batch_start_mask) == batch_start_cmd)
- {
- uint32_t batch = ptr[1] & ~3;
- if (batch < pI830->FbMapSize) {
- ErrorF ("\t%08x: %08x\n", (ring + 4) & mask, batch);
- ErrorF ("Batch buffer at 0x%08x {\n", batch);
- i830_dump_cmds (pScrn, pI830->FbBase, batch,
- batch + 256, 0xffffffff, acthd);
- ErrorF ("}\n");
- ring = (ring + (count - 1) * 4) & mask;
- }
- }
- cmd = (cmd + count * 4) & mask;
- } else
- ErrorF ("\n");
- ring = (ring + 4) & mask;
- }
-}
-
-static void
-i830_dump_ring(ScrnInfoPtr pScrn, uint32_t acthd)
-{
- I830Ptr pI830 = I830PTR(pScrn);
- unsigned int head, tail, mask, cmd;
- volatile unsigned char *virt;
-
- head = (INREG (LP_RING + RING_HEAD)) & I830_HEAD_MASK;
- tail = INREG (LP_RING + RING_TAIL) & I830_TAIL_MASK;
- mask = pI830->ring.tail_mask;
-
- virt = pI830->ring.virtual_start;
- ErrorF ("Ring at virtual %p head 0x%x tail 0x%x count %d acthd 0x%x\n",
- virt, head, tail, (((tail + mask + 1) - head) & mask) >> 2, acthd);
-
- /* walk back by instructions */
- for (cmd = (head - 256) & mask;
- cmd != (head & mask);
- cmd = (cmd + 4) & mask)
- {
- if (i830_valid_chain (pScrn, cmd, (head & mask)))
- break;
- }
-
- i830_dump_cmds (pScrn, virt, cmd, head, mask, acthd);
-
- ErrorF ("Ring end\n");
-}
-
-/* Famous last words
- */
-void
-i830_dump_error_state(ScrnInfoPtr pScrn)
-{
- I830Ptr pI830 = I830PTR(pScrn);
-
- ErrorF("pgetbl_ctl: 0x%08x getbl_err: 0x%08x\n",
- INREG(PGETBL_CTL), INREG(PGE_ERR));
-
- ErrorF("ipeir: 0x%08x iphdr: 0x%08x\n", INREG(IPEIR), INREG(IPEHR));
-
- ErrorF("LP ring tail: 0x%08x head: 0x%08x len: 0x%08x start 0x%08x\n",
- INREG(LP_RING + RING_TAIL),
- INREG(LP_RING + RING_HEAD) & HEAD_ADDR,
- INREG(LP_RING + RING_LEN),
- INREG(LP_RING + RING_START));
-
- ErrorF("eir: 0x%04x esr: 0x%04x emr: 0x%04x\n",
- INREG16(EIR), INREG16(ESR), INREG16(EMR));
-
- ErrorF("instdone: 0x%04x instpm: 0x%04x\n",
- INREG16(INST_DONE), INREG8(INST_PM));
-
- ErrorF("memmode: 0x%08x instps: 0x%08x\n",
- INREG(MEMMODE), INREG(INST_PS));
-
- ErrorF("hwstam: 0x%04x ier: 0x%04x imr: 0x%04x iir: 0x%04x\n",
- INREG16(HWSTAM), INREG16(IER), INREG16(IMR), INREG16(IIR));
- i830_dump_ring (pScrn, INREG(ACTHD));
-}
-
-void
-i965_dump_error_state(ScrnInfoPtr pScrn)
-{
- I830Ptr pI830 = I830PTR(pScrn);
- uint32_t acthd;
-
- ErrorF("pgetbl_ctl: 0x%08x pgetbl_err: 0x%08x\n",
- INREG(PGETBL_CTL), INREG(PGE_ERR));
-
- ErrorF("ipeir: 0x%08x iphdr: 0x%08x\n",
- INREG(IPEIR_I965), INREG(IPEHR_I965));
-
- ErrorF("LP ring tail: 0x%08x head: %x len: 0x%08x start 0x%08x\n",
- INREG(LP_RING + RING_TAIL),
- INREG(LP_RING + RING_HEAD) & HEAD_ADDR,
- INREG(LP_RING + RING_LEN),
- INREG(LP_RING + RING_START));
-
- ErrorF("Err ID (eir): 0x%08x\n"
- "Err Status (esr): 0x%08x\n"
- "Err Mask (emr): 0x%08x\n",
- INREG(EIR), INREG(ESR), INREG(EMR));
-
- ErrorF("instdone: 0x%08x instdone_1: 0x%08x\n",
- INREG(INST_DONE_I965), INREG(INST_DONE_1));
- ErrorF("instpm: 0x%08x\n", INREG(INST_PM));
-
- ErrorF("memmode: 0x%08x instps: 0x%08x\n",
- INREG(MEMMODE), INREG(INST_PS_I965));
-
- ErrorF("HW Status mask (hwstam): 0x%08x\nIRQ enable (ier): 0x%08x "
- "imr: 0x%08x iir: 0x%08x\n",
- INREG(HWSTAM), INREG(IER), INREG(IMR), INREG(IIR));
-
- acthd = INREG(ACTHD_I965);
- ErrorF("acthd: 0x%08x dma_fadd_p: 0x%08x\n",
- acthd, INREG(DMA_FADD_P));
- ErrorF("ecoskpd: 0x%08x excc: 0x%08x\n",
- INREG(ECOSKPD), INREG(EXCC));
-
- ErrorF("cache_mode: 0x%08x/0x%08x\n", INREG(CACHE_MODE_0),
- INREG(CACHE_MODE_1));
- ErrorF("mi_arb_state: 0x%08x\n", INREG(MI_ARB_STATE));
-
- ErrorF("IA_VERTICES_COUNT_QW 0x%08x/0x%08x\n",
- INREG(IA_VERTICES_COUNT_QW),
- INREG(IA_VERTICES_COUNT_QW+4));
- ErrorF("IA_PRIMITIVES_COUNT_QW 0x%08x/0x%08x\n",
- INREG(IA_PRIMITIVES_COUNT_QW),
- INREG(IA_PRIMITIVES_COUNT_QW+4));
-
- ErrorF("VS_INVOCATION_COUNT_QW 0x%08x/0x%08x\n",
- INREG(VS_INVOCATION_COUNT_QW),
- INREG(VS_INVOCATION_COUNT_QW+4));
-
- ErrorF("GS_INVOCATION_COUNT_QW 0x%08x/0x%08x\n",
- INREG(GS_INVOCATION_COUNT_QW),
- INREG(GS_INVOCATION_COUNT_QW+4));
- ErrorF("GS_PRIMITIVES_COUNT_QW 0x%08x/0x%08x\n",
- INREG(GS_PRIMITIVES_COUNT_QW),
- INREG(GS_PRIMITIVES_COUNT_QW+4));
-
- ErrorF("CL_INVOCATION_COUNT_QW 0x%08x/0x%08x\n",
- INREG(CL_INVOCATION_COUNT_QW),
- INREG(CL_INVOCATION_COUNT_QW+4));
- ErrorF("CL_PRIMITIVES_COUNT_QW 0x%08x/0x%08x\n",
- INREG(CL_PRIMITIVES_COUNT_QW),
- INREG(CL_PRIMITIVES_COUNT_QW+4));
-
- ErrorF("PS_INVOCATION_COUNT_QW 0x%08x/0x%08x\n",
- INREG(PS_INVOCATION_COUNT_QW),
- INREG(PS_INVOCATION_COUNT_QW+4));
- ErrorF("PS_DEPTH_COUNT_QW 0x%08x/0x%08x\n",
- INREG(PS_DEPTH_COUNT_QW),
- INREG(PS_DEPTH_COUNT_QW+4));
-
- ErrorF("WIZ_CTL 0x%08x\n", INREG(WIZ_CTL));
- ErrorF("TS_CTL 0x%08x TS_DEBUG_DATA 0x%08x\n", INREG(TS_CTL),
- INREG(TS_DEBUG_DATA));
- ErrorF("TD_CTL 0x%08x / 0x%08x\n",
- INREG(TD_CTL), INREG(TD_CTL2));
- i830_dump_ring (pScrn, acthd);
-}
-
-/**
- * Checks the hardware error state bits.
- *
- * \return TRUE if any errors were found.
- */
-Bool
-i830_check_error_state(ScrnInfoPtr pScrn)
-{
- I830Ptr pI830 = I830PTR(pScrn);
- int errors = 0;
- unsigned long temp, head, tail;
-
- temp = INREG16(ESR);
- if (temp != 0) {
- Bool vertex_max = !IS_I965G(pI830) && (temp & ERR_VERTEX_MAX);
- Bool pgtbl = temp & ERR_PGTBL_ERROR;
- Bool underrun = !IS_I965G(pI830) &&
- (temp & ERR_DISPLAY_OVERLAY_UNDERRUN);
- Bool instruction = !IS_I965G(pI830) && (temp & ERR_INSTRUCTION_ERROR);
-
- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
- "ESR is 0x%08lx%s%s%s%s\n", temp,
- vertex_max ? ", max vertices exceeded" : "",
- pgtbl ? ", page table error" : "",
- underrun ? ", display/overlay underrun" : "",
- instruction ? ", instruction error" : "");
- errors++;
- }
- /* Check first for page table errors */
- if (!IS_I9XX(pI830)) {
- temp = INREG(PGE_ERR);
- if (temp != 0) {
- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
- "PGTBL_ER is 0x%08lx\n", temp);
- errors++;
- }
- } else {
- temp = INREG(PGTBL_ER);
- if (temp != 0) {
- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
- "PGTBL_ER is 0x%08lx"
- "%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n", temp,
- temp & PGTBL_ERR_HOST_GTT_PTE ? ", host gtt pte" : "",
- temp & PGTBL_ERR_HOST_PTE_DATA ? ", host pte data" : "",
- temp & PGTBL_ERR_DISPA_GTT_PTE ? ", display A pte" : "",
- temp & PGTBL_ERR_DISPA_TILING ?
- ", display A tiling" : "",
- temp & PGTBL_ERR_DISPB_GTT_PTE ? ", display B pte" : "",
- temp & PGTBL_ERR_DISPB_TILING ?
- ", display B tiling" : "",
- temp & PGTBL_ERR_DISPC_GTT_PTE ? ", display C pte" : "",
- temp & PGTBL_ERR_DISPC_TILING ?
- ", display C tiling" : "",
- temp & PGTBL_ERR_OVERLAY_GTT_PTE ?
- ", overlay GTT PTE" : "",
- temp & PGTBL_ERR_OVERLAY_TILING ?
- ", overlay tiling" : "",
- temp & PGTBL_ERR_CS_GTT ? ", CS GTT" : "",
- temp & PGTBL_ERR_CS_INSTRUCTION_GTT_PTE ?
- ", CS instruction GTT PTE" : "",
- temp & PGTBL_ERR_CS_VERTEXDATA_GTT_PTE ?
- ", CS vertex data GTT PTE" : "",
- temp & PGTBL_ERR_BIN_INSTRUCTION_GTT_PTE ?
- ", BIN instruction GTT PTE" : "",
- temp & PGTBL_ERR_BIN_VERTEXDATA_GTT_PTE ?
- ", BIN vertex data GTT PTE" : "",
- temp & PGTBL_ERR_LC_GTT_PTE ? ", LC pte" : "",
- temp & PGTBL_ERR_LC_TILING ? ", LC tiling" : "",
- temp & PGTBL_ERR_MT_GTT_PTE ? ", MT pte" : "",
- temp & PGTBL_ERR_MT_TILING ? ", MT tiling" : "");
- errors++;
- }
- }
- temp = INREG(PGETBL_CTL);
- if (!(temp & 1)) {
- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
- "PGTBL_CTL (0x%08lx) indicates GTT is disabled\n", temp);
- errors++;
- }
- temp = INREG(LP_RING + RING_LEN);
- if (!pI830->have_gem && (temp & 1)) {
- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
- "PRB0_CTL (0x%08lx) indicates ring buffer enabled\n", temp);
- errors++;
- }
- head = INREG(LP_RING + RING_HEAD);
- tail = INREG(LP_RING + RING_TAIL);
- if ((tail & I830_TAIL_MASK) != (head & I830_HEAD_MASK)) {
- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
- "PRB0_HEAD (0x%08lx) and PRB0_TAIL (0x%08lx) indicate "
- "ring buffer not flushed\n", head, tail);
- errors++;
- }
-
-#if 0
- if (errors) {
- if (IS_I965G(pI830))
- i965_dump_error_state(pScrn);
- else
- i830_dump_error_state(pScrn);
- }
-#endif
-
- return (errors != 0);
-}
-#endif /* !REG_DUMPER */
diff --git a/src/i830_debug.h b/src/i830_debug.h
index 2d2e72bf..6ccd29a2 100644
--- a/src/i830_debug.h
+++ b/src/i830_debug.h
@@ -28,7 +28,4 @@
void i830TakeRegSnapshot(ScrnInfoPtr pScrn);
void i830CompareRegsToSnapshot(ScrnInfoPtr pScrn, char *where);
void i830DumpRegs (ScrnInfoPtr pScrn);
-void i830_dump_error_state(ScrnInfoPtr pScrn);
-void i965_dump_error_state(ScrnInfoPtr pScrn);
-Bool i830_check_error_state(ScrnInfoPtr pScrn);
diff --git a/src/i830_driver.c b/src/i830_driver.c
index 585eb811..f43c4766 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -2992,11 +2992,6 @@ I830EnterVT(int scrnIndex, int flags)
gen4_render_state_init(pScrn);
if (!pI830->use_drm_mode) {
- if (i830_check_error_state(pScrn)) {
- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
- "Existing errors found in hardware state.\n");
- }
-
/* Re-set up the ring. */
if (!pI830->have_gem) {
i830_stop_ring(pScrn, FALSE);
diff --git a/src/i965_video.c b/src/i965_video.c
index 423d48c9..aa0a501d 100644
--- a/src/i965_video.c
+++ b/src/i965_video.c
@@ -1242,7 +1242,7 @@ I965DisplayVideoTextured(ScrnInfoPtr pScrn, I830PortPrivPtr pPriv, int id,
drm_intel_bo_unreference(bind_bo);
#if WATCH_STATS
- i830_dump_error_state(pScrn);
+ /* i830_dump_error_state(pScrn); */
#endif
}