xref: /linux/drivers/gpu/drm/drm_trace.h (revision b24413180f5600bcb3bb70fbed5cf186b60864bd)
1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2ac2874b9SJesse Barnes #if !defined(_DRM_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ)
3ac2874b9SJesse Barnes #define _DRM_TRACE_H_
4ac2874b9SJesse Barnes 
5ac2874b9SJesse Barnes #include <linux/stringify.h>
6ac2874b9SJesse Barnes #include <linux/types.h>
7ac2874b9SJesse Barnes #include <linux/tracepoint.h>
8ac2874b9SJesse Barnes 
9ac2874b9SJesse Barnes #undef TRACE_SYSTEM
10ac2874b9SJesse Barnes #define TRACE_SYSTEM drm
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 		    ),
2404274cd0SSeung-Woo Kim 	    TP_printk("crtc=%d, seq=%u", __entry->crtc, __entry->seq)
25ac2874b9SJesse Barnes );
26ac2874b9SJesse Barnes 
27b9c2c9aeSJesse Barnes TRACE_EVENT(drm_vblank_event_queued,
287d52cb88SDaniel Vetter 	    TP_PROTO(struct drm_file *file, int crtc, unsigned int seq),
297d52cb88SDaniel Vetter 	    TP_ARGS(file, crtc, seq),
30b9c2c9aeSJesse Barnes 	    TP_STRUCT__entry(
317d52cb88SDaniel Vetter 		    __field(struct drm_file *, file)
32b9c2c9aeSJesse Barnes 		    __field(int, crtc)
33b9c2c9aeSJesse Barnes 		    __field(unsigned int, seq)
34b9c2c9aeSJesse Barnes 		    ),
35b9c2c9aeSJesse Barnes 	    TP_fast_assign(
367d52cb88SDaniel Vetter 		    __entry->file = file;
37b9c2c9aeSJesse Barnes 		    __entry->crtc = crtc;
38b9c2c9aeSJesse Barnes 		    __entry->seq = seq;
39b9c2c9aeSJesse Barnes 		    ),
407d52cb88SDaniel Vetter 	    TP_printk("file=%p, crtc=%d, seq=%u", __entry->file, __entry->crtc, \
41b9c2c9aeSJesse Barnes 		      __entry->seq)
42b9c2c9aeSJesse Barnes );
43b9c2c9aeSJesse Barnes 
44b9c2c9aeSJesse Barnes TRACE_EVENT(drm_vblank_event_delivered,
457d52cb88SDaniel Vetter 	    TP_PROTO(struct drm_file *file, int crtc, unsigned int seq),
467d52cb88SDaniel Vetter 	    TP_ARGS(file, crtc, seq),
47b9c2c9aeSJesse Barnes 	    TP_STRUCT__entry(
487d52cb88SDaniel Vetter 		    __field(struct drm_file *, file)
49b9c2c9aeSJesse Barnes 		    __field(int, crtc)
50b9c2c9aeSJesse Barnes 		    __field(unsigned int, seq)
51b9c2c9aeSJesse Barnes 		    ),
52b9c2c9aeSJesse Barnes 	    TP_fast_assign(
537d52cb88SDaniel Vetter 		    __entry->file = file;
54b9c2c9aeSJesse Barnes 		    __entry->crtc = crtc;
55b9c2c9aeSJesse Barnes 		    __entry->seq = seq;
56b9c2c9aeSJesse Barnes 		    ),
577d52cb88SDaniel Vetter 	    TP_printk("file=%p, crtc=%d, seq=%u", __entry->file, __entry->crtc, \
58b9c2c9aeSJesse Barnes 		      __entry->seq)
59b9c2c9aeSJesse Barnes );
60b9c2c9aeSJesse 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