Merge branch develop-3.10
[firefly-linux-kernel-4.4.55.git] / include / trace / events / sync.h
1 #undef TRACE_SYSTEM
2 #define TRACE_SYSTEM sync
3
4 #if !defined(_TRACE_SYNC_H) || defined(TRACE_HEADER_MULTI_READ)
5 #define _TRACE_SYNC_H
6
7 #include <linux/sync.h>
8 #include <linux/tracepoint.h>
9
10 TRACE_EVENT(sync_timeline,
11             TP_PROTO(struct sync_timeline *timeline),
12
13             TP_ARGS(timeline),
14
15             TP_STRUCT__entry(
16                     __string(name, timeline->name)
17                     __array(char, value, 32)
18                     ),
19
20             TP_fast_assign(
21                     __assign_str(name, timeline->name);
22                     if (timeline->ops->timeline_value_str) {
23                             timeline->ops->timeline_value_str(timeline,
24                                                               __entry->value,
25                                                               sizeof(__entry->value));
26                     } else {
27                             __entry->value[0] = '\0';
28                     }
29                     ),
30
31             TP_printk("name=%s value=%s", __get_str(name), __entry->value)
32 );
33
34 TRACE_EVENT(sync_wait,
35             TP_PROTO(struct sync_fence *fence, int begin),
36
37             TP_ARGS(fence, begin),
38
39             TP_STRUCT__entry(
40                     __string(name, fence->name)
41                     __field(s32, status)
42                     __field(u32, begin)
43                     ),
44
45             TP_fast_assign(
46                     __assign_str(name, fence->name);
47                     __entry->status = fence->status;
48                     __entry->begin = begin;
49                     ),
50
51             TP_printk("%s name=%s state=%d", __entry->begin ? "begin" : "end",
52                       __get_str(name), __entry->status)
53 );
54
55 TRACE_EVENT(sync_pt,
56             TP_PROTO(struct sync_pt *pt),
57
58             TP_ARGS(pt),
59
60             TP_STRUCT__entry(
61                     __string(timeline, pt->parent->name)
62                     __array(char, value, 32)
63                     ),
64
65             TP_fast_assign(
66                     __assign_str(timeline, pt->parent->name);
67                     if (pt->parent->ops->pt_value_str) {
68                             pt->parent->ops->pt_value_str(pt,
69                                                         __entry->value,
70                                                         sizeof(__entry->value));
71                     } else {
72                             __entry->value[0] = '\0';
73                     }
74                     ),
75
76             TP_printk("name=%s value=%s", __get_str(timeline), __entry->value)
77         );
78
79 #endif /* if !defined(_TRACE_SYNC_H) || defined(TRACE_HEADER_MULTI_READ) */
80
81 /* This part must be outside protection */
82 #include <trace/define_trace.h>