xref: /linux/drivers/gpu/drm/drm_trace.h (revision d99ce553ed42c21b6fdd1230d5c74624ec90c38e)
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_INCLUDE_FILE drm_trace
11ac2874b9SJesse Barnes 
12ac2874b9SJesse Barnes TRACE_EVENT(drm_vblank_event,
13ac2874b9SJesse Barnes 	    TP_PROTO(int crtc, unsigned int seq),
14ac2874b9SJesse Barnes 	    TP_ARGS(crtc, seq),
15ac2874b9SJesse Barnes 	    TP_STRUCT__entry(
16ac2874b9SJesse Barnes 		    __field(int, crtc)
17ac2874b9SJesse Barnes 		    __field(unsigned int, seq)
18ac2874b9SJesse Barnes 		    ),
19ac2874b9SJesse Barnes 	    TP_fast_assign(
20ac2874b9SJesse Barnes 		    __entry->crtc = crtc;
21ac2874b9SJesse Barnes 		    __entry->seq = seq;
22ac2874b9SJesse Barnes 		    ),
2304274cd0SSeung-Woo Kim 	    TP_printk("crtc=%d, seq=%u", __entry->crtc, __entry->seq)
24ac2874b9SJesse Barnes );
25ac2874b9SJesse Barnes 
26b9c2c9aeSJesse Barnes TRACE_EVENT(drm_vblank_event_queued,
277d52cb88SDaniel Vetter 	    TP_PROTO(struct drm_file *file, int crtc, unsigned int seq),
287d52cb88SDaniel Vetter 	    TP_ARGS(file, crtc, seq),
29b9c2c9aeSJesse Barnes 	    TP_STRUCT__entry(
307d52cb88SDaniel Vetter 		    __field(struct drm_file *, file)
31b9c2c9aeSJesse Barnes 		    __field(int, crtc)
32b9c2c9aeSJesse Barnes 		    __field(unsigned int, seq)
33b9c2c9aeSJesse Barnes 		    ),
34b9c2c9aeSJesse Barnes 	    TP_fast_assign(
357d52cb88SDaniel Vetter 		    __entry->file = file;
36b9c2c9aeSJesse Barnes 		    __entry->crtc = crtc;
37b9c2c9aeSJesse Barnes 		    __entry->seq = seq;
38b9c2c9aeSJesse Barnes 		    ),
397d52cb88SDaniel Vetter 	    TP_printk("file=%p, crtc=%d, seq=%u", __entry->file, __entry->crtc, \
40b9c2c9aeSJesse Barnes 		      __entry->seq)
41b9c2c9aeSJesse Barnes );
42b9c2c9aeSJesse Barnes 
43b9c2c9aeSJesse Barnes TRACE_EVENT(drm_vblank_event_delivered,
447d52cb88SDaniel Vetter 	    TP_PROTO(struct drm_file *file, int crtc, unsigned int seq),
457d52cb88SDaniel Vetter 	    TP_ARGS(file, crtc, seq),
46b9c2c9aeSJesse Barnes 	    TP_STRUCT__entry(
477d52cb88SDaniel Vetter 		    __field(struct drm_file *, file)
48b9c2c9aeSJesse Barnes 		    __field(int, crtc)
49b9c2c9aeSJesse Barnes 		    __field(unsigned int, seq)
50b9c2c9aeSJesse Barnes 		    ),
51b9c2c9aeSJesse Barnes 	    TP_fast_assign(
527d52cb88SDaniel Vetter 		    __entry->file = file;
53b9c2c9aeSJesse Barnes 		    __entry->crtc = crtc;
54b9c2c9aeSJesse Barnes 		    __entry->seq = seq;
55b9c2c9aeSJesse Barnes 		    ),
567d52cb88SDaniel Vetter 	    TP_printk("file=%p, crtc=%d, seq=%u", __entry->file, __entry->crtc, \
57b9c2c9aeSJesse Barnes 		      __entry->seq)
58b9c2c9aeSJesse Barnes );
59b9c2c9aeSJesse Barnes 
60ac2874b9SJesse Barnes #endif /* _DRM_TRACE_H_ */
61ac2874b9SJesse Barnes 
62ac2874b9SJesse Barnes /* This part must be outside protection */
63ac2874b9SJesse Barnes #undef TRACE_INCLUDE_PATH
64*d99ce553SThierry Reding #define TRACE_INCLUDE_PATH ../../drivers/gpu/drm
65ac2874b9SJesse Barnes #include <trace/define_trace.h>
66