diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2011-02-03 06:57:46 -0500 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2011-02-07 09:59:18 -0500 |
commit | db53a302611c06bde01851f61fa0675a84ca018c (patch) | |
tree | c1504cf7929af3372a3d96c3a87ee754ceb1eff9 /drivers/gpu/drm/i915/intel_ringbuffer.h | |
parent | d9bc7e9f32716901c617e1f0fb6ce0f74f172686 (diff) |
drm/i915: Refine tracepoints
A lot of minor tweaks to fix the tracepoints, improve the outputting for
ftrace, and to generally make the tracepoints useful again. It is a start
and enough to begin identifying performance issues and gaps in our
coverage.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_ringbuffer.h')
-rw-r--r-- | drivers/gpu/drm/i915/intel_ringbuffer.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h index 5e14b09f67ce..bd6a5fbfa929 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.h +++ b/drivers/gpu/drm/i915/intel_ringbuffer.h | |||
@@ -58,6 +58,7 @@ struct intel_ring_buffer { | |||
58 | u32 irq_refcount; | 58 | u32 irq_refcount; |
59 | u32 irq_mask; | 59 | u32 irq_mask; |
60 | u32 irq_seqno; /* last seq seem at irq time */ | 60 | u32 irq_seqno; /* last seq seem at irq time */ |
61 | u32 trace_irq_seqno; | ||
61 | u32 waiting_seqno; | 62 | u32 waiting_seqno; |
62 | u32 sync_seqno[I915_NUM_RINGS-1]; | 63 | u32 sync_seqno[I915_NUM_RINGS-1]; |
63 | bool __must_check (*irq_get)(struct intel_ring_buffer *ring); | 64 | bool __must_check (*irq_get)(struct intel_ring_buffer *ring); |
@@ -186,6 +187,12 @@ int intel_init_blt_ring_buffer(struct drm_device *dev); | |||
186 | u32 intel_ring_get_active_head(struct intel_ring_buffer *ring); | 187 | u32 intel_ring_get_active_head(struct intel_ring_buffer *ring); |
187 | void intel_ring_setup_status_page(struct intel_ring_buffer *ring); | 188 | void intel_ring_setup_status_page(struct intel_ring_buffer *ring); |
188 | 189 | ||
190 | static inline void i915_trace_irq_get(struct intel_ring_buffer *ring, u32 seqno) | ||
191 | { | ||
192 | if (ring->trace_irq_seqno == 0 && ring->irq_get(ring)) | ||
193 | ring->trace_irq_seqno = seqno; | ||
194 | } | ||
195 | |||
189 | /* DRI warts */ | 196 | /* DRI warts */ |
190 | int intel_render_ring_init_dri(struct drm_device *dev, u64 start, u32 size); | 197 | int intel_render_ring_init_dri(struct drm_device *dev, u64 start, u32 size); |
191 | 198 | ||