]> git.ipfire.org Git - thirdparty/linux.git/blame - include/trace/events/dma_fence.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
[thirdparty/linux.git] / include / trace / events / dma_fence.h
CommitLineData
b2441318 1/* SPDX-License-Identifier: GPL-2.0 */
e941759c 2#undef TRACE_SYSTEM
f54d1867 3#define TRACE_SYSTEM dma_fence
e941759c
ML
4
5#if !defined(_TRACE_FENCE_H) || defined(TRACE_HEADER_MULTI_READ)
f54d1867 6#define _TRACE_DMA_FENCE_H
e941759c
ML
7
8#include <linux/tracepoint.h>
9
f54d1867 10struct dma_fence;
e941759c 11
f54d1867 12TRACE_EVENT(dma_fence_annotate_wait_on,
e941759c
ML
13
14 /* fence: the fence waiting on f1, f1: the fence to be waited on. */
f54d1867 15 TP_PROTO(struct dma_fence *fence, struct dma_fence *f1),
e941759c
ML
16
17 TP_ARGS(fence, f1),
18
19 TP_STRUCT__entry(
20 __string(driver, fence->ops->get_driver_name(fence))
7fd13615 21 __string(timeline, fence->ops->get_timeline_name(fence))
e941759c
ML
22 __field(unsigned int, context)
23 __field(unsigned int, seqno)
24
25 __string(waiting_driver, f1->ops->get_driver_name(f1))
26 __string(waiting_timeline, f1->ops->get_timeline_name(f1))
27 __field(unsigned int, waiting_context)
28 __field(unsigned int, waiting_seqno)
29 ),
30
31 TP_fast_assign(
32 __assign_str(driver, fence->ops->get_driver_name(fence))
33 __assign_str(timeline, fence->ops->get_timeline_name(fence))
34 __entry->context = fence->context;
35 __entry->seqno = fence->seqno;
36
37 __assign_str(waiting_driver, f1->ops->get_driver_name(f1))
38 __assign_str(waiting_timeline, f1->ops->get_timeline_name(f1))
39 __entry->waiting_context = f1->context;
40 __entry->waiting_seqno = f1->seqno;
41
42 ),
43
44 TP_printk("driver=%s timeline=%s context=%u seqno=%u " \
45 "waits on driver=%s timeline=%s context=%u seqno=%u",
46 __get_str(driver), __get_str(timeline), __entry->context,
47 __entry->seqno,
48 __get_str(waiting_driver), __get_str(waiting_timeline),
49 __entry->waiting_context, __entry->waiting_seqno)
50);
51
f54d1867 52DECLARE_EVENT_CLASS(dma_fence,
e941759c 53
f54d1867 54 TP_PROTO(struct dma_fence *fence),
e941759c
ML
55
56 TP_ARGS(fence),
57
58 TP_STRUCT__entry(
59 __string(driver, fence->ops->get_driver_name(fence))
60 __string(timeline, fence->ops->get_timeline_name(fence))
61 __field(unsigned int, context)
62 __field(unsigned int, seqno)
63 ),
64
65 TP_fast_assign(
66 __assign_str(driver, fence->ops->get_driver_name(fence))
67 __assign_str(timeline, fence->ops->get_timeline_name(fence))
68 __entry->context = fence->context;
69 __entry->seqno = fence->seqno;
70 ),
71
72 TP_printk("driver=%s timeline=%s context=%u seqno=%u",
73 __get_str(driver), __get_str(timeline), __entry->context,
74 __entry->seqno)
75);
76
f54d1867 77DEFINE_EVENT(dma_fence, dma_fence_emit,
e941759c 78
f54d1867 79 TP_PROTO(struct dma_fence *fence),
e941759c
ML
80
81 TP_ARGS(fence)
82);
83
f54d1867 84DEFINE_EVENT(dma_fence, dma_fence_init,
e941759c 85
f54d1867 86 TP_PROTO(struct dma_fence *fence),
e941759c
ML
87
88 TP_ARGS(fence)
89);
90
f54d1867 91DEFINE_EVENT(dma_fence, dma_fence_destroy,
e941759c 92
f54d1867 93 TP_PROTO(struct dma_fence *fence),
e941759c
ML
94
95 TP_ARGS(fence)
96);
97
f54d1867 98DEFINE_EVENT(dma_fence, dma_fence_enable_signal,
e941759c 99
f54d1867 100 TP_PROTO(struct dma_fence *fence),
e941759c
ML
101
102 TP_ARGS(fence)
103);
104
f54d1867 105DEFINE_EVENT(dma_fence, dma_fence_signaled,
e941759c 106
f54d1867 107 TP_PROTO(struct dma_fence *fence),
e941759c
ML
108
109 TP_ARGS(fence)
110);
111
f54d1867 112DEFINE_EVENT(dma_fence, dma_fence_wait_start,
e941759c 113
f54d1867 114 TP_PROTO(struct dma_fence *fence),
e941759c
ML
115
116 TP_ARGS(fence)
117);
118
f54d1867 119DEFINE_EVENT(dma_fence, dma_fence_wait_end,
e941759c 120
f54d1867 121 TP_PROTO(struct dma_fence *fence),
e941759c
ML
122
123 TP_ARGS(fence)
124);
125
f54d1867 126#endif /* _TRACE_DMA_FENCE_H */
e941759c
ML
127
128/* This part must be outside protection */
129#include <trace/define_trace.h>