diff options
author | Dave Airlie <airlied@redhat.com> | 2010-11-22 20:47:49 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-12-15 23:37:47 -0500 |
commit | 99ee7fac189893c90145a22b86bbcfdc98f69a9c (patch) | |
tree | 2719e044984e4d8cceb93e7e18f79ded48c7b685 /drivers/gpu/drm/radeon/radeon_trace.h | |
parent | f7eb0c55416aba7478932cedbaccc2bdacd8a95d (diff) |
drm/radeon: add initial tracepoint support.
this adds a bo create, and fence seq tracking tracepoints.
This is just an initial set to play around with, we should investigate
what others we need would be useful.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_trace.h')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_trace.h | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_trace.h b/drivers/gpu/drm/radeon/radeon_trace.h new file mode 100644 index 000000000000..eafd8160a155 --- /dev/null +++ b/drivers/gpu/drm/radeon/radeon_trace.h | |||
@@ -0,0 +1,82 @@ | |||
1 | #if !defined(_RADEON_TRACE_H) || defined(TRACE_HEADER_MULTI_READ) | ||
2 | #define _RADEON_TRACE_H_ | ||
3 | |||
4 | #include <linux/stringify.h> | ||
5 | #include <linux/types.h> | ||
6 | #include <linux/tracepoint.h> | ||
7 | |||
8 | #include <drm/drmP.h> | ||
9 | |||
10 | #undef TRACE_SYSTEM | ||
11 | #define TRACE_SYSTEM radeon | ||
12 | #define TRACE_SYSTEM_STRING __stringify(TRACE_SYSTEM) | ||
13 | #define TRACE_INCLUDE_FILE radeon_trace | ||
14 | |||
15 | TRACE_EVENT(radeon_bo_create, | ||
16 | TP_PROTO(struct radeon_bo *bo), | ||
17 | TP_ARGS(bo), | ||
18 | TP_STRUCT__entry( | ||
19 | __field(struct radeon_bo *, bo) | ||
20 | __field(u32, pages) | ||
21 | ), | ||
22 | |||
23 | TP_fast_assign( | ||
24 | __entry->bo = bo; | ||
25 | __entry->pages = bo->tbo.num_pages; | ||
26 | ), | ||
27 | TP_printk("bo=%p, pages=%u", __entry->bo, __entry->pages) | ||
28 | ); | ||
29 | |||
30 | DECLARE_EVENT_CLASS(radeon_fence_request, | ||
31 | |||
32 | TP_PROTO(struct drm_device *dev, u32 seqno), | ||
33 | |||
34 | TP_ARGS(dev, seqno), | ||
35 | |||
36 | TP_STRUCT__entry( | ||
37 | __field(u32, dev) | ||
38 | __field(u32, seqno) | ||
39 | ), | ||
40 | |||
41 | TP_fast_assign( | ||
42 | __entry->dev = dev->primary->index; | ||
43 | __entry->seqno = seqno; | ||
44 | ), | ||
45 | |||
46 | TP_printk("dev=%u, seqno=%u", __entry->dev, __entry->seqno) | ||
47 | ); | ||
48 | |||
49 | DEFINE_EVENT(radeon_fence_request, radeon_fence_emit, | ||
50 | |||
51 | TP_PROTO(struct drm_device *dev, u32 seqno), | ||
52 | |||
53 | TP_ARGS(dev, seqno) | ||
54 | ); | ||
55 | |||
56 | DEFINE_EVENT(radeon_fence_request, radeon_fence_retire, | ||
57 | |||
58 | TP_PROTO(struct drm_device *dev, u32 seqno), | ||
59 | |||
60 | TP_ARGS(dev, seqno) | ||
61 | ); | ||
62 | |||
63 | DEFINE_EVENT(radeon_fence_request, radeon_fence_wait_begin, | ||
64 | |||
65 | TP_PROTO(struct drm_device *dev, u32 seqno), | ||
66 | |||
67 | TP_ARGS(dev, seqno) | ||
68 | ); | ||
69 | |||
70 | DEFINE_EVENT(radeon_fence_request, radeon_fence_wait_end, | ||
71 | |||
72 | TP_PROTO(struct drm_device *dev, u32 seqno), | ||
73 | |||
74 | TP_ARGS(dev, seqno) | ||
75 | ); | ||
76 | |||
77 | #endif | ||
78 | |||
79 | /* This part must be outside protection */ | ||
80 | #undef TRACE_INCLUDE_PATH | ||
81 | #define TRACE_INCLUDE_PATH . | ||
82 | #include <trace/define_trace.h> | ||