1 #if !defined(_DRM_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ)
2 #define _DRM_TRACE_H_
3 
4 #include <linux/stringify.h>
5 #include <linux/types.h>
6 #include <linux/tracepoint.h>
7 
8 #undef TRACE_SYSTEM
9 #define TRACE_SYSTEM drm
10 #define TRACE_SYSTEM_STRING __stringify(TRACE_SYSTEM)
11 #define TRACE_INCLUDE_FILE drm_trace
12 
13 TRACE_EVENT(drm_vblank_event,
14 	    TP_PROTO(int crtc, unsigned int seq),
15 	    TP_ARGS(crtc, seq),
16 	    TP_STRUCT__entry(
17 		    __field(int, crtc)
18 		    __field(unsigned int, seq)
19 		    ),
20 	    TP_fast_assign(
21 		    __entry->crtc = crtc;
22 		    __entry->seq = seq;
23 		    ),
24 	    TP_printk("crtc=%d, seq=%d", __entry->crtc, __entry->seq)
25 );
26 
27 TRACE_EVENT(drm_vblank_event_queued,
28 	    TP_PROTO(pid_t pid, int crtc, unsigned int seq),
29 	    TP_ARGS(pid, crtc, seq),
30 	    TP_STRUCT__entry(
31 		    __field(pid_t, pid)
32 		    __field(int, crtc)
33 		    __field(unsigned int, seq)
34 		    ),
35 	    TP_fast_assign(
36 		    __entry->pid = pid;
37 		    __entry->crtc = crtc;
38 		    __entry->seq = seq;
39 		    ),
40 	    TP_printk("pid=%d, crtc=%d, seq=%d", __entry->pid, __entry->crtc, \
41 		      __entry->seq)
42 );
43 
44 TRACE_EVENT(drm_vblank_event_delivered,
45 	    TP_PROTO(pid_t pid, int crtc, unsigned int seq),
46 	    TP_ARGS(pid, crtc, seq),
47 	    TP_STRUCT__entry(
48 		    __field(pid_t, pid)
49 		    __field(int, crtc)
50 		    __field(unsigned int, seq)
51 		    ),
52 	    TP_fast_assign(
53 		    __entry->pid = pid;
54 		    __entry->crtc = crtc;
55 		    __entry->seq = seq;
56 		    ),
57 	    TP_printk("pid=%d, crtc=%d, seq=%d", __entry->pid, __entry->crtc, \
58 		      __entry->seq)
59 );
60 
61 #endif /* _DRM_TRACE_H_ */
62 
63 /* This part must be outside protection */
64 #undef TRACE_INCLUDE_PATH
65 #define TRACE_INCLUDE_PATH .
66 #include <trace/define_trace.h>
67