37
36
TRACE_EVENT(i915_gem_object_bind,
39
TP_PROTO(struct drm_i915_gem_object *obj, u32 gtt_offset, bool mappable),
41
TP_ARGS(obj, gtt_offset, mappable),
37
TP_PROTO(struct drm_i915_gem_object *obj, bool mappable),
38
TP_ARGS(obj, mappable),
44
41
__field(struct drm_i915_gem_object *, obj)
45
__field(u32, gtt_offset)
46
44
__field(bool, mappable)
50
48
__entry->obj = obj;
51
__entry->gtt_offset = gtt_offset;
49
__entry->offset = obj->gtt_space->start;
50
__entry->size = obj->gtt_space->size;
52
51
__entry->mappable = mappable;
55
TP_printk("obj=%p, gtt_offset=%08x%s",
56
__entry->obj, __entry->gtt_offset,
54
TP_printk("obj=%p, offset=%08x size=%x%s",
55
__entry->obj, __entry->offset, __entry->size,
57
56
__entry->mappable ? ", mappable" : "")
59
TRACE_EVENT(i915_gem_object_unbind,
60
TP_PROTO(struct drm_i915_gem_object *obj),
64
__field(struct drm_i915_gem_object *, obj)
71
__entry->offset = obj->gtt_space->start;
72
__entry->size = obj->gtt_space->size;
75
TP_printk("obj=%p, offset=%08x size=%x",
76
__entry->obj, __entry->offset, __entry->size)
60
79
TRACE_EVENT(i915_gem_object_change_domain,
62
TP_PROTO(struct drm_i915_gem_object *obj, uint32_t old_read_domains, uint32_t old_write_domain),
64
TP_ARGS(obj, old_read_domains, old_write_domain),
80
TP_PROTO(struct drm_i915_gem_object *obj, u32 old_read, u32 old_write),
81
TP_ARGS(obj, old_read, old_write),
67
84
__field(struct drm_i915_gem_object *, obj)
73
90
__entry->obj = obj;
74
__entry->read_domains = obj->base.read_domains | (old_read_domains << 16);
75
__entry->write_domain = obj->base.write_domain | (old_write_domain << 16);
78
TP_printk("obj=%p, read=%04x, write=%04x",
80
__entry->read_domains, __entry->write_domain)
91
__entry->read_domains = obj->base.read_domains | (old_read << 16);
92
__entry->write_domain = obj->base.write_domain | (old_write << 16);
95
TP_printk("obj=%p, read=%02x=>%02x, write=%02x=>%02x",
97
__entry->read_domains >> 16,
98
__entry->read_domains & 0xffff,
99
__entry->write_domain >> 16,
100
__entry->write_domain & 0xffff)
103
TRACE_EVENT(i915_gem_object_pwrite,
104
TP_PROTO(struct drm_i915_gem_object *obj, u32 offset, u32 len),
105
TP_ARGS(obj, offset, len),
108
__field(struct drm_i915_gem_object *, obj)
115
__entry->offset = offset;
119
TP_printk("obj=%p, offset=%u, len=%u",
120
__entry->obj, __entry->offset, __entry->len)
123
TRACE_EVENT(i915_gem_object_pread,
124
TP_PROTO(struct drm_i915_gem_object *obj, u32 offset, u32 len),
125
TP_ARGS(obj, offset, len),
128
__field(struct drm_i915_gem_object *, obj)
135
__entry->offset = offset;
139
TP_printk("obj=%p, offset=%u, len=%u",
140
__entry->obj, __entry->offset, __entry->len)
143
TRACE_EVENT(i915_gem_object_fault,
144
TP_PROTO(struct drm_i915_gem_object *obj, u32 index, bool gtt, bool write),
145
TP_ARGS(obj, index, gtt, write),
148
__field(struct drm_i915_gem_object *, obj)
156
__entry->index = index;
158
__entry->write = write;
161
TP_printk("obj=%p, %s index=%u %s",
163
__entry->gtt ? "GTT" : "CPU",
165
__entry->write ? ", writable" : "")
83
168
DECLARE_EVENT_CLASS(i915_gem_object,
85
169
TP_PROTO(struct drm_i915_gem_object *obj),
100
183
DEFINE_EVENT(i915_gem_object, i915_gem_object_clflush,
102
TP_PROTO(struct drm_i915_gem_object *obj),
107
DEFINE_EVENT(i915_gem_object, i915_gem_object_unbind,
109
TP_PROTO(struct drm_i915_gem_object *obj),
184
TP_PROTO(struct drm_i915_gem_object *obj),
114
188
DEFINE_EVENT(i915_gem_object, i915_gem_object_destroy,
116
189
TP_PROTO(struct drm_i915_gem_object *obj),
123
TRACE_EVENT(i915_gem_request_submit,
125
TP_PROTO(struct drm_device *dev, u32 seqno),
135
__entry->dev = dev->primary->index;
136
__entry->seqno = seqno;
137
i915_trace_irq_get(dev, seqno);
140
TP_printk("dev=%u, seqno=%u", __entry->dev, __entry->seqno)
143
TRACE_EVENT(i915_gem_request_flush,
145
TP_PROTO(struct drm_device *dev, u32 seqno,
146
u32 flush_domains, u32 invalidate_domains),
148
TP_ARGS(dev, seqno, flush_domains, invalidate_domains),
153
__field(u32, flush_domains)
154
__field(u32, invalidate_domains)
158
__entry->dev = dev->primary->index;
159
__entry->seqno = seqno;
160
__entry->flush_domains = flush_domains;
161
__entry->invalidate_domains = invalidate_domains;
164
TP_printk("dev=%u, seqno=%u, flush=%04x, invalidate=%04x",
165
__entry->dev, __entry->seqno,
166
__entry->flush_domains, __entry->invalidate_domains)
193
TRACE_EVENT(i915_gem_evict,
194
TP_PROTO(struct drm_device *dev, u32 size, u32 align, bool mappable),
195
TP_ARGS(dev, size, align, mappable),
201
__field(bool, mappable)
205
__entry->dev = dev->primary->index;
206
__entry->size = size;
207
__entry->align = align;
208
__entry->mappable = mappable;
211
TP_printk("dev=%d, size=%d, align=%d %s",
212
__entry->dev, __entry->size, __entry->align,
213
__entry->mappable ? ", mappable" : "")
216
TRACE_EVENT(i915_gem_evict_everything,
217
TP_PROTO(struct drm_device *dev, bool purgeable),
218
TP_ARGS(dev, purgeable),
222
__field(bool, purgeable)
226
__entry->dev = dev->primary->index;
227
__entry->purgeable = purgeable;
230
TP_printk("dev=%d%s",
232
__entry->purgeable ? ", purgeable only" : "")
235
TRACE_EVENT(i915_gem_ring_dispatch,
236
TP_PROTO(struct intel_ring_buffer *ring, u32 seqno),
237
TP_ARGS(ring, seqno),
246
__entry->dev = ring->dev->primary->index;
247
__entry->ring = ring->id;
248
__entry->seqno = seqno;
249
i915_trace_irq_get(ring, seqno);
252
TP_printk("dev=%u, ring=%u, seqno=%u",
253
__entry->dev, __entry->ring, __entry->seqno)
256
TRACE_EVENT(i915_gem_ring_flush,
257
TP_PROTO(struct intel_ring_buffer *ring, u32 invalidate, u32 flush),
258
TP_ARGS(ring, invalidate, flush),
263
__field(u32, invalidate)
268
__entry->dev = ring->dev->primary->index;
269
__entry->ring = ring->id;
270
__entry->invalidate = invalidate;
271
__entry->flush = flush;
274
TP_printk("dev=%u, ring=%x, invalidate=%04x, flush=%04x",
275
__entry->dev, __entry->ring,
276
__entry->invalidate, __entry->flush)
169
279
DECLARE_EVENT_CLASS(i915_gem_request,
171
TP_PROTO(struct drm_device *dev, u32 seqno),
280
TP_PROTO(struct intel_ring_buffer *ring, u32 seqno),
281
TP_ARGS(ring, seqno),
175
283
TP_STRUCT__entry(
176
284
__field(u32, dev)
177
286
__field(u32, seqno)
181
__entry->dev = dev->primary->index;
290
__entry->dev = ring->dev->primary->index;
291
__entry->ring = ring->id;
182
292
__entry->seqno = seqno;
185
TP_printk("dev=%u, seqno=%u", __entry->dev, __entry->seqno)
295
TP_printk("dev=%u, ring=%u, seqno=%u",
296
__entry->dev, __entry->ring, __entry->seqno)
299
DEFINE_EVENT(i915_gem_request, i915_gem_request_add,
300
TP_PROTO(struct intel_ring_buffer *ring, u32 seqno),
188
304
DEFINE_EVENT(i915_gem_request, i915_gem_request_complete,
190
TP_PROTO(struct drm_device *dev, u32 seqno),
305
TP_PROTO(struct intel_ring_buffer *ring, u32 seqno),
195
309
DEFINE_EVENT(i915_gem_request, i915_gem_request_retire,
197
TP_PROTO(struct drm_device *dev, u32 seqno),
310
TP_PROTO(struct intel_ring_buffer *ring, u32 seqno),
202
314
DEFINE_EVENT(i915_gem_request, i915_gem_request_wait_begin,
204
TP_PROTO(struct drm_device *dev, u32 seqno),
315
TP_PROTO(struct intel_ring_buffer *ring, u32 seqno),
209
319
DEFINE_EVENT(i915_gem_request, i915_gem_request_wait_end,
211
TP_PROTO(struct drm_device *dev, u32 seqno),
320
TP_PROTO(struct intel_ring_buffer *ring, u32 seqno),
216
324
DECLARE_EVENT_CLASS(i915_ring,
218
TP_PROTO(struct drm_device *dev),
325
TP_PROTO(struct intel_ring_buffer *ring),
222
328
TP_STRUCT__entry(
223
329
__field(u32, dev)
227
__entry->dev = dev->primary->index;
334
__entry->dev = ring->dev->primary->index;
335
__entry->ring = ring->id;
230
TP_printk("dev=%u", __entry->dev)
338
TP_printk("dev=%u, ring=%u", __entry->dev, __entry->ring)
233
341
DEFINE_EVENT(i915_ring, i915_ring_wait_begin,
235
TP_PROTO(struct drm_device *dev),
342
TP_PROTO(struct intel_ring_buffer *ring),
240
346
DEFINE_EVENT(i915_ring, i915_ring_wait_end,
242
TP_PROTO(struct drm_device *dev),
347
TP_PROTO(struct intel_ring_buffer *ring),
247
351
TRACE_EVENT(i915_flip_request,