diff options
author | Eric Anholt <eric@anholt.net> | 2009-10-05 10:38:05 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2009-10-05 13:19:57 -0700 |
commit | 33c488e83676d26e69145ea615f75ca52768f400 (patch) | |
tree | 774973a25dca1808f5668859840f6f64c7ee107d | |
parent | 2370af32fe31bed8e5715639023635bdb3b83b1b (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.c | 4 | ||||
-rw-r--r-- | src/i830_debug.c | 784 | ||||
-rw-r--r-- | src/i830_debug.h | 3 | ||||
-rw-r--r-- | src/i830_driver.c | 5 | ||||
-rw-r--r-- | src/i965_video.c | 2 |
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 } |