Loading...
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
9struct drm_file;
10
11#undef TRACE_SYSTEM
12#define TRACE_SYSTEM drm
13#define TRACE_INCLUDE_FILE drm_trace
14
15TRACE_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
35TRACE_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
52TRACE_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>
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
13TRACE_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=%u", __entry->crtc, __entry->seq)
25);
26
27TRACE_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=%u", __entry->pid, __entry->crtc, \
41 __entry->seq)
42);
43
44TRACE_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=%u", __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>