Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/include/trace/events/clk.h
26298 views
1
/* SPDX-License-Identifier: GPL-2.0-only */
2
/*
3
* Copyright (c) 2014-2015, The Linux Foundation. All rights reserved.
4
*/
5
#undef TRACE_SYSTEM
6
#define TRACE_SYSTEM clk
7
8
#if !defined(_TRACE_CLK_H) || defined(TRACE_HEADER_MULTI_READ)
9
#define _TRACE_CLK_H
10
11
#include <linux/tracepoint.h>
12
13
struct clk_core;
14
15
DECLARE_EVENT_CLASS(clk,
16
17
TP_PROTO(struct clk_core *core),
18
19
TP_ARGS(core),
20
21
TP_STRUCT__entry(
22
__string( name, core->name )
23
),
24
25
TP_fast_assign(
26
__assign_str(name);
27
),
28
29
TP_printk("%s", __get_str(name))
30
);
31
32
DEFINE_EVENT(clk, clk_enable,
33
34
TP_PROTO(struct clk_core *core),
35
36
TP_ARGS(core)
37
);
38
39
DEFINE_EVENT(clk, clk_enable_complete,
40
41
TP_PROTO(struct clk_core *core),
42
43
TP_ARGS(core)
44
);
45
46
DEFINE_EVENT(clk, clk_disable,
47
48
TP_PROTO(struct clk_core *core),
49
50
TP_ARGS(core)
51
);
52
53
DEFINE_EVENT(clk, clk_disable_complete,
54
55
TP_PROTO(struct clk_core *core),
56
57
TP_ARGS(core)
58
);
59
60
DEFINE_EVENT(clk, clk_prepare,
61
62
TP_PROTO(struct clk_core *core),
63
64
TP_ARGS(core)
65
);
66
67
DEFINE_EVENT(clk, clk_prepare_complete,
68
69
TP_PROTO(struct clk_core *core),
70
71
TP_ARGS(core)
72
);
73
74
DEFINE_EVENT(clk, clk_unprepare,
75
76
TP_PROTO(struct clk_core *core),
77
78
TP_ARGS(core)
79
);
80
81
DEFINE_EVENT(clk, clk_unprepare_complete,
82
83
TP_PROTO(struct clk_core *core),
84
85
TP_ARGS(core)
86
);
87
88
DECLARE_EVENT_CLASS(clk_rate,
89
90
TP_PROTO(struct clk_core *core, unsigned long rate),
91
92
TP_ARGS(core, rate),
93
94
TP_STRUCT__entry(
95
__string( name, core->name )
96
__field(unsigned long, rate )
97
),
98
99
TP_fast_assign(
100
__assign_str(name);
101
__entry->rate = rate;
102
),
103
104
TP_printk("%s %lu", __get_str(name), (unsigned long)__entry->rate)
105
);
106
107
DEFINE_EVENT(clk_rate, clk_set_rate,
108
109
TP_PROTO(struct clk_core *core, unsigned long rate),
110
111
TP_ARGS(core, rate)
112
);
113
114
DEFINE_EVENT(clk_rate, clk_set_rate_complete,
115
116
TP_PROTO(struct clk_core *core, unsigned long rate),
117
118
TP_ARGS(core, rate)
119
);
120
121
DEFINE_EVENT(clk_rate, clk_set_min_rate,
122
123
TP_PROTO(struct clk_core *core, unsigned long rate),
124
125
TP_ARGS(core, rate)
126
);
127
128
DEFINE_EVENT(clk_rate, clk_set_max_rate,
129
130
TP_PROTO(struct clk_core *core, unsigned long rate),
131
132
TP_ARGS(core, rate)
133
);
134
135
DECLARE_EVENT_CLASS(clk_rate_range,
136
137
TP_PROTO(struct clk_core *core, unsigned long min, unsigned long max),
138
139
TP_ARGS(core, min, max),
140
141
TP_STRUCT__entry(
142
__string( name, core->name )
143
__field(unsigned long, min )
144
__field(unsigned long, max )
145
),
146
147
TP_fast_assign(
148
__assign_str(name);
149
__entry->min = min;
150
__entry->max = max;
151
),
152
153
TP_printk("%s min %lu max %lu", __get_str(name),
154
(unsigned long)__entry->min,
155
(unsigned long)__entry->max)
156
);
157
158
DEFINE_EVENT(clk_rate_range, clk_set_rate_range,
159
160
TP_PROTO(struct clk_core *core, unsigned long min, unsigned long max),
161
162
TP_ARGS(core, min, max)
163
);
164
165
DECLARE_EVENT_CLASS(clk_parent,
166
167
TP_PROTO(struct clk_core *core, struct clk_core *parent),
168
169
TP_ARGS(core, parent),
170
171
TP_STRUCT__entry(
172
__string( name, core->name )
173
__string( pname, parent ? parent->name : "none" )
174
),
175
176
TP_fast_assign(
177
__assign_str(name);
178
__assign_str(pname);
179
),
180
181
TP_printk("%s %s", __get_str(name), __get_str(pname))
182
);
183
184
DEFINE_EVENT(clk_parent, clk_set_parent,
185
186
TP_PROTO(struct clk_core *core, struct clk_core *parent),
187
188
TP_ARGS(core, parent)
189
);
190
191
DEFINE_EVENT(clk_parent, clk_set_parent_complete,
192
193
TP_PROTO(struct clk_core *core, struct clk_core *parent),
194
195
TP_ARGS(core, parent)
196
);
197
198
DECLARE_EVENT_CLASS(clk_phase,
199
200
TP_PROTO(struct clk_core *core, int phase),
201
202
TP_ARGS(core, phase),
203
204
TP_STRUCT__entry(
205
__string( name, core->name )
206
__field( int, phase )
207
),
208
209
TP_fast_assign(
210
__assign_str(name);
211
__entry->phase = phase;
212
),
213
214
TP_printk("%s %d", __get_str(name), (int)__entry->phase)
215
);
216
217
DEFINE_EVENT(clk_phase, clk_set_phase,
218
219
TP_PROTO(struct clk_core *core, int phase),
220
221
TP_ARGS(core, phase)
222
);
223
224
DEFINE_EVENT(clk_phase, clk_set_phase_complete,
225
226
TP_PROTO(struct clk_core *core, int phase),
227
228
TP_ARGS(core, phase)
229
);
230
231
DECLARE_EVENT_CLASS(clk_duty_cycle,
232
233
TP_PROTO(struct clk_core *core, struct clk_duty *duty),
234
235
TP_ARGS(core, duty),
236
237
TP_STRUCT__entry(
238
__string( name, core->name )
239
__field( unsigned int, num )
240
__field( unsigned int, den )
241
),
242
243
TP_fast_assign(
244
__assign_str(name);
245
__entry->num = duty->num;
246
__entry->den = duty->den;
247
),
248
249
TP_printk("%s %u/%u", __get_str(name), (unsigned int)__entry->num,
250
(unsigned int)__entry->den)
251
);
252
253
DEFINE_EVENT(clk_duty_cycle, clk_set_duty_cycle,
254
255
TP_PROTO(struct clk_core *core, struct clk_duty *duty),
256
257
TP_ARGS(core, duty)
258
);
259
260
DEFINE_EVENT(clk_duty_cycle, clk_set_duty_cycle_complete,
261
262
TP_PROTO(struct clk_core *core, struct clk_duty *duty),
263
264
TP_ARGS(core, duty)
265
);
266
267
DECLARE_EVENT_CLASS(clk_rate_request,
268
269
TP_PROTO(struct clk_rate_request *req),
270
271
TP_ARGS(req),
272
273
TP_STRUCT__entry(
274
__string( name, req->core ? req->core->name : "none")
275
__string( pname, req->best_parent_hw ? clk_hw_get_name(req->best_parent_hw) : "none" )
276
__field(unsigned long, min )
277
__field(unsigned long, max )
278
__field(unsigned long, prate )
279
),
280
281
TP_fast_assign(
282
__assign_str(name);
283
__assign_str(pname);
284
__entry->min = req->min_rate;
285
__entry->max = req->max_rate;
286
__entry->prate = req->best_parent_rate;
287
),
288
289
TP_printk("%s min %lu max %lu, parent %s (%lu)", __get_str(name),
290
(unsigned long)__entry->min,
291
(unsigned long)__entry->max,
292
__get_str(pname),
293
(unsigned long)__entry->prate)
294
);
295
296
DEFINE_EVENT(clk_rate_request, clk_rate_request_start,
297
298
TP_PROTO(struct clk_rate_request *req),
299
300
TP_ARGS(req)
301
);
302
303
DEFINE_EVENT(clk_rate_request, clk_rate_request_done,
304
305
TP_PROTO(struct clk_rate_request *req),
306
307
TP_ARGS(req)
308
);
309
310
#endif /* _TRACE_CLK_H */
311
312
/* This part must be outside protection */
313
#include <trace/define_trace.h>
314
315