Update README.md for supported kernel
[lttng-modules.git] / instrumentation / events / lttng-module / power.h
CommitLineData
b7cdc182 1/* SPDX-License-Identifier: GPL-2.0-only */
b283666f
PW
2#undef TRACE_SYSTEM
3#define TRACE_SYSTEM power
4
3bc29f0a
MD
5#if !defined(LTTNG_TRACE_POWER_H) || defined(TRACE_HEADER_MULTI_READ)
6#define LTTNG_TRACE_POWER_H
b283666f 7
6ec43db8 8#include <probes/lttng-tracepoint-event.h>
b283666f 9#include <linux/ktime.h>
b283666f 10
3bc29f0a 11LTTNG_TRACEPOINT_EVENT_CLASS(power_cpu,
b283666f
PW
12
13 TP_PROTO(unsigned int state, unsigned int cpu_id),
14
15 TP_ARGS(state, cpu_id),
16
f127e61e
MD
17 TP_FIELDS(
18 ctf_integer(u32, state, state)
19 ctf_integer(u32, cpu_id, cpu_id)
20 )
b283666f
PW
21)
22
3bc29f0a 23LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(power_cpu, cpu_idle,
9cf29d3e
MD
24
25 power_cpu_idle,
b283666f
PW
26
27 TP_PROTO(unsigned int state, unsigned int cpu_id),
28
29 TP_ARGS(state, cpu_id)
30)
31
32/* This file can get included multiple times, TRACE_HEADER_MULTI_READ at top */
33#ifndef _PWR_EVENT_AVOID_DOUBLE_DEFINING
34#define _PWR_EVENT_AVOID_DOUBLE_DEFINING
35
36#define PWR_EVENT_EXIT -1
37#endif
38
3bc29f0a 39LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(power_cpu, cpu_frequency,
9cf29d3e
MD
40
41 power_cpu_frequency,
b283666f
PW
42
43 TP_PROTO(unsigned int frequency, unsigned int cpu_id),
44
45 TP_ARGS(frequency, cpu_id)
46)
47
3bc29f0a 48LTTNG_TRACEPOINT_EVENT_MAP(machine_suspend,
9cf29d3e
MD
49
50 power_machine_suspend,
b283666f
PW
51
52 TP_PROTO(unsigned int state),
53
54 TP_ARGS(state),
55
f127e61e
MD
56 TP_FIELDS(
57 ctf_integer(u32, state, state)
58 )
b283666f 59)
7c68b363 60
3bc29f0a 61LTTNG_TRACEPOINT_EVENT_CLASS(power_wakeup_source,
7c68b363
AG
62
63 TP_PROTO(const char *name, unsigned int state),
64
65 TP_ARGS(name, state),
66
f127e61e
MD
67 TP_FIELDS(
68 ctf_string(name, name)
69 ctf_integer(u64, state, state)
70 )
7c68b363
AG
71)
72
3bc29f0a 73LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(power_wakeup_source, wakeup_source_activate,
9cf29d3e
MD
74
75 power_wakeup_source_activate,
7c68b363
AG
76
77 TP_PROTO(const char *name, unsigned int state),
78
79 TP_ARGS(name, state)
80)
81
3bc29f0a 82LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(power_wakeup_source, wakeup_source_deactivate,
9cf29d3e
MD
83
84 power_wakeup_source_deactivate,
7c68b363
AG
85
86 TP_PROTO(const char *name, unsigned int state),
87
88 TP_ARGS(name, state)
89)
b283666f
PW
90
91/*
92 * The clock events are used for clock enable/disable and for
93 * clock rate change
94 */
3bc29f0a 95LTTNG_TRACEPOINT_EVENT_CLASS(power_clock,
b283666f
PW
96
97 TP_PROTO(const char *name, unsigned int state, unsigned int cpu_id),
98
99 TP_ARGS(name, state, cpu_id),
100
f127e61e
MD
101 TP_FIELDS(
102 ctf_string(name, name)
103 ctf_integer(u64, state, state)
104 ctf_integer(u64, cpu_id, cpu_id)
105 )
b283666f
PW
106)
107
3bc29f0a 108LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(power_clock, clock_enable,
9cf29d3e
MD
109
110 power_clock_enable,
b283666f
PW
111
112 TP_PROTO(const char *name, unsigned int state, unsigned int cpu_id),
113
114 TP_ARGS(name, state, cpu_id)
115)
116
3bc29f0a 117LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(power_clock, clock_disable,
9cf29d3e
MD
118
119 power_clock_disable,
b283666f
PW
120
121 TP_PROTO(const char *name, unsigned int state, unsigned int cpu_id),
122
123 TP_ARGS(name, state, cpu_id)
124)
125
3bc29f0a 126LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(power_clock, clock_set_rate,
9cf29d3e
MD
127
128 power_clock_set_rate,
b283666f
PW
129
130 TP_PROTO(const char *name, unsigned int state, unsigned int cpu_id),
131
132 TP_ARGS(name, state, cpu_id)
133)
134
135/*
136 * The power domain events are used for power domains transitions
137 */
3bc29f0a 138LTTNG_TRACEPOINT_EVENT_CLASS(power_domain,
b283666f
PW
139
140 TP_PROTO(const char *name, unsigned int state, unsigned int cpu_id),
141
142 TP_ARGS(name, state, cpu_id),
143
f127e61e
MD
144 TP_FIELDS(
145 ctf_string(name, name)
146 ctf_integer(u64, state, state)
147 ctf_integer(u64, cpu_id, cpu_id)
148 )
b283666f
PW
149)
150
3bc29f0a 151LTTNG_TRACEPOINT_EVENT_INSTANCE(power_domain, power_domain_target,
b283666f
PW
152
153 TP_PROTO(const char *name, unsigned int state, unsigned int cpu_id),
154
155 TP_ARGS(name, state, cpu_id)
156)
7c68b363 157
3bc29f0a 158#endif /* LTTNG_TRACE_POWER_H */
b283666f
PW
159
160/* This part must be outside protection */
6ec43db8 161#include <probes/define_trace.h>
This page took 0.043122 seconds and 4 git commands to generate.