1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | #if !defined(_DRM_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ) |
3 | #define _DRM_TRACE_H_ |
4 | |
5 | #include <linux/stringify.h> |
6 | #include <linux/types.h> |
7 | #include <linux/tracepoint.h> |
8 | |
9 | struct drm_file; |
10 | |
11 | #undef TRACE_SYSTEM |
12 | #define TRACE_SYSTEM drm |
13 | #define TRACE_INCLUDE_FILE drm_trace |
14 | |
15 | TRACE_EVENT(drm_vblank_event, |
16 | TP_PROTO(int crtc, unsigned int seq, ktime_t time, bool high_prec), |
17 | TP_ARGS(crtc, seq, time, high_prec), |
18 | TP_STRUCT__entry( |
19 | __field(int, crtc) |
20 | __field(unsigned int, seq) |
21 | __field(ktime_t, time) |
22 | __field(bool, high_prec) |
23 | ), |
24 | TP_fast_assign( |
25 | __entry->crtc = crtc; |
26 | __entry->seq = seq; |
27 | __entry->time = time; |
28 | __entry->high_prec = high_prec; |
29 | ), |
30 | TP_printk("crtc=%d, seq=%u, time=%lld, high-prec=%s" , |
31 | __entry->crtc, __entry->seq, __entry->time, |
32 | __entry->high_prec ? "true" : "false" ) |
33 | ); |
34 | |
35 | TRACE_EVENT(drm_vblank_event_queued, |
36 | TP_PROTO(struct drm_file *file, int crtc, unsigned int seq), |
37 | TP_ARGS(file, crtc, seq), |
38 | TP_STRUCT__entry( |
39 | __field(struct drm_file *, file) |
40 | __field(int, crtc) |
41 | __field(unsigned int, seq) |
42 | ), |
43 | TP_fast_assign( |
44 | __entry->file = file; |
45 | __entry->crtc = crtc; |
46 | __entry->seq = seq; |
47 | ), |
48 | TP_printk("file=%p, crtc=%d, seq=%u" , __entry->file, __entry->crtc, \ |
49 | __entry->seq) |
50 | ); |
51 | |
52 | TRACE_EVENT(drm_vblank_event_delivered, |
53 | TP_PROTO(struct drm_file *file, int crtc, unsigned int seq), |
54 | TP_ARGS(file, crtc, seq), |
55 | TP_STRUCT__entry( |
56 | __field(struct drm_file *, file) |
57 | __field(int, crtc) |
58 | __field(unsigned int, seq) |
59 | ), |
60 | TP_fast_assign( |
61 | __entry->file = file; |
62 | __entry->crtc = crtc; |
63 | __entry->seq = seq; |
64 | ), |
65 | TP_printk("file=%p, crtc=%d, seq=%u" , __entry->file, __entry->crtc, \ |
66 | __entry->seq) |
67 | ); |
68 | |
69 | #endif /* _DRM_TRACE_H_ */ |
70 | |
71 | /* This part must be outside protection */ |
72 | #undef TRACE_INCLUDE_PATH |
73 | #define TRACE_INCLUDE_PATH ../../drivers/gpu/drm |
74 | #include <trace/define_trace.h> |
75 | |