diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-04-02 15:41:45 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-04-09 12:04:09 -0400 |
commit | 9d2f41fa0fd9a3e086d3c072b0113b6b9ebae06b (patch) | |
tree | 34d9a5fbced51d0c0dc9e58c7244953bc3a3a745 /drivers | |
parent | a0b1c7a5197293d6206b245b45edc3f508aadab6 (diff) |
drm/i915: dump the DMA fetch addr register on pre-gen6
It exists way back to gen2, bug got moved around on gen4 a bit.
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/drm/i915/i915_debugfs.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_irq.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_reg.h | 1 |
3 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c index d226f2f2f7bc..2a1f0d7de0f2 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c | |||
@@ -757,8 +757,8 @@ static void i915_ring_error_state(struct seq_file *m, | |||
757 | if (INTEL_INFO(dev)->gen >= 4) | 757 | if (INTEL_INFO(dev)->gen >= 4) |
758 | seq_printf(m, " INSTPS: 0x%08x\n", error->instps[ring]); | 758 | seq_printf(m, " INSTPS: 0x%08x\n", error->instps[ring]); |
759 | seq_printf(m, " INSTPM: 0x%08x\n", error->instpm[ring]); | 759 | seq_printf(m, " INSTPM: 0x%08x\n", error->instpm[ring]); |
760 | seq_printf(m, " FADDR: 0x%08x\n", error->faddr[ring]); | ||
760 | if (INTEL_INFO(dev)->gen >= 6) { | 761 | if (INTEL_INFO(dev)->gen >= 6) { |
761 | seq_printf(m, " FADDR: 0x%08x\n", error->faddr[ring]); | ||
762 | seq_printf(m, " FAULT_REG: 0x%08x\n", error->fault_reg[ring]); | 762 | seq_printf(m, " FAULT_REG: 0x%08x\n", error->fault_reg[ring]); |
763 | seq_printf(m, " SYNC_0: 0x%08x\n", | 763 | seq_printf(m, " SYNC_0: 0x%08x\n", |
764 | error->semaphore_mboxes[ring][0]); | 764 | error->semaphore_mboxes[ring][0]); |
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c index 6d76ee54278b..febddc2952fb 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c | |||
@@ -1029,7 +1029,6 @@ static void i915_record_ring_state(struct drm_device *dev, | |||
1029 | struct drm_i915_private *dev_priv = dev->dev_private; | 1029 | struct drm_i915_private *dev_priv = dev->dev_private; |
1030 | 1030 | ||
1031 | if (INTEL_INFO(dev)->gen >= 6) { | 1031 | if (INTEL_INFO(dev)->gen >= 6) { |
1032 | error->faddr[ring->id] = I915_READ(RING_DMA_FADD(ring->mmio_base)); | ||
1033 | error->fault_reg[ring->id] = I915_READ(RING_FAULT_REG(ring)); | 1032 | error->fault_reg[ring->id] = I915_READ(RING_FAULT_REG(ring)); |
1034 | error->semaphore_mboxes[ring->id][0] | 1033 | error->semaphore_mboxes[ring->id][0] |
1035 | = I915_READ(RING_SYNC_0(ring->mmio_base)); | 1034 | = I915_READ(RING_SYNC_0(ring->mmio_base)); |
@@ -1038,6 +1037,7 @@ static void i915_record_ring_state(struct drm_device *dev, | |||
1038 | } | 1037 | } |
1039 | 1038 | ||
1040 | if (INTEL_INFO(dev)->gen >= 4) { | 1039 | if (INTEL_INFO(dev)->gen >= 4) { |
1040 | error->faddr[ring->id] = I915_READ(RING_DMA_FADD(ring->mmio_base)); | ||
1041 | error->ipeir[ring->id] = I915_READ(RING_IPEIR(ring->mmio_base)); | 1041 | error->ipeir[ring->id] = I915_READ(RING_IPEIR(ring->mmio_base)); |
1042 | error->ipehr[ring->id] = I915_READ(RING_IPEHR(ring->mmio_base)); | 1042 | error->ipehr[ring->id] = I915_READ(RING_IPEHR(ring->mmio_base)); |
1043 | error->instdone[ring->id] = I915_READ(RING_INSTDONE(ring->mmio_base)); | 1043 | error->instdone[ring->id] = I915_READ(RING_INSTDONE(ring->mmio_base)); |
@@ -1047,6 +1047,7 @@ static void i915_record_ring_state(struct drm_device *dev, | |||
1047 | error->bbaddr = I915_READ64(BB_ADDR); | 1047 | error->bbaddr = I915_READ64(BB_ADDR); |
1048 | } | 1048 | } |
1049 | } else { | 1049 | } else { |
1050 | error->faddr[ring->id] = I915_READ(DMA_FADD_I8XX); | ||
1050 | error->ipeir[ring->id] = I915_READ(IPEIR); | 1051 | error->ipeir[ring->id] = I915_READ(IPEIR); |
1051 | error->ipehr[ring->id] = I915_READ(IPEHR); | 1052 | error->ipehr[ring->id] = I915_READ(IPEHR); |
1052 | error->instdone[ring->id] = I915_READ(INSTDONE); | 1053 | error->instdone[ring->id] = I915_READ(INSTDONE); |
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index 56d4db8026e3..cb554444e862 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h | |||
@@ -474,6 +474,7 @@ | |||
474 | #define INSTDONE 0x02090 | 474 | #define INSTDONE 0x02090 |
475 | #define NOPID 0x02094 | 475 | #define NOPID 0x02094 |
476 | #define HWSTAM 0x02098 | 476 | #define HWSTAM 0x02098 |
477 | #define DMA_FADD_I8XX 0x020d0 | ||
477 | 478 | ||
478 | #define ERROR_GEN6 0x040a0 | 479 | #define ERROR_GEN6 0x040a0 |
479 | 480 | ||