xref: /openbsd/sys/dev/pci/drm/radeon/radeon_trace.h (revision 264ca280)
1 /*	$OpenBSD: radeon_trace.h,v 1.2 2015/04/18 11:41:29 jsg Exp $	*/
2 
3 #if !defined(_RADEON_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
4 #define _RADEON_TRACE_H_
5 
6 #include <dev/pci/drm/drmP.h>
7 
8 #undef TRACE_SYSTEM
9 #define TRACE_SYSTEM radeon
10 #define TRACE_SYSTEM_STRING __stringify(TRACE_SYSTEM)
11 #define TRACE_INCLUDE_FILE radeon_trace
12 
13 TRACE_EVENT(radeon_bo_create,
14 	    TP_PROTO(struct radeon_bo *bo),
15 	    TP_ARGS(bo),
16 	    TP_STRUCT__entry(
17 			     __field(struct radeon_bo *, bo)
18 			     __field(u32, pages)
19 			     ),
20 
21 	    TP_fast_assign(
22 			   __entry->bo = bo;
23 			   __entry->pages = bo->tbo.num_pages;
24 			   ),
25 	    TP_printk("bo=%p, pages=%u", __entry->bo, __entry->pages)
26 );
27 
28 DECLARE_EVENT_CLASS(radeon_fence_request,
29 
30 	    TP_PROTO(struct drm_device *dev, u32 seqno),
31 
32 	    TP_ARGS(dev, seqno),
33 
34 	    TP_STRUCT__entry(
35 			     __field(u32, dev)
36 			     __field(u32, seqno)
37 			     ),
38 
39 	    TP_fast_assign(
40 			   __entry->dev = dev->primary->index;
41 			   __entry->seqno = seqno;
42 			   ),
43 
44 	    TP_printk("dev=%u, seqno=%u", __entry->dev, __entry->seqno)
45 );
46 
47 DEFINE_EVENT(radeon_fence_request, radeon_fence_emit,
48 
49 	    TP_PROTO(struct drm_device *dev, u32 seqno),
50 
51 	    TP_ARGS(dev, seqno)
52 );
53 
54 DEFINE_EVENT(radeon_fence_request, radeon_fence_retire,
55 
56 	    TP_PROTO(struct drm_device *dev, u32 seqno),
57 
58 	    TP_ARGS(dev, seqno)
59 );
60 
61 DEFINE_EVENT(radeon_fence_request, radeon_fence_wait_begin,
62 
63 	    TP_PROTO(struct drm_device *dev, u32 seqno),
64 
65 	    TP_ARGS(dev, seqno)
66 );
67 
68 DEFINE_EVENT(radeon_fence_request, radeon_fence_wait_end,
69 
70 	    TP_PROTO(struct drm_device *dev, u32 seqno),
71 
72 	    TP_ARGS(dev, seqno)
73 );
74 
75 DECLARE_EVENT_CLASS(radeon_semaphore_request,
76 
77 	    TP_PROTO(int ring, struct radeon_semaphore *sem),
78 
79 	    TP_ARGS(ring, sem),
80 
81 	    TP_STRUCT__entry(
82 			     __field(int, ring)
83 			     __field(signed, waiters)
84 			     __field(uint64_t, gpu_addr)
85 			     ),
86 
87 	    TP_fast_assign(
88 			   __entry->ring = ring;
89 			   __entry->waiters = sem->waiters;
90 			   __entry->gpu_addr = sem->gpu_addr;
91 			   ),
92 
93 	    TP_printk("ring=%u, waiters=%d, addr=%010Lx", __entry->ring,
94 		      __entry->waiters, __entry->gpu_addr)
95 );
96 
97 DEFINE_EVENT(radeon_semaphore_request, radeon_semaphore_signale,
98 
99 	    TP_PROTO(int ring, struct radeon_semaphore *sem),
100 
101 	    TP_ARGS(ring, sem)
102 );
103 
104 DEFINE_EVENT(radeon_semaphore_request, radeon_semaphore_wait,
105 
106 	    TP_PROTO(int ring, struct radeon_semaphore *sem),
107 
108 	    TP_ARGS(ring, sem)
109 );
110 
111 #endif
112 
113 /* This part must be outside protection */
114 #undef TRACE_INCLUDE_PATH
115 #define TRACE_INCLUDE_PATH .
116