diff options
| author | Chris Wilson <chris@chris-wilson.co.uk> | 2011-02-03 11:57:46 +0000 | 
|---|---|---|
| committer | Chris Wilson <chris@chris-wilson.co.uk> | 2011-02-07 14:59:18 +0000 | 
| 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 {  	u32		irq_refcount;  	u32		irq_mask;  	u32		irq_seqno;		/* last seq seem at irq time */ +	u32		trace_irq_seqno;  	u32		waiting_seqno;  	u32		sync_seqno[I915_NUM_RINGS-1];  	bool __must_check (*irq_get)(struct intel_ring_buffer *ring); @@ -186,6 +187,12 @@ int intel_init_blt_ring_buffer(struct drm_device *dev);  u32 intel_ring_get_active_head(struct intel_ring_buffer *ring);  void intel_ring_setup_status_page(struct intel_ring_buffer *ring); +static inline void i915_trace_irq_get(struct intel_ring_buffer *ring, u32 seqno) +{ +	if (ring->trace_irq_seqno == 0 && ring->irq_get(ring)) +		ring->trace_irq_seqno = seqno; +} +  /* DRI warts */  int intel_render_ring_init_dri(struct drm_device *dev, u64 start, u32 size); | 
