xref: /linux/drivers/gpu/drm/lima/lima_trace.h (revision 7b1166dee847d5018c1f3cc781218e806078f752)
1 /* SPDX-License-Identifier: GPL-2.0 OR MIT */
2 /* Copyright 2020 Qiang Yu <yuq825@gmail.com> */
3 
4 #if !defined(_LIMA_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
5 #define _LIMA_TRACE_H_
6 
7 #include <linux/tracepoint.h>
8 
9 #undef TRACE_SYSTEM
10 #define TRACE_SYSTEM lima
11 #define TRACE_INCLUDE_FILE lima_trace
12 
13 DECLARE_EVENT_CLASS(lima_task,
14 	TP_PROTO(struct lima_sched_task *task),
15 	TP_ARGS(task),
16 	TP_STRUCT__entry(
17 		__field(unsigned int, context)
18 		__field(unsigned int, seqno)
19 		__string(pipe, task->base.sched->name)
20 		),
21 
22 	TP_fast_assign(
23 		__entry->context = task->base.s_fence->finished.context;
24 		__entry->seqno = task->base.s_fence->finished.seqno;
25 		__assign_str(pipe);
26 		),
27 
28 	TP_printk("context=%u seqno=%u pipe=%s",
29 		  __entry->context, __entry->seqno,
30 		  __get_str(pipe))
31 );
32 
33 DEFINE_EVENT(lima_task, lima_task_submit,
34 	     TP_PROTO(struct lima_sched_task *task),
35 	     TP_ARGS(task)
36 );
37 
38 DEFINE_EVENT(lima_task, lima_task_run,
39 	     TP_PROTO(struct lima_sched_task *task),
40 	     TP_ARGS(task)
41 );
42 
43 #endif
44 
45 /* This part must be outside protection */
46 #undef TRACE_INCLUDE_PATH
47 #define TRACE_INCLUDE_PATH ../../drivers/gpu/drm/lima
48 #include <trace/define_trace.h>
49