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