diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2013-09-23 16:33:19 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-10-01 01:45:22 -0400 |
commit | 814e9b57c0cb56ef1f56c3099f130a3e5373564e (patch) | |
tree | 75363f17139842e4944643ac74b2a3bea594e295 | |
parent | e2d05a8b1e4a7f6feae89a59543b1edbece1bda3 (diff) |
drm/i915: Move the conditional seqno query into the tracepoint
We only wish to know the value of seqno when emitting the tracepoint, so
move the query from a parameter to the macro to inside the conditional
macro body so that the query is only evaluated when required.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r-- | drivers/gpu/drm/i915/i915_irq.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_trace.h | 21 |
2 files changed, 19 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c index b356dc15adda..84b7efc6ee91 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c | |||
@@ -807,7 +807,7 @@ static void notify_ring(struct drm_device *dev, | |||
807 | if (ring->obj == NULL) | 807 | if (ring->obj == NULL) |
808 | return; | 808 | return; |
809 | 809 | ||
810 | trace_i915_gem_request_complete(ring, ring->get_seqno(ring, false)); | 810 | trace_i915_gem_request_complete(ring); |
811 | 811 | ||
812 | wake_up_all(&ring->irq_queue); | 812 | wake_up_all(&ring->irq_queue); |
813 | i915_queue_hangcheck(dev); | 813 | i915_queue_hangcheck(dev); |
diff --git a/drivers/gpu/drm/i915/i915_trace.h b/drivers/gpu/drm/i915/i915_trace.h index 403309bf0452..daa6fdf4d8ba 100644 --- a/drivers/gpu/drm/i915/i915_trace.h +++ b/drivers/gpu/drm/i915/i915_trace.h | |||
@@ -319,9 +319,24 @@ DEFINE_EVENT(i915_gem_request, i915_gem_request_add, | |||
319 | TP_ARGS(ring, seqno) | 319 | TP_ARGS(ring, seqno) |
320 | ); | 320 | ); |
321 | 321 | ||
322 | DEFINE_EVENT(i915_gem_request, i915_gem_request_complete, | 322 | TRACE_EVENT(i915_gem_request_complete, |
323 | TP_PROTO(struct intel_ring_buffer *ring, u32 seqno), | 323 | TP_PROTO(struct intel_ring_buffer *ring), |
324 | TP_ARGS(ring, seqno) | 324 | TP_ARGS(ring), |
325 | |||
326 | TP_STRUCT__entry( | ||
327 | __field(u32, dev) | ||
328 | __field(u32, ring) | ||
329 | __field(u32, seqno) | ||
330 | ), | ||
331 | |||
332 | TP_fast_assign( | ||
333 | __entry->dev = ring->dev->primary->index; | ||
334 | __entry->ring = ring->id; | ||
335 | __entry->seqno = ring->get_seqno(ring, false); | ||
336 | ), | ||
337 | |||
338 | TP_printk("dev=%u, ring=%u, seqno=%u", | ||
339 | __entry->dev, __entry->ring, __entry->seqno) | ||
325 | ); | 340 | ); |
326 | 341 | ||
327 | DEFINE_EVENT(i915_gem_request, i915_gem_request_retire, | 342 | DEFINE_EVENT(i915_gem_request, i915_gem_request_retire, |