blob: baccc63db106b7e1a59175df4befa8cde36aaaca [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Jesse Barnesac2874b2010-07-01 16:47:31 -07002#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#undef TRACE_SYSTEM
10#define TRACE_SYSTEM drm
Jesse Barnesac2874b2010-07-01 16:47:31 -070011#define TRACE_INCLUDE_FILE drm_trace
12
13TRACE_EVENT(drm_vblank_event,
Jesse Barnesb9c2c9a2010-07-01 16:48:09 -070014 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 ),
Seung-Woo Kim04274cd2013-07-01 19:44:14 +090024 TP_printk("crtc=%d, seq=%u", __entry->crtc, __entry->seq)
Jesse Barnesb9c2c9a2010-07-01 16:48:09 -070025);
Jesse Barnesac2874b2010-07-01 16:47:31 -070026
Jesse Barnesb9c2c9a2010-07-01 16:48:09 -070027TRACE_EVENT(drm_vblank_event_queued,
Daniel Vetter7d52cb82017-03-08 15:12:43 +010028 TP_PROTO(struct drm_file *file, int crtc, unsigned int seq),
29 TP_ARGS(file, crtc, seq),
Jesse Barnesb9c2c9a2010-07-01 16:48:09 -070030 TP_STRUCT__entry(
Daniel Vetter7d52cb82017-03-08 15:12:43 +010031 __field(struct drm_file *, file)
Jesse Barnesb9c2c9a2010-07-01 16:48:09 -070032 __field(int, crtc)
33 __field(unsigned int, seq)
34 ),
35 TP_fast_assign(
Daniel Vetter7d52cb82017-03-08 15:12:43 +010036 __entry->file = file;
Jesse Barnesb9c2c9a2010-07-01 16:48:09 -070037 __entry->crtc = crtc;
38 __entry->seq = seq;
39 ),
Daniel Vetter7d52cb82017-03-08 15:12:43 +010040 TP_printk("file=%p, crtc=%d, seq=%u", __entry->file, __entry->crtc, \
Jesse Barnesb9c2c9a2010-07-01 16:48:09 -070041 __entry->seq)
42);
Jesse Barnesac2874b2010-07-01 16:47:31 -070043
Jesse Barnesb9c2c9a2010-07-01 16:48:09 -070044TRACE_EVENT(drm_vblank_event_delivered,
Daniel Vetter7d52cb82017-03-08 15:12:43 +010045 TP_PROTO(struct drm_file *file, int crtc, unsigned int seq),
46 TP_ARGS(file, crtc, seq),
Jesse Barnesb9c2c9a2010-07-01 16:48:09 -070047 TP_STRUCT__entry(
Daniel Vetter7d52cb82017-03-08 15:12:43 +010048 __field(struct drm_file *, file)
Jesse Barnesb9c2c9a2010-07-01 16:48:09 -070049 __field(int, crtc)
50 __field(unsigned int, seq)
51 ),
52 TP_fast_assign(
Daniel Vetter7d52cb82017-03-08 15:12:43 +010053 __entry->file = file;
Jesse Barnesb9c2c9a2010-07-01 16:48:09 -070054 __entry->crtc = crtc;
55 __entry->seq = seq;
56 ),
Daniel Vetter7d52cb82017-03-08 15:12:43 +010057 TP_printk("file=%p, crtc=%d, seq=%u", __entry->file, __entry->crtc, \
Jesse Barnesb9c2c9a2010-07-01 16:48:09 -070058 __entry->seq)
Jesse Barnesac2874b2010-07-01 16:47:31 -070059);
60
61#endif /* _DRM_TRACE_H_ */
62
63/* This part must be outside protection */
64#undef TRACE_INCLUDE_PATH
Thierry Redingd99ce552017-09-01 16:49:49 +020065#define TRACE_INCLUDE_PATH ../../drivers/gpu/drm
Jesse Barnesac2874b2010-07-01 16:47:31 -070066#include <trace/define_trace.h>