- break;
- case PKT3_DRAW_INDEX_AUTO:
- si_dump_reg(f, R_030930_VGT_NUM_INDICES, ib[1], ~0);
- si_dump_reg(f, R_0287F0_VGT_DRAW_INITIATOR, ib[2], ~0);
- break;
- case PKT3_DRAW_INDEX_2:
- si_dump_reg(f, R_028A78_VGT_DMA_MAX_SIZE, ib[1], ~0);
- si_dump_reg(f, R_0287E8_VGT_DMA_BASE, ib[2], ~0);
- si_dump_reg(f, R_0287E4_VGT_DMA_BASE_HI, ib[3], ~0);
- si_dump_reg(f, R_030930_VGT_NUM_INDICES, ib[4], ~0);
- si_dump_reg(f, R_0287F0_VGT_DRAW_INITIATOR, ib[5], ~0);
- break;
- case PKT3_INDEX_TYPE:
- si_dump_reg(f, R_028A7C_VGT_DMA_INDEX_TYPE, ib[1], ~0);
- break;
- case PKT3_NUM_INSTANCES:
- si_dump_reg(f, R_030934_VGT_NUM_INSTANCES, ib[1], ~0);
- break;
- case PKT3_WRITE_DATA:
- si_dump_reg(f, R_370_CONTROL, ib[1], ~0);
- si_dump_reg(f, R_371_DST_ADDR_LO, ib[2], ~0);
- si_dump_reg(f, R_372_DST_ADDR_HI, ib[3], ~0);
- for (i = 2; i < count; i++) {
- print_spaces(f, INDENT_PKT);
- fprintf(f, "0x%08x\n", ib[2+i]);
- }
- break;
- case PKT3_CP_DMA:
- si_dump_reg(f, R_410_CP_DMA_WORD0, ib[1], ~0);
- si_dump_reg(f, R_411_CP_DMA_WORD1, ib[2], ~0);
- si_dump_reg(f, R_412_CP_DMA_WORD2, ib[3], ~0);
- si_dump_reg(f, R_413_CP_DMA_WORD3, ib[4], ~0);
- si_dump_reg(f, R_414_COMMAND, ib[5], ~0);
- break;
- case PKT3_DMA_DATA:
- si_dump_reg(f, R_500_DMA_DATA_WORD0, ib[1], ~0);
- si_dump_reg(f, R_501_SRC_ADDR_LO, ib[2], ~0);
- si_dump_reg(f, R_502_SRC_ADDR_HI, ib[3], ~0);
- si_dump_reg(f, R_503_DST_ADDR_LO, ib[4], ~0);
- si_dump_reg(f, R_504_DST_ADDR_HI, ib[5], ~0);
- si_dump_reg(f, R_414_COMMAND, ib[6], ~0);
- break;
- case PKT3_INDIRECT_BUFFER_SI:
- case PKT3_INDIRECT_BUFFER_CONST:
- case PKT3_INDIRECT_BUFFER_CIK:
- si_dump_reg(f, R_3F0_IB_BASE_LO, ib[1], ~0);
- si_dump_reg(f, R_3F1_IB_BASE_HI, ib[2], ~0);
- si_dump_reg(f, R_3F2_CONTROL, ib[3], ~0);
- break;
- case PKT3_NOP:
- if (ib[0] == 0xffff1000) {
- count = -1; /* One dword NOP. */
- break;
- } else if (count == 0 && SI_IS_TRACE_POINT(ib[1])) {
- unsigned packet_id = SI_GET_TRACE_POINT_ID(ib[1]);
-
- print_spaces(f, INDENT_PKT);
- fprintf(f, COLOR_RED "Trace point ID: %u\n", packet_id);
-
- if (trace_id == -1)
- break; /* tracing was disabled */
-
- print_spaces(f, INDENT_PKT);
- if (packet_id < trace_id)
- fprintf(f, COLOR_RED
- "This trace point was reached by the CP."
- COLOR_RESET "\n");
- else if (packet_id == trace_id)
- fprintf(f, COLOR_RED
- "!!!!! This is the last trace point that "
- "was reached by the CP !!!!!"
- COLOR_RESET "\n");
- else if (packet_id+1 == trace_id)
- fprintf(f, COLOR_RED
- "!!!!! This is the first trace point that "
- "was NOT been reached by the CP !!!!!"
- COLOR_RESET "\n");
- else
- fprintf(f, COLOR_RED
- "!!!!! This trace point was NOT reached "
- "by the CP !!!!!"
- COLOR_RESET "\n");
- break;
- }
- /* fall through, print all dwords */
- default:
- for (i = 0; i < count+1; i++) {
- print_spaces(f, INDENT_PKT);
- fprintf(f, "0x%08x\n", ib[1+i]);