xref: /openbmc/linux/drivers/net/wireless/ath/ath11k/trace.h (revision 7e24a55b2122746c2eef192296fc84624354f895)
1d5c65159SKalle Valo /* SPDX-License-Identifier: BSD-3-Clause-Clear */
2d5c65159SKalle Valo /*
3d5c65159SKalle Valo  * Copyright (c) 2019 The Linux Foundation. All rights reserved.
4*586c7fb1SJeff Johnson  * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
5d5c65159SKalle Valo  */
6d5c65159SKalle Valo 
7d5c65159SKalle Valo #if !defined(_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ)
8d5c65159SKalle Valo 
9d5c65159SKalle Valo #include <linux/tracepoint.h>
10d5c65159SKalle Valo #include "core.h"
11d5c65159SKalle Valo 
12d5c65159SKalle Valo #define _TRACE_H_
13d5c65159SKalle Valo 
14d5c65159SKalle Valo /* create empty functions when tracing is disabled */
15d5c65159SKalle Valo #if !defined(CONFIG_ATH11K_TRACING)
16d5c65159SKalle Valo #undef TRACE_EVENT
17d5c65159SKalle Valo #define TRACE_EVENT(name, proto, ...) \
18fb12305aSVenkateswara Naralasetty static inline void trace_ ## name(proto) {} \
19fb12305aSVenkateswara Naralasetty static inline bool trace_##name##_enabled(void) \
20fb12305aSVenkateswara Naralasetty {						\
21fb12305aSVenkateswara Naralasetty 	return false;				\
22fb12305aSVenkateswara Naralasetty }
23fb12305aSVenkateswara Naralasetty 
24fb12305aSVenkateswara Naralasetty #undef DECLARE_EVENT_CLASS
25fb12305aSVenkateswara Naralasetty #define DECLARE_EVENT_CLASS(...)
26fb12305aSVenkateswara Naralasetty #undef DEFINE_EVENT
27fb12305aSVenkateswara Naralasetty #define DEFINE_EVENT(evt_class, name, proto, ...) \
28d5c65159SKalle Valo static inline void trace_ ## name(proto) {}
29d5c65159SKalle Valo #endif /* !CONFIG_ATH11K_TRACING || __CHECKER__ */
30d5c65159SKalle Valo 
31e8da3986SAnilkumar Kolli #undef TRACE_SYSTEM
32e8da3986SAnilkumar Kolli #define TRACE_SYSTEM ath11k
33e8da3986SAnilkumar Kolli 
34fb12305aSVenkateswara Naralasetty #define ATH11K_MSG_MAX 400
35fb12305aSVenkateswara Naralasetty 
36d5c65159SKalle Valo TRACE_EVENT(ath11k_htt_pktlog,
3721c1b063SMaharaja Kennadyrajan 	    TP_PROTO(struct ath11k *ar, const void *buf, u16 buf_len,
3821c1b063SMaharaja Kennadyrajan 		     u32 pktlog_checksum),
39d5c65159SKalle Valo 
4021c1b063SMaharaja Kennadyrajan 	TP_ARGS(ar, buf, buf_len, pktlog_checksum),
41d5c65159SKalle Valo 
42d5c65159SKalle Valo 	TP_STRUCT__entry(
43d5c65159SKalle Valo 		__string(device, dev_name(ar->ab->dev))
44d5c65159SKalle Valo 		__string(driver, dev_driver_string(ar->ab->dev))
45d5c65159SKalle Valo 		__field(u16, buf_len)
4621c1b063SMaharaja Kennadyrajan 		__field(u32, pktlog_checksum)
47d5c65159SKalle Valo 		__dynamic_array(u8, pktlog, buf_len)
48d5c65159SKalle Valo 	),
49d5c65159SKalle Valo 
50d5c65159SKalle Valo 	TP_fast_assign(
51d5c65159SKalle Valo 		__assign_str(device, dev_name(ar->ab->dev));
52d5c65159SKalle Valo 		__assign_str(driver, dev_driver_string(ar->ab->dev));
53d5c65159SKalle Valo 		__entry->buf_len = buf_len;
5421c1b063SMaharaja Kennadyrajan 		__entry->pktlog_checksum = pktlog_checksum;
55d5c65159SKalle Valo 		memcpy(__get_dynamic_array(pktlog), buf, buf_len);
56d5c65159SKalle Valo 	),
57d5c65159SKalle Valo 
58d5c65159SKalle Valo 	TP_printk(
59bb2d2dfdSTom Rix 		"%s %s size %u pktlog_checksum %d",
60d5c65159SKalle Valo 		__get_str(driver),
61d5c65159SKalle Valo 		__get_str(device),
6221c1b063SMaharaja Kennadyrajan 		__entry->buf_len,
6321c1b063SMaharaja Kennadyrajan 		__entry->pktlog_checksum
64d5c65159SKalle Valo 	 )
65d5c65159SKalle Valo );
66d5c65159SKalle Valo 
67d5c65159SKalle Valo TRACE_EVENT(ath11k_htt_ppdu_stats,
68d5c65159SKalle Valo 	    TP_PROTO(struct ath11k *ar, const void *data, size_t len),
69d5c65159SKalle Valo 
70d5c65159SKalle Valo 	TP_ARGS(ar, data, len),
71d5c65159SKalle Valo 
72d5c65159SKalle Valo 	TP_STRUCT__entry(
73d5c65159SKalle Valo 		__string(device, dev_name(ar->ab->dev))
74d5c65159SKalle Valo 		__string(driver, dev_driver_string(ar->ab->dev))
75d5c65159SKalle Valo 		__field(u16, len)
76d5c65159SKalle Valo 		__dynamic_array(u8, ppdu, len)
77d5c65159SKalle Valo 	),
78d5c65159SKalle Valo 
79d5c65159SKalle Valo 	TP_fast_assign(
80d5c65159SKalle Valo 		__assign_str(device, dev_name(ar->ab->dev));
81d5c65159SKalle Valo 		__assign_str(driver, dev_driver_string(ar->ab->dev));
82d5c65159SKalle Valo 		__entry->len = len;
83d5c65159SKalle Valo 		memcpy(__get_dynamic_array(ppdu), data, len);
84d5c65159SKalle Valo 	),
85d5c65159SKalle Valo 
86d5c65159SKalle Valo 	TP_printk(
87d5c65159SKalle Valo 		"%s %s ppdu len %d",
88d5c65159SKalle Valo 		__get_str(driver),
89d5c65159SKalle Valo 		__get_str(device),
90d5c65159SKalle Valo 		__entry->len
91d5c65159SKalle Valo 	 )
92d5c65159SKalle Valo );
93d5c65159SKalle Valo 
94d5c65159SKalle Valo TRACE_EVENT(ath11k_htt_rxdesc,
95ab18e3bcSAnilkumar Kolli 	    TP_PROTO(struct ath11k *ar, const void *data, size_t log_type, size_t len),
96d5c65159SKalle Valo 
97ab18e3bcSAnilkumar Kolli 	TP_ARGS(ar, data, log_type, len),
98d5c65159SKalle Valo 
99d5c65159SKalle Valo 	TP_STRUCT__entry(
100d5c65159SKalle Valo 		__string(device, dev_name(ar->ab->dev))
101d5c65159SKalle Valo 		__string(driver, dev_driver_string(ar->ab->dev))
102d5c65159SKalle Valo 		__field(u16, len)
103ab18e3bcSAnilkumar Kolli 		__field(u16, log_type)
104d5c65159SKalle Valo 		__dynamic_array(u8, rxdesc, len)
105d5c65159SKalle Valo 	),
106d5c65159SKalle Valo 
107d5c65159SKalle Valo 	TP_fast_assign(
108d5c65159SKalle Valo 		__assign_str(device, dev_name(ar->ab->dev));
109d5c65159SKalle Valo 		__assign_str(driver, dev_driver_string(ar->ab->dev));
110d5c65159SKalle Valo 		__entry->len = len;
111ab18e3bcSAnilkumar Kolli 		__entry->log_type = log_type;
112d5c65159SKalle Valo 		memcpy(__get_dynamic_array(rxdesc), data, len);
113d5c65159SKalle Valo 	),
114d5c65159SKalle Valo 
115d5c65159SKalle Valo 	TP_printk(
116ab18e3bcSAnilkumar Kolli 		"%s %s rxdesc len %d type %d",
117d5c65159SKalle Valo 		__get_str(driver),
118d5c65159SKalle Valo 		__get_str(device),
119ab18e3bcSAnilkumar Kolli 		__entry->len,
120ab18e3bcSAnilkumar Kolli 		__entry->log_type
121d5c65159SKalle Valo 	 )
122d5c65159SKalle Valo );
123d5c65159SKalle Valo 
124fb12305aSVenkateswara Naralasetty DECLARE_EVENT_CLASS(ath11k_log_event,
125fb12305aSVenkateswara Naralasetty 		    TP_PROTO(struct ath11k_base *ab, struct va_format *vaf),
126fb12305aSVenkateswara Naralasetty 	TP_ARGS(ab, vaf),
127fb12305aSVenkateswara Naralasetty 	TP_STRUCT__entry(
128fb12305aSVenkateswara Naralasetty 		__string(device, dev_name(ab->dev))
129fb12305aSVenkateswara Naralasetty 		__string(driver, dev_driver_string(ab->dev))
130c01406f8SSteven Rostedt (Google) 		__vstring(msg, vaf->fmt, vaf->va)
131fb12305aSVenkateswara Naralasetty 	),
132fb12305aSVenkateswara Naralasetty 	TP_fast_assign(
133fb12305aSVenkateswara Naralasetty 		__assign_str(device, dev_name(ab->dev));
134fb12305aSVenkateswara Naralasetty 		__assign_str(driver, dev_driver_string(ab->dev));
135c01406f8SSteven Rostedt (Google) 		__assign_vstr(msg, vaf->fmt, vaf->va);
136fb12305aSVenkateswara Naralasetty 	),
137fb12305aSVenkateswara Naralasetty 	TP_printk(
138fb12305aSVenkateswara Naralasetty 		"%s %s %s",
139fb12305aSVenkateswara Naralasetty 		__get_str(driver),
140fb12305aSVenkateswara Naralasetty 		__get_str(device),
141fb12305aSVenkateswara Naralasetty 		__get_str(msg)
142fb12305aSVenkateswara Naralasetty 	)
143fb12305aSVenkateswara Naralasetty );
144fb12305aSVenkateswara Naralasetty 
145fb12305aSVenkateswara Naralasetty DEFINE_EVENT(ath11k_log_event, ath11k_log_err,
146fb12305aSVenkateswara Naralasetty 	     TP_PROTO(struct ath11k_base *ab, struct va_format *vaf),
147fb12305aSVenkateswara Naralasetty 	     TP_ARGS(ab, vaf)
148fb12305aSVenkateswara Naralasetty );
149fb12305aSVenkateswara Naralasetty 
150fb12305aSVenkateswara Naralasetty DEFINE_EVENT(ath11k_log_event, ath11k_log_warn,
151fb12305aSVenkateswara Naralasetty 	     TP_PROTO(struct ath11k_base *ab, struct va_format *vaf),
152fb12305aSVenkateswara Naralasetty 	     TP_ARGS(ab, vaf)
153fb12305aSVenkateswara Naralasetty );
154fb12305aSVenkateswara Naralasetty 
155fb12305aSVenkateswara Naralasetty DEFINE_EVENT(ath11k_log_event, ath11k_log_info,
156fb12305aSVenkateswara Naralasetty 	     TP_PROTO(struct ath11k_base *ab, struct va_format *vaf),
157fb12305aSVenkateswara Naralasetty 	     TP_ARGS(ab, vaf)
158fb12305aSVenkateswara Naralasetty );
159fb12305aSVenkateswara Naralasetty 
160fb12305aSVenkateswara Naralasetty TRACE_EVENT(ath11k_wmi_cmd,
161fb12305aSVenkateswara Naralasetty 	    TP_PROTO(struct ath11k_base *ab, int id, const void *buf, size_t buf_len),
162fb12305aSVenkateswara Naralasetty 
163fb12305aSVenkateswara Naralasetty 	TP_ARGS(ab, id, buf, buf_len),
164fb12305aSVenkateswara Naralasetty 
165fb12305aSVenkateswara Naralasetty 	TP_STRUCT__entry(
166fb12305aSVenkateswara Naralasetty 		__string(device, dev_name(ab->dev))
167fb12305aSVenkateswara Naralasetty 		__string(driver, dev_driver_string(ab->dev))
168fb12305aSVenkateswara Naralasetty 		__field(unsigned int, id)
169fb12305aSVenkateswara Naralasetty 		__field(size_t, buf_len)
170fb12305aSVenkateswara Naralasetty 		__dynamic_array(u8, buf, buf_len)
171fb12305aSVenkateswara Naralasetty 	),
172fb12305aSVenkateswara Naralasetty 
173fb12305aSVenkateswara Naralasetty 	TP_fast_assign(
174fb12305aSVenkateswara Naralasetty 		__assign_str(device, dev_name(ab->dev));
175fb12305aSVenkateswara Naralasetty 		__assign_str(driver, dev_driver_string(ab->dev));
176fb12305aSVenkateswara Naralasetty 		__entry->id = id;
177fb12305aSVenkateswara Naralasetty 		__entry->buf_len = buf_len;
178fb12305aSVenkateswara Naralasetty 		memcpy(__get_dynamic_array(buf), buf, buf_len);
179fb12305aSVenkateswara Naralasetty 	),
180fb12305aSVenkateswara Naralasetty 
181fb12305aSVenkateswara Naralasetty 	TP_printk(
182fb12305aSVenkateswara Naralasetty 		"%s %s id %d len %zu",
183fb12305aSVenkateswara Naralasetty 		__get_str(driver),
184fb12305aSVenkateswara Naralasetty 		__get_str(device),
185fb12305aSVenkateswara Naralasetty 		__entry->id,
186fb12305aSVenkateswara Naralasetty 		__entry->buf_len
187fb12305aSVenkateswara Naralasetty 	 )
188fb12305aSVenkateswara Naralasetty );
189fb12305aSVenkateswara Naralasetty 
190fb12305aSVenkateswara Naralasetty TRACE_EVENT(ath11k_wmi_event,
191fb12305aSVenkateswara Naralasetty 	    TP_PROTO(struct ath11k_base *ab, int id, const void *buf, size_t buf_len),
192fb12305aSVenkateswara Naralasetty 
193fb12305aSVenkateswara Naralasetty 	TP_ARGS(ab, id, buf, buf_len),
194fb12305aSVenkateswara Naralasetty 
195fb12305aSVenkateswara Naralasetty 	TP_STRUCT__entry(
196fb12305aSVenkateswara Naralasetty 		__string(device, dev_name(ab->dev))
197fb12305aSVenkateswara Naralasetty 		__string(driver, dev_driver_string(ab->dev))
198fb12305aSVenkateswara Naralasetty 		__field(unsigned int, id)
199fb12305aSVenkateswara Naralasetty 		__field(size_t, buf_len)
200fb12305aSVenkateswara Naralasetty 		__dynamic_array(u8, buf, buf_len)
201fb12305aSVenkateswara Naralasetty 	),
202fb12305aSVenkateswara Naralasetty 
203fb12305aSVenkateswara Naralasetty 	TP_fast_assign(
204fb12305aSVenkateswara Naralasetty 		__assign_str(device, dev_name(ab->dev));
205fb12305aSVenkateswara Naralasetty 		__assign_str(driver, dev_driver_string(ab->dev));
206fb12305aSVenkateswara Naralasetty 		__entry->id = id;
207fb12305aSVenkateswara Naralasetty 		__entry->buf_len = buf_len;
208fb12305aSVenkateswara Naralasetty 		memcpy(__get_dynamic_array(buf), buf, buf_len);
209fb12305aSVenkateswara Naralasetty 	),
210fb12305aSVenkateswara Naralasetty 
211fb12305aSVenkateswara Naralasetty 	TP_printk(
212fb12305aSVenkateswara Naralasetty 		"%s %s id %d len %zu",
213fb12305aSVenkateswara Naralasetty 		__get_str(driver),
214fb12305aSVenkateswara Naralasetty 		__get_str(device),
215fb12305aSVenkateswara Naralasetty 		__entry->id,
216fb12305aSVenkateswara Naralasetty 		__entry->buf_len
217fb12305aSVenkateswara Naralasetty 	)
218fb12305aSVenkateswara Naralasetty );
219fb12305aSVenkateswara Naralasetty 
220fb12305aSVenkateswara Naralasetty TRACE_EVENT(ath11k_log_dbg,
221fb12305aSVenkateswara Naralasetty 	    TP_PROTO(struct ath11k_base *ab, unsigned int level, struct va_format *vaf),
222fb12305aSVenkateswara Naralasetty 
223fb12305aSVenkateswara Naralasetty 	TP_ARGS(ab, level, vaf),
224fb12305aSVenkateswara Naralasetty 
225fb12305aSVenkateswara Naralasetty 	TP_STRUCT__entry(
226fb12305aSVenkateswara Naralasetty 		__string(device, dev_name(ab->dev))
227fb12305aSVenkateswara Naralasetty 		__string(driver, dev_driver_string(ab->dev))
228fb12305aSVenkateswara Naralasetty 		__field(unsigned int, level)
229fb12305aSVenkateswara Naralasetty 		__dynamic_array(char, msg, ATH11K_MSG_MAX)
230fb12305aSVenkateswara Naralasetty 	),
231fb12305aSVenkateswara Naralasetty 
232fb12305aSVenkateswara Naralasetty 	TP_fast_assign(
233fb12305aSVenkateswara Naralasetty 		__assign_str(device, dev_name(ab->dev));
234fb12305aSVenkateswara Naralasetty 		__assign_str(driver, dev_driver_string(ab->dev));
235fb12305aSVenkateswara Naralasetty 		__entry->level = level;
236fb12305aSVenkateswara Naralasetty 		WARN_ON_ONCE(vsnprintf(__get_dynamic_array(msg),
237fb12305aSVenkateswara Naralasetty 				       ATH11K_MSG_MAX, vaf->fmt,
238fb12305aSVenkateswara Naralasetty 				       *vaf->va) >= ATH11K_MSG_MAX);
239fb12305aSVenkateswara Naralasetty 	),
240fb12305aSVenkateswara Naralasetty 
241fb12305aSVenkateswara Naralasetty 	TP_printk(
242fb12305aSVenkateswara Naralasetty 		"%s %s %s",
243fb12305aSVenkateswara Naralasetty 		__get_str(driver),
244fb12305aSVenkateswara Naralasetty 		__get_str(device),
245fb12305aSVenkateswara Naralasetty 		__get_str(msg)
246fb12305aSVenkateswara Naralasetty 	)
247fb12305aSVenkateswara Naralasetty );
248fb12305aSVenkateswara Naralasetty 
249fb12305aSVenkateswara Naralasetty TRACE_EVENT(ath11k_log_dbg_dump,
250fb12305aSVenkateswara Naralasetty 	    TP_PROTO(struct ath11k_base *ab, const char *msg, const char *prefix,
251fb12305aSVenkateswara Naralasetty 		     const void *buf, size_t buf_len),
252fb12305aSVenkateswara Naralasetty 
253fb12305aSVenkateswara Naralasetty 	TP_ARGS(ab, msg, prefix, buf, buf_len),
254fb12305aSVenkateswara Naralasetty 
255fb12305aSVenkateswara Naralasetty 	TP_STRUCT__entry(
256fb12305aSVenkateswara Naralasetty 		__string(device, dev_name(ab->dev))
257fb12305aSVenkateswara Naralasetty 		__string(driver, dev_driver_string(ab->dev))
258fb12305aSVenkateswara Naralasetty 		__string(msg, msg)
259fb12305aSVenkateswara Naralasetty 		__string(prefix, prefix)
260fb12305aSVenkateswara Naralasetty 		__field(size_t, buf_len)
261fb12305aSVenkateswara Naralasetty 		__dynamic_array(u8, buf, buf_len)
262fb12305aSVenkateswara Naralasetty 	),
263fb12305aSVenkateswara Naralasetty 
264fb12305aSVenkateswara Naralasetty 	TP_fast_assign(
265fb12305aSVenkateswara Naralasetty 		__assign_str(device, dev_name(ab->dev));
266fb12305aSVenkateswara Naralasetty 		__assign_str(driver, dev_driver_string(ab->dev));
267fb12305aSVenkateswara Naralasetty 		__assign_str(msg, msg);
268fb12305aSVenkateswara Naralasetty 		__assign_str(prefix, prefix);
269fb12305aSVenkateswara Naralasetty 		__entry->buf_len = buf_len;
270fb12305aSVenkateswara Naralasetty 		memcpy(__get_dynamic_array(buf), buf, buf_len);
271fb12305aSVenkateswara Naralasetty 	),
272fb12305aSVenkateswara Naralasetty 
273fb12305aSVenkateswara Naralasetty 	TP_printk(
274fb12305aSVenkateswara Naralasetty 		"%s %s %s/%s\n",
275fb12305aSVenkateswara Naralasetty 		__get_str(driver),
276fb12305aSVenkateswara Naralasetty 		__get_str(device),
277fb12305aSVenkateswara Naralasetty 		__get_str(prefix),
278fb12305aSVenkateswara Naralasetty 		__get_str(msg)
279fb12305aSVenkateswara Naralasetty 	)
280fb12305aSVenkateswara Naralasetty );
28142da1cc7SCheng Wang 
28242da1cc7SCheng Wang TRACE_EVENT(ath11k_wmi_diag,
28342da1cc7SCheng Wang 	    TP_PROTO(struct ath11k_base *ab, const void *data, size_t len),
28442da1cc7SCheng Wang 
28542da1cc7SCheng Wang 	TP_ARGS(ab, data, len),
28642da1cc7SCheng Wang 
28742da1cc7SCheng Wang 	TP_STRUCT__entry(
28842da1cc7SCheng Wang 		__string(device, dev_name(ab->dev))
28942da1cc7SCheng Wang 		__string(driver, dev_driver_string(ab->dev))
29042da1cc7SCheng Wang 		__field(u16, len)
29142da1cc7SCheng Wang 		__dynamic_array(u8, data, len)
29242da1cc7SCheng Wang 	),
29342da1cc7SCheng Wang 
29442da1cc7SCheng Wang 	TP_fast_assign(
29542da1cc7SCheng Wang 		__assign_str(device, dev_name(ab->dev));
29642da1cc7SCheng Wang 		__assign_str(driver, dev_driver_string(ab->dev));
29742da1cc7SCheng Wang 		__entry->len = len;
29842da1cc7SCheng Wang 		memcpy(__get_dynamic_array(data), data, len);
29942da1cc7SCheng Wang 	),
30042da1cc7SCheng Wang 
30142da1cc7SCheng Wang 	TP_printk(
30242da1cc7SCheng Wang 		"%s %s tlv diag len %d",
30342da1cc7SCheng Wang 		__get_str(driver),
30442da1cc7SCheng Wang 		__get_str(device),
30542da1cc7SCheng Wang 		__entry->len
30642da1cc7SCheng Wang 	)
30742da1cc7SCheng Wang );
30842da1cc7SCheng Wang 
309710a95f9SVenkateswara Naralasetty TRACE_EVENT(ath11k_ps_timekeeper,
310710a95f9SVenkateswara Naralasetty 	    TP_PROTO(struct ath11k *ar, const void *peer_addr,
311710a95f9SVenkateswara Naralasetty 		     u32 peer_ps_timestamp, u8 peer_ps_state),
312710a95f9SVenkateswara Naralasetty 	TP_ARGS(ar, peer_addr, peer_ps_timestamp, peer_ps_state),
313710a95f9SVenkateswara Naralasetty 
314710a95f9SVenkateswara Naralasetty 	TP_STRUCT__entry(__string(device, dev_name(ar->ab->dev))
315710a95f9SVenkateswara Naralasetty 			 __string(driver, dev_driver_string(ar->ab->dev))
316710a95f9SVenkateswara Naralasetty 			 __dynamic_array(u8, peer_addr, ETH_ALEN)
317710a95f9SVenkateswara Naralasetty 			 __field(u8, peer_ps_state)
318710a95f9SVenkateswara Naralasetty 			 __field(u32, peer_ps_timestamp)
319710a95f9SVenkateswara Naralasetty 	),
320710a95f9SVenkateswara Naralasetty 
321710a95f9SVenkateswara Naralasetty 	TP_fast_assign(__assign_str(device, dev_name(ar->ab->dev));
322710a95f9SVenkateswara Naralasetty 		       __assign_str(driver, dev_driver_string(ar->ab->dev));
323710a95f9SVenkateswara Naralasetty 		       memcpy(__get_dynamic_array(peer_addr), peer_addr,
324710a95f9SVenkateswara Naralasetty 			      ETH_ALEN);
325710a95f9SVenkateswara Naralasetty 		       __entry->peer_ps_state = peer_ps_state;
326710a95f9SVenkateswara Naralasetty 		       __entry->peer_ps_timestamp = peer_ps_timestamp;
327710a95f9SVenkateswara Naralasetty 	),
328710a95f9SVenkateswara Naralasetty 
329710a95f9SVenkateswara Naralasetty 	TP_printk("%s %s %u %u",
330710a95f9SVenkateswara Naralasetty 		  __get_str(driver),
331710a95f9SVenkateswara Naralasetty 		  __get_str(device),
332710a95f9SVenkateswara Naralasetty 		  __entry->peer_ps_state,
333710a95f9SVenkateswara Naralasetty 		  __entry->peer_ps_timestamp
334710a95f9SVenkateswara Naralasetty 	)
335710a95f9SVenkateswara Naralasetty );
336710a95f9SVenkateswara Naralasetty 
337d5c65159SKalle Valo #endif /* _TRACE_H_ || TRACE_HEADER_MULTI_READ*/
338d5c65159SKalle Valo 
339d5c65159SKalle Valo /* we don't want to use include/trace/events */
340d5c65159SKalle Valo #undef TRACE_INCLUDE_PATH
341d5c65159SKalle Valo #define TRACE_INCLUDE_PATH .
342d5c65159SKalle Valo #undef TRACE_INCLUDE_FILE
343d5c65159SKalle Valo #define TRACE_INCLUDE_FILE trace
344d5c65159SKalle Valo 
345d5c65159SKalle Valo /* This part must be outside protection */
346d5c65159SKalle Valo #include <trace/define_trace.h>
347