Warning: This file is not a C or C++ file. It does not have highlighting.
1 | /* SPDX-License-Identifier: GPL-2.0 */ |
---|---|
2 | #undef TRACE_SYSTEM |
3 | #define TRACE_SYSTEM rv |
4 | |
5 | #if !defined(_TRACE_RV_H) || defined(TRACE_HEADER_MULTI_READ) |
6 | #define _TRACE_RV_H |
7 | |
8 | #include <linux/rv.h> |
9 | #include <linux/tracepoint.h> |
10 | |
11 | #ifdef CONFIG_DA_MON_EVENTS_IMPLICIT |
12 | DECLARE_EVENT_CLASS(event_da_monitor, |
13 | |
14 | TP_PROTO(char *state, char *event, char *next_state, bool final_state), |
15 | |
16 | TP_ARGS(state, event, next_state, final_state), |
17 | |
18 | TP_STRUCT__entry( |
19 | __array( char, state, MAX_DA_NAME_LEN ) |
20 | __array( char, event, MAX_DA_NAME_LEN ) |
21 | __array( char, next_state, MAX_DA_NAME_LEN ) |
22 | __field( bool, final_state ) |
23 | ), |
24 | |
25 | TP_fast_assign( |
26 | memcpy(__entry->state, state, MAX_DA_NAME_LEN); |
27 | memcpy(__entry->event, event, MAX_DA_NAME_LEN); |
28 | memcpy(__entry->next_state, next_state, MAX_DA_NAME_LEN); |
29 | __entry->final_state = final_state; |
30 | ), |
31 | |
32 | TP_printk("%s x %s -> %s %s", |
33 | __entry->state, |
34 | __entry->event, |
35 | __entry->next_state, |
36 | __entry->final_state ? "(final)" : "") |
37 | ); |
38 | |
39 | DECLARE_EVENT_CLASS(error_da_monitor, |
40 | |
41 | TP_PROTO(char *state, char *event), |
42 | |
43 | TP_ARGS(state, event), |
44 | |
45 | TP_STRUCT__entry( |
46 | __array( char, state, MAX_DA_NAME_LEN ) |
47 | __array( char, event, MAX_DA_NAME_LEN ) |
48 | ), |
49 | |
50 | TP_fast_assign( |
51 | memcpy(__entry->state, state, MAX_DA_NAME_LEN); |
52 | memcpy(__entry->event, event, MAX_DA_NAME_LEN); |
53 | ), |
54 | |
55 | TP_printk("event %s not expected in the state %s", |
56 | __entry->event, |
57 | __entry->state) |
58 | ); |
59 | |
60 | #ifdef CONFIG_RV_MON_WIP |
61 | DEFINE_EVENT(event_da_monitor, event_wip, |
62 | TP_PROTO(char *state, char *event, char *next_state, bool final_state), |
63 | TP_ARGS(state, event, next_state, final_state)); |
64 | |
65 | DEFINE_EVENT(error_da_monitor, error_wip, |
66 | TP_PROTO(char *state, char *event), |
67 | TP_ARGS(state, event)); |
68 | #endif /* CONFIG_RV_MON_WIP */ |
69 | #endif /* CONFIG_DA_MON_EVENTS_IMPLICIT */ |
70 | |
71 | #ifdef CONFIG_DA_MON_EVENTS_ID |
72 | DECLARE_EVENT_CLASS(event_da_monitor_id, |
73 | |
74 | TP_PROTO(int id, char *state, char *event, char *next_state, bool final_state), |
75 | |
76 | TP_ARGS(id, state, event, next_state, final_state), |
77 | |
78 | TP_STRUCT__entry( |
79 | __field( int, id ) |
80 | __array( char, state, MAX_DA_NAME_LEN ) |
81 | __array( char, event, MAX_DA_NAME_LEN ) |
82 | __array( char, next_state, MAX_DA_NAME_LEN ) |
83 | __field( bool, final_state ) |
84 | ), |
85 | |
86 | TP_fast_assign( |
87 | memcpy(__entry->state, state, MAX_DA_NAME_LEN); |
88 | memcpy(__entry->event, event, MAX_DA_NAME_LEN); |
89 | memcpy(__entry->next_state, next_state, MAX_DA_NAME_LEN); |
90 | __entry->id = id; |
91 | __entry->final_state = final_state; |
92 | ), |
93 | |
94 | TP_printk("%d: %s x %s -> %s %s", |
95 | __entry->id, |
96 | __entry->state, |
97 | __entry->event, |
98 | __entry->next_state, |
99 | __entry->final_state ? "(final)" : "") |
100 | ); |
101 | |
102 | DECLARE_EVENT_CLASS(error_da_monitor_id, |
103 | |
104 | TP_PROTO(int id, char *state, char *event), |
105 | |
106 | TP_ARGS(id, state, event), |
107 | |
108 | TP_STRUCT__entry( |
109 | __field( int, id ) |
110 | __array( char, state, MAX_DA_NAME_LEN ) |
111 | __array( char, event, MAX_DA_NAME_LEN ) |
112 | ), |
113 | |
114 | TP_fast_assign( |
115 | memcpy(__entry->state, state, MAX_DA_NAME_LEN); |
116 | memcpy(__entry->event, event, MAX_DA_NAME_LEN); |
117 | __entry->id = id; |
118 | ), |
119 | |
120 | TP_printk("%d: event %s not expected in the state %s", |
121 | __entry->id, |
122 | __entry->event, |
123 | __entry->state) |
124 | ); |
125 | |
126 | #ifdef CONFIG_RV_MON_WWNR |
127 | /* id is the pid of the task */ |
128 | DEFINE_EVENT(event_da_monitor_id, event_wwnr, |
129 | TP_PROTO(int id, char *state, char *event, char *next_state, bool final_state), |
130 | TP_ARGS(id, state, event, next_state, final_state)); |
131 | |
132 | DEFINE_EVENT(error_da_monitor_id, error_wwnr, |
133 | TP_PROTO(int id, char *state, char *event), |
134 | TP_ARGS(id, state, event)); |
135 | #endif /* CONFIG_RV_MON_WWNR */ |
136 | |
137 | #endif /* CONFIG_DA_MON_EVENTS_ID */ |
138 | #endif /* _TRACE_RV_H */ |
139 | |
140 | /* This part ust be outside protection */ |
141 | #undef TRACE_INCLUDE_PATH |
142 | #include <trace/define_trace.h> |
143 |
Warning: This file is not a C or C++ file. It does not have highlighting.