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

Commit ee4f42b1 authored by Chris Wilson's avatar Chris Wilson Committed by Daniel Vetter
Browse files

drm/i915: Record the position of the request upon error



So that we can tally the request against the command sequence in the
ringbuffer, or merely jump to the interesting locations.

Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 52d39a21
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -799,9 +799,10 @@ static int i915_error_state(struct seq_file *m, void *unused)
				   dev_priv->ring[i].name,
				   error->ring[i].num_requests);
			for (j = 0; j < error->ring[i].num_requests; j++) {
				seq_printf(m, "  seqno 0x%08x, emitted %ld\n",
				seq_printf(m, "  seqno 0x%08x, emitted %ld, tail 0x%08x\n",
					   error->ring[i].requests[j].seqno,
					   error->ring[i].requests[j].jiffies);
					   error->ring[i].requests[j].jiffies,
					   error->ring[i].requests[j].tail);
			}
		}

+1 −0
Original line number Diff line number Diff line
@@ -183,6 +183,7 @@ struct drm_i915_error_state {
		struct drm_i915_error_request {
			long jiffies;
			u32 seqno;
			u32 tail;
		} *requests;
		int num_requests;
	} ring[I915_NUM_RINGS];
+1 −0
Original line number Diff line number Diff line
@@ -975,6 +975,7 @@ static void i915_gem_record_rings(struct drm_device *dev,
			erq = &error->ring[i].requests[count++];
			erq->seqno = request->seqno;
			erq->jiffies = request->emitted_jiffies;
			erq->tail = request->tail;
		}
	}
}