Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/include/trace/events/dma_fence.h
26282 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
#undef TRACE_SYSTEM
3
#define TRACE_SYSTEM dma_fence
4
5
#if !defined(_TRACE_DMA_FENCE_H) || defined(TRACE_HEADER_MULTI_READ)
6
#define _TRACE_DMA_FENCE_H
7
8
#include <linux/tracepoint.h>
9
10
struct dma_fence;
11
12
DECLARE_EVENT_CLASS(dma_fence,
13
14
TP_PROTO(struct dma_fence *fence),
15
16
TP_ARGS(fence),
17
18
TP_STRUCT__entry(
19
__string(driver, dma_fence_driver_name(fence))
20
__string(timeline, dma_fence_timeline_name(fence))
21
__field(unsigned int, context)
22
__field(unsigned int, seqno)
23
),
24
25
TP_fast_assign(
26
__assign_str(driver);
27
__assign_str(timeline);
28
__entry->context = fence->context;
29
__entry->seqno = fence->seqno;
30
),
31
32
TP_printk("driver=%s timeline=%s context=%u seqno=%u",
33
__get_str(driver), __get_str(timeline), __entry->context,
34
__entry->seqno)
35
);
36
37
/*
38
* Safe only for call sites which are guaranteed to not race with fence
39
* signaling,holding the fence->lock and having checked for not signaled, or the
40
* signaling path itself.
41
*/
42
DECLARE_EVENT_CLASS(dma_fence_unsignaled,
43
44
TP_PROTO(struct dma_fence *fence),
45
46
TP_ARGS(fence),
47
48
TP_STRUCT__entry(
49
__string(driver, fence->ops->get_driver_name(fence))
50
__string(timeline, fence->ops->get_timeline_name(fence))
51
__field(unsigned int, context)
52
__field(unsigned int, seqno)
53
),
54
55
TP_fast_assign(
56
__assign_str(driver);
57
__assign_str(timeline);
58
__entry->context = fence->context;
59
__entry->seqno = fence->seqno;
60
),
61
62
TP_printk("driver=%s timeline=%s context=%u seqno=%u",
63
__get_str(driver), __get_str(timeline), __entry->context,
64
__entry->seqno)
65
);
66
67
DEFINE_EVENT(dma_fence_unsignaled, dma_fence_emit,
68
69
TP_PROTO(struct dma_fence *fence),
70
71
TP_ARGS(fence)
72
);
73
74
DEFINE_EVENT(dma_fence_unsignaled, dma_fence_init,
75
76
TP_PROTO(struct dma_fence *fence),
77
78
TP_ARGS(fence)
79
);
80
81
DEFINE_EVENT(dma_fence, dma_fence_destroy,
82
83
TP_PROTO(struct dma_fence *fence),
84
85
TP_ARGS(fence)
86
);
87
88
DEFINE_EVENT(dma_fence_unsignaled, dma_fence_enable_signal,
89
90
TP_PROTO(struct dma_fence *fence),
91
92
TP_ARGS(fence)
93
);
94
95
DEFINE_EVENT(dma_fence_unsignaled, dma_fence_signaled,
96
97
TP_PROTO(struct dma_fence *fence),
98
99
TP_ARGS(fence)
100
);
101
102
DEFINE_EVENT(dma_fence, dma_fence_wait_start,
103
104
TP_PROTO(struct dma_fence *fence),
105
106
TP_ARGS(fence)
107
);
108
109
DEFINE_EVENT(dma_fence, dma_fence_wait_end,
110
111
TP_PROTO(struct dma_fence *fence),
112
113
TP_ARGS(fence)
114
);
115
116
#endif /* _TRACE_DMA_FENCE_H */
117
118
/* This part must be outside protection */
119
#include <trace/define_trace.h>
120
121