xref: /openbmc/linux/drivers/gpu/drm/vc4/vc4_trace.h (revision c67e8ec0)
1 /*
2  * Copyright (C) 2015 Broadcom
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  */
8 
9 #if !defined(_VC4_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ)
10 #define _VC4_TRACE_H_
11 
12 #include <linux/stringify.h>
13 #include <linux/types.h>
14 #include <linux/tracepoint.h>
15 
16 #undef TRACE_SYSTEM
17 #define TRACE_SYSTEM vc4
18 #define TRACE_INCLUDE_FILE vc4_trace
19 
20 TRACE_EVENT(vc4_wait_for_seqno_begin,
21 	    TP_PROTO(struct drm_device *dev, uint64_t seqno, uint64_t timeout),
22 	    TP_ARGS(dev, seqno, timeout),
23 
24 	    TP_STRUCT__entry(
25 			     __field(u32, dev)
26 			     __field(u64, seqno)
27 			     __field(u64, timeout)
28 			     ),
29 
30 	    TP_fast_assign(
31 			   __entry->dev = dev->primary->index;
32 			   __entry->seqno = seqno;
33 			   __entry->timeout = timeout;
34 			   ),
35 
36 	    TP_printk("dev=%u, seqno=%llu, timeout=%llu",
37 		      __entry->dev, __entry->seqno, __entry->timeout)
38 );
39 
40 TRACE_EVENT(vc4_wait_for_seqno_end,
41 	    TP_PROTO(struct drm_device *dev, uint64_t seqno),
42 	    TP_ARGS(dev, seqno),
43 
44 	    TP_STRUCT__entry(
45 			     __field(u32, dev)
46 			     __field(u64, seqno)
47 			     ),
48 
49 	    TP_fast_assign(
50 			   __entry->dev = dev->primary->index;
51 			   __entry->seqno = seqno;
52 			   ),
53 
54 	    TP_printk("dev=%u, seqno=%llu",
55 		      __entry->dev, __entry->seqno)
56 );
57 
58 #endif /* _VC4_TRACE_H_ */
59 
60 /* This part must be outside protection */
61 #undef TRACE_INCLUDE_PATH
62 #define TRACE_INCLUDE_PATH ../../drivers/gpu/drm/vc4
63 #include <trace/define_trace.h>
64