Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9d2f41fa authored by Daniel Vetter's avatar Daniel Vetter
Browse files

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: default avatarChris Wilson <chris@chris-wilson.co.uk>
Signed-Off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent a0b1c7a5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -757,8 +757,8 @@ static void i915_ring_error_state(struct seq_file *m,
	if (INTEL_INFO(dev)->gen >= 4)
		seq_printf(m, "  INSTPS: 0x%08x\n", error->instps[ring]);
	seq_printf(m, "  INSTPM: 0x%08x\n", error->instpm[ring]);
	if (INTEL_INFO(dev)->gen >= 6) {
	seq_printf(m, "  FADDR: 0x%08x\n", error->faddr[ring]);
	if (INTEL_INFO(dev)->gen >= 6) {
		seq_printf(m, "  FAULT_REG: 0x%08x\n", error->fault_reg[ring]);
		seq_printf(m, "  SYNC_0: 0x%08x\n",
			   error->semaphore_mboxes[ring][0]);
+2 −1
Original line number Diff line number Diff line
@@ -1029,7 +1029,6 @@ static void i915_record_ring_state(struct drm_device *dev,
	struct drm_i915_private *dev_priv = dev->dev_private;

	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->semaphore_mboxes[ring->id][0]
			= 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) {
		error->faddr[ring->id] = I915_READ(RING_DMA_FADD(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->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);
		}
	} else {
		error->faddr[ring->id] = I915_READ(DMA_FADD_I8XX);
		error->ipeir[ring->id] = I915_READ(IPEIR);
		error->ipehr[ring->id] = I915_READ(IPEHR);
		error->instdone[ring->id] = I915_READ(INSTDONE);
+1 −0
Original line number Diff line number Diff line
@@ -474,6 +474,7 @@
#define INSTDONE	0x02090
#define NOPID		0x02094
#define HWSTAM		0x02098
#define DMA_FADD_I8XX	0x020d0

#define ERROR_GEN6	0x040a0