diff options
author | Christian König <christian.koenig@amd.com> | 2016-12-06 03:41:55 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2017-03-29 23:54:37 -0400 |
commit | cef105f7dc0ad2b9bcaab77f05d520ac7d556ab3 (patch) | |
tree | 07f7dc6bcf2d34a44bfe478dcb64facf56b22f57 /drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h | |
parent | 614dea315fceee86384f539064a30329961579b0 (diff) |
drm/amdgpu: add IV trace point
This allows us to grab IVs without spamming the log.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h index 3e955190f013..a87de18160a8 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h | |||
@@ -52,6 +52,43 @@ TRACE_EVENT(amdgpu_mm_wreg, | |||
52 | (unsigned long)__entry->value) | 52 | (unsigned long)__entry->value) |
53 | ); | 53 | ); |
54 | 54 | ||
55 | TRACE_EVENT(amdgpu_iv, | ||
56 | TP_PROTO(struct amdgpu_iv_entry *iv), | ||
57 | TP_ARGS(iv), | ||
58 | TP_STRUCT__entry( | ||
59 | __field(unsigned, client_id) | ||
60 | __field(unsigned, src_id) | ||
61 | __field(unsigned, ring_id) | ||
62 | __field(unsigned, vm_id) | ||
63 | __field(unsigned, vm_id_src) | ||
64 | __field(uint64_t, timestamp) | ||
65 | __field(unsigned, timestamp_src) | ||
66 | __field(unsigned, pas_id) | ||
67 | __array(unsigned, src_data, 4) | ||
68 | ), | ||
69 | TP_fast_assign( | ||
70 | __entry->client_id = iv->client_id; | ||
71 | __entry->src_id = iv->src_id; | ||
72 | __entry->ring_id = iv->ring_id; | ||
73 | __entry->vm_id = iv->vm_id; | ||
74 | __entry->vm_id_src = iv->vm_id_src; | ||
75 | __entry->timestamp = iv->timestamp; | ||
76 | __entry->timestamp_src = iv->timestamp_src; | ||
77 | __entry->pas_id = iv->pas_id; | ||
78 | __entry->src_data[0] = iv->src_data[0]; | ||
79 | __entry->src_data[1] = iv->src_data[1]; | ||
80 | __entry->src_data[2] = iv->src_data[2]; | ||
81 | __entry->src_data[3] = iv->src_data[3]; | ||
82 | ), | ||
83 | TP_printk("client_id:%u src_id:%u ring:%u vm_id:%u timestamp: %llu pas_id:%u src_data: %08x %08x %08x %08x\n", | ||
84 | __entry->client_id, __entry->src_id, | ||
85 | __entry->ring_id, __entry->vm_id, | ||
86 | __entry->timestamp, __entry->pas_id, | ||
87 | __entry->src_data[0], __entry->src_data[1], | ||
88 | __entry->src_data[2], __entry->src_data[3]) | ||
89 | ); | ||
90 | |||
91 | |||
55 | TRACE_EVENT(amdgpu_bo_create, | 92 | TRACE_EVENT(amdgpu_bo_create, |
56 | TP_PROTO(struct amdgpu_bo *bo), | 93 | TP_PROTO(struct amdgpu_bo *bo), |
57 | TP_ARGS(bo), | 94 | TP_ARGS(bo), |