forked from Minki/linux
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>
This commit is contained in:
parent
a0b1c7a519
commit
9d2f41fa0f
@ -757,8 +757,8 @@ static void i915_ring_error_state(struct seq_file *m,
|
|||||||
if (INTEL_INFO(dev)->gen >= 4)
|
if (INTEL_INFO(dev)->gen >= 4)
|
||||||
seq_printf(m, " INSTPS: 0x%08x\n", error->instps[ring]);
|
seq_printf(m, " INSTPS: 0x%08x\n", error->instps[ring]);
|
||||||
seq_printf(m, " INSTPM: 0x%08x\n", error->instpm[ring]);
|
seq_printf(m, " INSTPM: 0x%08x\n", error->instpm[ring]);
|
||||||
|
seq_printf(m, " FADDR: 0x%08x\n", error->faddr[ring]);
|
||||||
if (INTEL_INFO(dev)->gen >= 6) {
|
if (INTEL_INFO(dev)->gen >= 6) {
|
||||||
seq_printf(m, " FADDR: 0x%08x\n", error->faddr[ring]);
|
|
||||||
seq_printf(m, " FAULT_REG: 0x%08x\n", error->fault_reg[ring]);
|
seq_printf(m, " FAULT_REG: 0x%08x\n", error->fault_reg[ring]);
|
||||||
seq_printf(m, " SYNC_0: 0x%08x\n",
|
seq_printf(m, " SYNC_0: 0x%08x\n",
|
||||||
error->semaphore_mboxes[ring][0]);
|
error->semaphore_mboxes[ring][0]);
|
||||||
|
@ -1029,7 +1029,6 @@ static void i915_record_ring_state(struct drm_device *dev,
|
|||||||
struct drm_i915_private *dev_priv = dev->dev_private;
|
struct drm_i915_private *dev_priv = dev->dev_private;
|
||||||
|
|
||||||
if (INTEL_INFO(dev)->gen >= 6) {
|
if (INTEL_INFO(dev)->gen >= 6) {
|
||||||
error->faddr[ring->id] = I915_READ(RING_DMA_FADD(ring->mmio_base));
|
|
||||||
error->fault_reg[ring->id] = I915_READ(RING_FAULT_REG(ring));
|
error->fault_reg[ring->id] = I915_READ(RING_FAULT_REG(ring));
|
||||||
error->semaphore_mboxes[ring->id][0]
|
error->semaphore_mboxes[ring->id][0]
|
||||||
= I915_READ(RING_SYNC_0(ring->mmio_base));
|
= I915_READ(RING_SYNC_0(ring->mmio_base));
|
||||||
@ -1038,6 +1037,7 @@ static void i915_record_ring_state(struct drm_device *dev,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (INTEL_INFO(dev)->gen >= 4) {
|
if (INTEL_INFO(dev)->gen >= 4) {
|
||||||
|
error->faddr[ring->id] = I915_READ(RING_DMA_FADD(ring->mmio_base));
|
||||||
error->ipeir[ring->id] = I915_READ(RING_IPEIR(ring->mmio_base));
|
error->ipeir[ring->id] = I915_READ(RING_IPEIR(ring->mmio_base));
|
||||||
error->ipehr[ring->id] = I915_READ(RING_IPEHR(ring->mmio_base));
|
error->ipehr[ring->id] = I915_READ(RING_IPEHR(ring->mmio_base));
|
||||||
error->instdone[ring->id] = I915_READ(RING_INSTDONE(ring->mmio_base));
|
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,
|
|||||||
error->bbaddr = I915_READ64(BB_ADDR);
|
error->bbaddr = I915_READ64(BB_ADDR);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
error->faddr[ring->id] = I915_READ(DMA_FADD_I8XX);
|
||||||
error->ipeir[ring->id] = I915_READ(IPEIR);
|
error->ipeir[ring->id] = I915_READ(IPEIR);
|
||||||
error->ipehr[ring->id] = I915_READ(IPEHR);
|
error->ipehr[ring->id] = I915_READ(IPEHR);
|
||||||
error->instdone[ring->id] = I915_READ(INSTDONE);
|
error->instdone[ring->id] = I915_READ(INSTDONE);
|
||||||
|
@ -474,6 +474,7 @@
|
|||||||
#define INSTDONE 0x02090
|
#define INSTDONE 0x02090
|
||||||
#define NOPID 0x02094
|
#define NOPID 0x02094
|
||||||
#define HWSTAM 0x02098
|
#define HWSTAM 0x02098
|
||||||
|
#define DMA_FADD_I8XX 0x020d0
|
||||||
|
|
||||||
#define ERROR_GEN6 0x040a0
|
#define ERROR_GEN6 0x040a0
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user