Linux Audio

Check our new training course

Loading...
Note: File does not exist in v6.2.
  1#undef TRACE_SYSTEM
  2#define TRACE_SYSTEM fence
  3
  4#if !defined(_TRACE_FENCE_H) || defined(TRACE_HEADER_MULTI_READ)
  5#define _TRACE_FENCE_H
  6
  7#include <linux/tracepoint.h>
  8
  9struct fence;
 10
 11TRACE_EVENT(fence_annotate_wait_on,
 12
 13	/* fence: the fence waiting on f1, f1: the fence to be waited on. */
 14	TP_PROTO(struct fence *fence, struct fence *f1),
 15
 16	TP_ARGS(fence, f1),
 17
 18	TP_STRUCT__entry(
 19		__string(driver, fence->ops->get_driver_name(fence))
 20		__string(timeline, fence->ops->get_timeline_name(fence))
 21		__field(unsigned int, context)
 22		__field(unsigned int, seqno)
 23
 24		__string(waiting_driver, f1->ops->get_driver_name(f1))
 25		__string(waiting_timeline, f1->ops->get_timeline_name(f1))
 26		__field(unsigned int, waiting_context)
 27		__field(unsigned int, waiting_seqno)
 28	),
 29
 30	TP_fast_assign(
 31		__assign_str(driver, fence->ops->get_driver_name(fence))
 32		__assign_str(timeline, fence->ops->get_timeline_name(fence))
 33		__entry->context = fence->context;
 34		__entry->seqno = fence->seqno;
 35
 36		__assign_str(waiting_driver, f1->ops->get_driver_name(f1))
 37		__assign_str(waiting_timeline, f1->ops->get_timeline_name(f1))
 38		__entry->waiting_context = f1->context;
 39		__entry->waiting_seqno = f1->seqno;
 40
 41	),
 42
 43	TP_printk("driver=%s timeline=%s context=%u seqno=%u "	\
 44		  "waits on driver=%s timeline=%s context=%u seqno=%u",
 45		  __get_str(driver), __get_str(timeline), __entry->context,
 46		  __entry->seqno,
 47		  __get_str(waiting_driver), __get_str(waiting_timeline),
 48		  __entry->waiting_context, __entry->waiting_seqno)
 49);
 50
 51DECLARE_EVENT_CLASS(fence,
 52
 53	TP_PROTO(struct fence *fence),
 54
 55	TP_ARGS(fence),
 56
 57	TP_STRUCT__entry(
 58		__string(driver, fence->ops->get_driver_name(fence))
 59		__string(timeline, fence->ops->get_timeline_name(fence))
 60		__field(unsigned int, context)
 61		__field(unsigned int, seqno)
 62	),
 63
 64	TP_fast_assign(
 65		__assign_str(driver, fence->ops->get_driver_name(fence))
 66		__assign_str(timeline, fence->ops->get_timeline_name(fence))
 67		__entry->context = fence->context;
 68		__entry->seqno = fence->seqno;
 69	),
 70
 71	TP_printk("driver=%s timeline=%s context=%u seqno=%u",
 72		  __get_str(driver), __get_str(timeline), __entry->context,
 73		  __entry->seqno)
 74);
 75
 76DEFINE_EVENT(fence, fence_emit,
 77
 78	TP_PROTO(struct fence *fence),
 79
 80	TP_ARGS(fence)
 81);
 82
 83DEFINE_EVENT(fence, fence_init,
 84
 85	TP_PROTO(struct fence *fence),
 86
 87	TP_ARGS(fence)
 88);
 89
 90DEFINE_EVENT(fence, fence_destroy,
 91
 92	TP_PROTO(struct fence *fence),
 93
 94	TP_ARGS(fence)
 95);
 96
 97DEFINE_EVENT(fence, fence_enable_signal,
 98
 99	TP_PROTO(struct fence *fence),
100
101	TP_ARGS(fence)
102);
103
104DEFINE_EVENT(fence, fence_signaled,
105
106	TP_PROTO(struct fence *fence),
107
108	TP_ARGS(fence)
109);
110
111DEFINE_EVENT(fence, fence_wait_start,
112
113	TP_PROTO(struct fence *fence),
114
115	TP_ARGS(fence)
116);
117
118DEFINE_EVENT(fence, fence_wait_end,
119
120	TP_PROTO(struct fence *fence),
121
122	TP_ARGS(fence)
123);
124
125#endif /*  _TRACE_FENCE_H */
126
127/* This part must be outside protection */
128#include <trace/define_trace.h>