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