brintos

brintos / linux-shallow public Read only

0
0
Text · 2.4 KiB · a41e3bf Raw
108 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#if !defined(__TRACE_ATH5K_H) || defined(TRACE_HEADER_MULTI_READ)3#define __TRACE_ATH5K_H4 5#include <linux/tracepoint.h>6 7 8#if !defined(CONFIG_ATH5K_TRACER) || defined(__CHECKER__)9#undef TRACE_EVENT10#define TRACE_EVENT(name, proto, ...) \11static inline void trace_ ## name(proto) {}12#endif13 14struct sk_buff;15struct ath5k_txq;16struct ath5k_tx_status;17 18#undef TRACE_SYSTEM19#define TRACE_SYSTEM ath5k20 21TRACE_EVENT(ath5k_rx,22	TP_PROTO(struct ath5k_hw *priv, struct sk_buff *skb),23	TP_ARGS(priv, skb),24	TP_STRUCT__entry(25		__field(struct ath5k_hw *, priv)26		__field(unsigned long, skbaddr)27		__dynamic_array(u8, frame, skb->len)28	),29	TP_fast_assign(30		__entry->priv = priv;31		__entry->skbaddr = (unsigned long) skb;32		memcpy(__get_dynamic_array(frame), skb->data, skb->len);33	),34	TP_printk(35		"[%p] RX skb=%lx", __entry->priv, __entry->skbaddr36	)37);38 39TRACE_EVENT(ath5k_tx,40	TP_PROTO(struct ath5k_hw *priv, struct sk_buff *skb,41		 struct ath5k_txq *q),42 43	TP_ARGS(priv, skb, q),44 45	TP_STRUCT__entry(46		__field(struct ath5k_hw *, priv)47		__field(unsigned long, skbaddr)48		__field(u8, qnum)49		__dynamic_array(u8, frame, skb->len)50	),51 52	TP_fast_assign(53		__entry->priv = priv;54		__entry->skbaddr = (unsigned long) skb;55		__entry->qnum = (u8) q->qnum;56		memcpy(__get_dynamic_array(frame), skb->data, skb->len);57	),58 59	TP_printk(60		"[%p] TX skb=%lx q=%d", __entry->priv, __entry->skbaddr,61		__entry->qnum62	)63);64 65TRACE_EVENT(ath5k_tx_complete,66	TP_PROTO(struct ath5k_hw *priv, struct sk_buff *skb,67		 struct ath5k_txq *q, struct ath5k_tx_status *ts),68 69	TP_ARGS(priv, skb, q, ts),70 71	TP_STRUCT__entry(72		__field(struct ath5k_hw *, priv)73		__field(unsigned long, skbaddr)74		__field(u8, qnum)75		__field(u8, ts_status)76		__field(s8, ts_rssi)77		__field(u8, ts_antenna)78	),79 80	TP_fast_assign(81		__entry->priv = priv;82		__entry->skbaddr = (unsigned long) skb;83		__entry->qnum = (u8) q->qnum;84		__entry->ts_status = ts->ts_status;85		__entry->ts_rssi =  ts->ts_rssi;86		__entry->ts_antenna = ts->ts_antenna;87	),88 89	TP_printk(90		"[%p] TX end skb=%lx q=%d stat=%x rssi=%d ant=%x",91		__entry->priv, __entry->skbaddr, __entry->qnum,92		__entry->ts_status, __entry->ts_rssi, __entry->ts_antenna93	)94);95 96#endif /* __TRACE_ATH5K_H */97 98#if defined(CONFIG_ATH5K_TRACER) && !defined(__CHECKER__)99 100#undef TRACE_INCLUDE_PATH101#define TRACE_INCLUDE_PATH .102#undef TRACE_INCLUDE_FILE103#define TRACE_INCLUDE_FILE trace104 105#include <trace/define_trace.h>106 107#endif108