diff options
-rw-r--r-- | drivers/gpu/drm/i915/i915_debugfs.c | 10 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.h | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_irq.c | 2 |
3 files changed, 9 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c index 4568e7d8a060..8afc0dd7de64 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c | |||
@@ -655,10 +655,12 @@ static void i915_ring_error_state(struct seq_file *m, | |||
655 | if (INTEL_INFO(dev)->gen >= 6) { | 655 | if (INTEL_INFO(dev)->gen >= 6) { |
656 | seq_printf(m, " RC PSMI: 0x%08x\n", error->rc_psmi[ring]); | 656 | seq_printf(m, " RC PSMI: 0x%08x\n", error->rc_psmi[ring]); |
657 | seq_printf(m, " FAULT_REG: 0x%08x\n", error->fault_reg[ring]); | 657 | seq_printf(m, " FAULT_REG: 0x%08x\n", error->fault_reg[ring]); |
658 | seq_printf(m, " SYNC_0: 0x%08x\n", | 658 | seq_printf(m, " SYNC_0: 0x%08x [last synced 0x%08x]\n", |
659 | error->semaphore_mboxes[ring][0]); | 659 | error->semaphore_mboxes[ring][0], |
660 | seq_printf(m, " SYNC_1: 0x%08x\n", | 660 | error->semaphore_seqno[ring][0]); |
661 | error->semaphore_mboxes[ring][1]); | 661 | seq_printf(m, " SYNC_1: 0x%08x [last synced 0x%08x]\n", |
662 | error->semaphore_mboxes[ring][1], | ||
663 | error->semaphore_seqno[ring][1]); | ||
662 | } | 664 | } |
663 | seq_printf(m, " seqno: 0x%08x\n", error->seqno[ring]); | 665 | seq_printf(m, " seqno: 0x%08x\n", error->seqno[ring]); |
664 | seq_printf(m, " waiting: %s\n", yesno(error->waiting[ring])); | 666 | seq_printf(m, " waiting: %s\n", yesno(error->waiting[ring])); |
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index 45491c1ac7de..79589bbff3db 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h | |||
@@ -197,6 +197,7 @@ struct drm_i915_error_state { | |||
197 | u32 instdone[I915_NUM_RINGS]; | 197 | u32 instdone[I915_NUM_RINGS]; |
198 | u32 acthd[I915_NUM_RINGS]; | 198 | u32 acthd[I915_NUM_RINGS]; |
199 | u32 semaphore_mboxes[I915_NUM_RINGS][I915_NUM_RINGS - 1]; | 199 | u32 semaphore_mboxes[I915_NUM_RINGS][I915_NUM_RINGS - 1]; |
200 | u32 semaphore_seqno[I915_NUM_RINGS][I915_NUM_RINGS - 1]; | ||
200 | u32 rc_psmi[I915_NUM_RINGS]; /* sleep state */ | 201 | u32 rc_psmi[I915_NUM_RINGS]; /* sleep state */ |
201 | /* our own tracking of ring head and tail */ | 202 | /* our own tracking of ring head and tail */ |
202 | u32 cpu_ring_head[I915_NUM_RINGS]; | 203 | u32 cpu_ring_head[I915_NUM_RINGS]; |
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c index 2604867e6b7d..6cd3dc94b472 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c | |||
@@ -1120,6 +1120,8 @@ static void i915_record_ring_state(struct drm_device *dev, | |||
1120 | = I915_READ(RING_SYNC_0(ring->mmio_base)); | 1120 | = I915_READ(RING_SYNC_0(ring->mmio_base)); |
1121 | error->semaphore_mboxes[ring->id][1] | 1121 | error->semaphore_mboxes[ring->id][1] |
1122 | = I915_READ(RING_SYNC_1(ring->mmio_base)); | 1122 | = I915_READ(RING_SYNC_1(ring->mmio_base)); |
1123 | error->semaphore_seqno[ring->id][0] = ring->sync_seqno[0]; | ||
1124 | error->semaphore_seqno[ring->id][1] = ring->sync_seqno[1]; | ||
1123 | } | 1125 | } |
1124 | 1126 | ||
1125 | if (INTEL_INFO(dev)->gen >= 4) { | 1127 | if (INTEL_INFO(dev)->gen >= 4) { |