Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    3) * Portions of this file
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    4) * Copyright(c) 2016-2017 Intel Deutschland GmbH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    5) * Copyright (C) 2018 - 2019 Intel Corporation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    6) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    7) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    8) #if !defined(__MAC80211_DRIVER_TRACE) || defined(TRACE_HEADER_MULTI_READ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    9) #define __MAC80211_DRIVER_TRACE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   10) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   11) #include <linux/tracepoint.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   12) #include <net/mac80211.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   13) #include "ieee80211_i.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   14) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   15) #undef TRACE_SYSTEM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   16) #define TRACE_SYSTEM mac80211
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   17) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   18) #define MAXNAME		32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   19) #define LOCAL_ENTRY	__array(char, wiphy_name, 32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   20) #define LOCAL_ASSIGN	strlcpy(__entry->wiphy_name, wiphy_name(local->hw.wiphy), MAXNAME)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   21) #define LOCAL_PR_FMT	"%s"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   22) #define LOCAL_PR_ARG	__entry->wiphy_name
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   23) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   24) #define STA_ENTRY	__array(char, sta_addr, ETH_ALEN)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   25) #define STA_ASSIGN	(sta ? memcpy(__entry->sta_addr, sta->addr, ETH_ALEN) : \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   26) 				eth_zero_addr(__entry->sta_addr))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   27) #define STA_NAMED_ASSIGN(s)	memcpy(__entry->sta_addr, (s)->addr, ETH_ALEN)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   28) #define STA_PR_FMT	" sta:%pM"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   29) #define STA_PR_ARG	__entry->sta_addr
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   30) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   31) #define VIF_ENTRY	__field(enum nl80211_iftype, vif_type) __field(void *, sdata)	\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   32) 			__field(bool, p2p)						\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   33) 			__string(vif_name, sdata->name)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   34) #define VIF_ASSIGN	__entry->vif_type = sdata->vif.type; __entry->sdata = sdata;	\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   35) 			__entry->p2p = sdata->vif.p2p;					\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   36) 			__assign_str(vif_name, sdata->name)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   37) #define VIF_PR_FMT	" vif:%s(%d%s)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   38) #define VIF_PR_ARG	__get_str(vif_name), __entry->vif_type, __entry->p2p ? "/p2p" : ""
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   39) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   40) #define CHANDEF_ENTRY	__field(u32, control_freq)					\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   41) 			__field(u32, freq_offset)					\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   42) 			__field(u32, chan_width)					\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   43) 			__field(u32, center_freq1)					\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   44) 			__field(u32, freq1_offset)					\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   45) 			__field(u32, center_freq2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   46) #define CHANDEF_ASSIGN(c)							\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   47) 			__entry->control_freq = (c) ? ((c)->chan ? (c)->chan->center_freq : 0) : 0;	\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   48) 			__entry->freq_offset = (c) ? ((c)->chan ? (c)->chan->freq_offset : 0) : 0;	\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   49) 			__entry->chan_width = (c) ? (c)->width : 0;			\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   50) 			__entry->center_freq1 = (c) ? (c)->center_freq1 : 0;		\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   51) 			__entry->freq1_offset = (c) ? (c)->freq1_offset : 0;		\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   52) 			__entry->center_freq2 = (c) ? (c)->center_freq2 : 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   53) #define CHANDEF_PR_FMT	" control:%d.%03d MHz width:%d center: %d.%03d/%d MHz"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   54) #define CHANDEF_PR_ARG	__entry->control_freq, __entry->freq_offset, __entry->chan_width, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   55) 			__entry->center_freq1, __entry->freq1_offset, __entry->center_freq2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   56) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   57) #define MIN_CHANDEF_ENTRY								\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   58) 			__field(u32, min_control_freq)					\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   59) 			__field(u32, min_freq_offset)					\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   60) 			__field(u32, min_chan_width)					\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   61) 			__field(u32, min_center_freq1)					\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   62) 			__field(u32, min_freq1_offset)					\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   63) 			__field(u32, min_center_freq2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   64) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   65) #define MIN_CHANDEF_ASSIGN(c)								\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   66) 			__entry->min_control_freq = (c)->chan ? (c)->chan->center_freq : 0;	\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   67) 			__entry->min_freq_offset = (c)->chan ? (c)->chan->freq_offset : 0;	\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   68) 			__entry->min_chan_width = (c)->width;				\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   69) 			__entry->min_center_freq1 = (c)->center_freq1;			\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   70) 			__entry->freq1_offset = (c)->freq1_offset;			\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   71) 			__entry->min_center_freq2 = (c)->center_freq2;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   72) #define MIN_CHANDEF_PR_FMT	" min_control:%d.%03d MHz min_width:%d min_center: %d.%03d/%d MHz"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   73) #define MIN_CHANDEF_PR_ARG	__entry->min_control_freq, __entry->min_freq_offset,	\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   74) 			__entry->min_chan_width,					\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   75) 			__entry->min_center_freq1, __entry->min_freq1_offset,		\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   76) 			__entry->min_center_freq2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   77) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   78) #define CHANCTX_ENTRY	CHANDEF_ENTRY							\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   79) 			MIN_CHANDEF_ENTRY						\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   80) 			__field(u8, rx_chains_static)					\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   81) 			__field(u8, rx_chains_dynamic)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   82) #define CHANCTX_ASSIGN	CHANDEF_ASSIGN(&ctx->conf.def)					\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   83) 			MIN_CHANDEF_ASSIGN(&ctx->conf.min_def)				\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   84) 			__entry->rx_chains_static = ctx->conf.rx_chains_static;		\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   85) 			__entry->rx_chains_dynamic = ctx->conf.rx_chains_dynamic
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   86) #define CHANCTX_PR_FMT	CHANDEF_PR_FMT MIN_CHANDEF_PR_FMT " chains:%d/%d"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   87) #define CHANCTX_PR_ARG	CHANDEF_PR_ARG,	MIN_CHANDEF_PR_ARG,				\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   88) 			__entry->rx_chains_static, __entry->rx_chains_dynamic
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   89) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   90) #define KEY_ENTRY	__field(u32, cipher)						\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   91) 			__field(u8, hw_key_idx)						\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   92) 			__field(u8, flags)						\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   93) 			__field(s8, keyidx)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   94) #define KEY_ASSIGN(k)	__entry->cipher = (k)->cipher;					\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   95) 			__entry->flags = (k)->flags;					\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   96) 			__entry->keyidx = (k)->keyidx;					\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   97) 			__entry->hw_key_idx = (k)->hw_key_idx;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   98) #define KEY_PR_FMT	" cipher:0x%x, flags=%#x, keyidx=%d, hw_key_idx=%d"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   99) #define KEY_PR_ARG	__entry->cipher, __entry->flags, __entry->keyidx, __entry->hw_key_idx
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  100) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  101) #define AMPDU_ACTION_ENTRY	__field(enum ieee80211_ampdu_mlme_action,		\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  102) 					ieee80211_ampdu_mlme_action)			\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  103) 				STA_ENTRY						\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  104) 				__field(u16, tid)					\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  105) 				__field(u16, ssn)					\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  106) 				__field(u16, buf_size)					\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  107) 				__field(bool, amsdu)					\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  108) 				__field(u16, timeout)					\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  109) 				__field(u16, action)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  110) #define AMPDU_ACTION_ASSIGN	STA_NAMED_ASSIGN(params->sta);				\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  111) 				__entry->tid = params->tid;				\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  112) 				__entry->ssn = params->ssn;				\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  113) 				__entry->buf_size = params->buf_size;			\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  114) 				__entry->amsdu = params->amsdu;				\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  115) 				__entry->timeout = params->timeout;			\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  116) 				__entry->action = params->action;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  117) #define AMPDU_ACTION_PR_FMT	STA_PR_FMT " tid %d, ssn %d, buf_size %u, amsdu %d, timeout %d action %d"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  118) #define AMPDU_ACTION_PR_ARG	STA_PR_ARG, __entry->tid, __entry->ssn,			\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  119) 				__entry->buf_size, __entry->amsdu, __entry->timeout,	\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  120) 				__entry->action
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  121) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  122) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  123)  * Tracing for driver callbacks.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  124)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  125) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  126) DECLARE_EVENT_CLASS(local_only_evt,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  127) 	TP_PROTO(struct ieee80211_local *local),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  128) 	TP_ARGS(local),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  129) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  130) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  131) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  132) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  133) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  134) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  135) 	TP_printk(LOCAL_PR_FMT, LOCAL_PR_ARG)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  136) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  137) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  138) DECLARE_EVENT_CLASS(local_sdata_addr_evt,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  139) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  140) 		 struct ieee80211_sub_if_data *sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  141) 	TP_ARGS(local, sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  142) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  143) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  144) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  145) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  146) 		__array(char, addr, ETH_ALEN)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  147) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  148) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  149) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  150) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  151) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  152) 		memcpy(__entry->addr, sdata->vif.addr, ETH_ALEN);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  153) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  154) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  155) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  156) 		LOCAL_PR_FMT  VIF_PR_FMT " addr:%pM",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  157) 		LOCAL_PR_ARG, VIF_PR_ARG, __entry->addr
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  158) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  159) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  160) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  161) DECLARE_EVENT_CLASS(local_u32_evt,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  162) 	TP_PROTO(struct ieee80211_local *local, u32 value),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  163) 	TP_ARGS(local, value),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  164) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  165) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  166) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  167) 		__field(u32, value)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  168) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  169) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  170) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  171) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  172) 		__entry->value = value;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  173) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  174) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  175) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  176) 		LOCAL_PR_FMT " value:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  177) 		LOCAL_PR_ARG, __entry->value
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  178) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  179) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  180) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  181) DECLARE_EVENT_CLASS(local_sdata_evt,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  182) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  183) 		 struct ieee80211_sub_if_data *sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  184) 	TP_ARGS(local, sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  185) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  186) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  187) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  188) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  189) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  190) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  191) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  192) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  193) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  194) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  195) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  196) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  197) 		LOCAL_PR_FMT VIF_PR_FMT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  198) 		LOCAL_PR_ARG, VIF_PR_ARG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  199) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  200) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  201) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  202) DEFINE_EVENT(local_only_evt, drv_return_void,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  203) 	TP_PROTO(struct ieee80211_local *local),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  204) 	TP_ARGS(local)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  205) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  206) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  207) TRACE_EVENT(drv_return_int,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  208) 	TP_PROTO(struct ieee80211_local *local, int ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  209) 	TP_ARGS(local, ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  210) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  211) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  212) 		__field(int, ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  213) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  214) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  215) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  216) 		__entry->ret = ret;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  217) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  218) 	TP_printk(LOCAL_PR_FMT " - %d", LOCAL_PR_ARG, __entry->ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  219) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  220) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  221) TRACE_EVENT(drv_return_bool,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  222) 	TP_PROTO(struct ieee80211_local *local, bool ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  223) 	TP_ARGS(local, ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  224) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  225) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  226) 		__field(bool, ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  227) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  228) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  229) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  230) 		__entry->ret = ret;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  231) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  232) 	TP_printk(LOCAL_PR_FMT " - %s", LOCAL_PR_ARG, (__entry->ret) ?
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  233) 		  "true" : "false")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  234) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  235) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  236) TRACE_EVENT(drv_return_u32,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  237) 	TP_PROTO(struct ieee80211_local *local, u32 ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  238) 	TP_ARGS(local, ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  239) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  240) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  241) 		__field(u32, ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  242) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  243) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  244) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  245) 		__entry->ret = ret;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  246) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  247) 	TP_printk(LOCAL_PR_FMT " - %u", LOCAL_PR_ARG, __entry->ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  248) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  249) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  250) TRACE_EVENT(drv_return_u64,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  251) 	TP_PROTO(struct ieee80211_local *local, u64 ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  252) 	TP_ARGS(local, ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  253) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  254) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  255) 		__field(u64, ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  256) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  257) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  258) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  259) 		__entry->ret = ret;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  260) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  261) 	TP_printk(LOCAL_PR_FMT " - %llu", LOCAL_PR_ARG, __entry->ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  262) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  263) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  264) DEFINE_EVENT(local_only_evt, drv_start,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  265) 	TP_PROTO(struct ieee80211_local *local),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  266) 	TP_ARGS(local)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  267) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  268) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  269) DEFINE_EVENT(local_u32_evt, drv_get_et_strings,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  270) 	     TP_PROTO(struct ieee80211_local *local, u32 sset),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  271) 	     TP_ARGS(local, sset)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  272) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  273) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  274) DEFINE_EVENT(local_u32_evt, drv_get_et_sset_count,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  275) 	     TP_PROTO(struct ieee80211_local *local, u32 sset),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  276) 	     TP_ARGS(local, sset)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  277) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  278) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  279) DEFINE_EVENT(local_only_evt, drv_get_et_stats,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  280) 	     TP_PROTO(struct ieee80211_local *local),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  281) 	     TP_ARGS(local)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  282) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  283) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  284) DEFINE_EVENT(local_only_evt, drv_suspend,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  285) 	TP_PROTO(struct ieee80211_local *local),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  286) 	TP_ARGS(local)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  287) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  288) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  289) DEFINE_EVENT(local_only_evt, drv_resume,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  290) 	TP_PROTO(struct ieee80211_local *local),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  291) 	TP_ARGS(local)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  292) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  293) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  294) TRACE_EVENT(drv_set_wakeup,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  295) 	TP_PROTO(struct ieee80211_local *local, bool enabled),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  296) 	TP_ARGS(local, enabled),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  297) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  298) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  299) 		__field(bool, enabled)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  300) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  301) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  302) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  303) 		__entry->enabled = enabled;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  304) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  305) 	TP_printk(LOCAL_PR_FMT " enabled:%d", LOCAL_PR_ARG, __entry->enabled)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  306) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  307) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  308) DEFINE_EVENT(local_only_evt, drv_stop,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  309) 	TP_PROTO(struct ieee80211_local *local),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  310) 	TP_ARGS(local)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  311) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  312) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  313) DEFINE_EVENT(local_sdata_addr_evt, drv_add_interface,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  314) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  315) 		 struct ieee80211_sub_if_data *sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  316) 	TP_ARGS(local, sdata)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  317) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  318) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  319) TRACE_EVENT(drv_change_interface,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  320) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  321) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  322) 		 enum nl80211_iftype type, bool p2p),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  323) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  324) 	TP_ARGS(local, sdata, type, p2p),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  325) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  326) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  327) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  328) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  329) 		__field(u32, new_type)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  330) 		__field(bool, new_p2p)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  331) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  332) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  333) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  334) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  335) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  336) 		__entry->new_type = type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  337) 		__entry->new_p2p = p2p;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  338) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  339) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  340) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  341) 		LOCAL_PR_FMT  VIF_PR_FMT " new type:%d%s",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  342) 		LOCAL_PR_ARG, VIF_PR_ARG, __entry->new_type,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  343) 		__entry->new_p2p ? "/p2p" : ""
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  344) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  345) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  346) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  347) DEFINE_EVENT(local_sdata_addr_evt, drv_remove_interface,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  348) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  349) 		 struct ieee80211_sub_if_data *sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  350) 	TP_ARGS(local, sdata)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  351) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  352) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  353) TRACE_EVENT(drv_config,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  354) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  355) 		 u32 changed),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  356) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  357) 	TP_ARGS(local, changed),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  358) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  359) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  360) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  361) 		__field(u32, changed)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  362) 		__field(u32, flags)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  363) 		__field(int, power_level)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  364) 		__field(int, dynamic_ps_timeout)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  365) 		__field(u16, listen_interval)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  366) 		__field(u8, long_frame_max_tx_count)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  367) 		__field(u8, short_frame_max_tx_count)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  368) 		CHANDEF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  369) 		__field(int, smps)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  370) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  371) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  372) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  373) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  374) 		__entry->changed = changed;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  375) 		__entry->flags = local->hw.conf.flags;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  376) 		__entry->power_level = local->hw.conf.power_level;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  377) 		__entry->dynamic_ps_timeout = local->hw.conf.dynamic_ps_timeout;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  378) 		__entry->listen_interval = local->hw.conf.listen_interval;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  379) 		__entry->long_frame_max_tx_count =
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  380) 			local->hw.conf.long_frame_max_tx_count;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  381) 		__entry->short_frame_max_tx_count =
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  382) 			local->hw.conf.short_frame_max_tx_count;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  383) 		CHANDEF_ASSIGN(&local->hw.conf.chandef)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  384) 		__entry->smps = local->hw.conf.smps_mode;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  385) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  386) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  387) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  388) 		LOCAL_PR_FMT " ch:%#x" CHANDEF_PR_FMT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  389) 		LOCAL_PR_ARG, __entry->changed, CHANDEF_PR_ARG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  390) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  391) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  392) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  393) TRACE_EVENT(drv_bss_info_changed,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  394) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  395) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  396) 		 struct ieee80211_bss_conf *info,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  397) 		 u32 changed),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  398) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  399) 	TP_ARGS(local, sdata, info, changed),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  400) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  401) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  402) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  403) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  404) 		__field(u32, changed)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  405) 		__field(bool, assoc)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  406) 		__field(bool, ibss_joined)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  407) 		__field(bool, ibss_creator)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  408) 		__field(u16, aid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  409) 		__field(bool, cts)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  410) 		__field(bool, shortpre)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  411) 		__field(bool, shortslot)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  412) 		__field(bool, enable_beacon)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  413) 		__field(u8, dtimper)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  414) 		__field(u16, bcnint)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  415) 		__field(u16, assoc_cap)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  416) 		__field(u64, sync_tsf)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  417) 		__field(u32, sync_device_ts)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  418) 		__field(u8, sync_dtim_count)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  419) 		__field(u32, basic_rates)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  420) 		__array(int, mcast_rate, NUM_NL80211_BANDS)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  421) 		__field(u16, ht_operation_mode)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  422) 		__field(s32, cqm_rssi_thold)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  423) 		__field(s32, cqm_rssi_hyst)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  424) 		__field(u32, channel_width)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  425) 		__field(u32, channel_cfreq1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  426) 		__field(u32, channel_cfreq1_offset)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  427) 		__dynamic_array(u32, arp_addr_list,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  428) 				info->arp_addr_cnt > IEEE80211_BSS_ARP_ADDR_LIST_LEN ?
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  429) 					IEEE80211_BSS_ARP_ADDR_LIST_LEN :
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  430) 					info->arp_addr_cnt)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  431) 		__field(int, arp_addr_cnt)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  432) 		__field(bool, qos)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  433) 		__field(bool, idle)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  434) 		__field(bool, ps)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  435) 		__dynamic_array(u8, ssid, info->ssid_len)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  436) 		__field(bool, hidden_ssid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  437) 		__field(int, txpower)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  438) 		__field(u8, p2p_oppps_ctwindow)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  439) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  440) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  441) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  442) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  443) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  444) 		__entry->changed = changed;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  445) 		__entry->aid = info->aid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  446) 		__entry->assoc = info->assoc;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  447) 		__entry->ibss_joined = info->ibss_joined;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  448) 		__entry->ibss_creator = info->ibss_creator;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  449) 		__entry->shortpre = info->use_short_preamble;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  450) 		__entry->cts = info->use_cts_prot;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  451) 		__entry->shortslot = info->use_short_slot;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  452) 		__entry->enable_beacon = info->enable_beacon;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  453) 		__entry->dtimper = info->dtim_period;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  454) 		__entry->bcnint = info->beacon_int;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  455) 		__entry->assoc_cap = info->assoc_capability;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  456) 		__entry->sync_tsf = info->sync_tsf;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  457) 		__entry->sync_device_ts = info->sync_device_ts;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  458) 		__entry->sync_dtim_count = info->sync_dtim_count;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  459) 		__entry->basic_rates = info->basic_rates;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  460) 		memcpy(__entry->mcast_rate, info->mcast_rate,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  461) 		       sizeof(__entry->mcast_rate));
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  462) 		__entry->ht_operation_mode = info->ht_operation_mode;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  463) 		__entry->cqm_rssi_thold = info->cqm_rssi_thold;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  464) 		__entry->cqm_rssi_hyst = info->cqm_rssi_hyst;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  465) 		__entry->channel_width = info->chandef.width;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  466) 		__entry->channel_cfreq1 = info->chandef.center_freq1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  467) 		__entry->channel_cfreq1_offset = info->chandef.freq1_offset;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  468) 		__entry->arp_addr_cnt = info->arp_addr_cnt;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  469) 		memcpy(__get_dynamic_array(arp_addr_list), info->arp_addr_list,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  470) 		       sizeof(u32) * (info->arp_addr_cnt > IEEE80211_BSS_ARP_ADDR_LIST_LEN ?
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  471) 					IEEE80211_BSS_ARP_ADDR_LIST_LEN :
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  472) 					info->arp_addr_cnt));
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  473) 		__entry->qos = info->qos;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  474) 		__entry->idle = info->idle;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  475) 		__entry->ps = info->ps;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  476) 		memcpy(__get_dynamic_array(ssid), info->ssid, info->ssid_len);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  477) 		__entry->hidden_ssid = info->hidden_ssid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  478) 		__entry->txpower = info->txpower;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  479) 		__entry->p2p_oppps_ctwindow = info->p2p_noa_attr.oppps_ctwindow;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  480) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  481) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  482) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  483) 		LOCAL_PR_FMT  VIF_PR_FMT " changed:%#x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  484) 		LOCAL_PR_ARG, VIF_PR_ARG, __entry->changed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  485) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  486) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  487) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  488) TRACE_EVENT(drv_prepare_multicast,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  489) 	TP_PROTO(struct ieee80211_local *local, int mc_count),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  490) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  491) 	TP_ARGS(local, mc_count),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  492) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  493) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  494) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  495) 		__field(int, mc_count)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  496) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  497) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  498) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  499) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  500) 		__entry->mc_count = mc_count;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  501) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  502) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  503) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  504) 		LOCAL_PR_FMT " prepare mc (%d)",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  505) 		LOCAL_PR_ARG, __entry->mc_count
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  506) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  507) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  508) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  509) TRACE_EVENT(drv_configure_filter,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  510) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  511) 		 unsigned int changed_flags,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  512) 		 unsigned int *total_flags,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  513) 		 u64 multicast),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  514) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  515) 	TP_ARGS(local, changed_flags, total_flags, multicast),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  516) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  517) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  518) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  519) 		__field(unsigned int, changed)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  520) 		__field(unsigned int, total)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  521) 		__field(u64, multicast)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  522) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  523) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  524) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  525) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  526) 		__entry->changed = changed_flags;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  527) 		__entry->total = *total_flags;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  528) 		__entry->multicast = multicast;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  529) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  530) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  531) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  532) 		LOCAL_PR_FMT " changed:%#x total:%#x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  533) 		LOCAL_PR_ARG, __entry->changed, __entry->total
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  534) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  535) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  536) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  537) TRACE_EVENT(drv_config_iface_filter,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  538) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  539) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  540) 		 unsigned int filter_flags,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  541) 		 unsigned int changed_flags),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  542) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  543) 	TP_ARGS(local, sdata, filter_flags, changed_flags),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  544) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  545) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  546) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  547) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  548) 		__field(unsigned int, filter_flags)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  549) 		__field(unsigned int, changed_flags)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  550) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  551) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  552) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  553) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  554) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  555) 		__entry->filter_flags = filter_flags;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  556) 		__entry->changed_flags = changed_flags;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  557) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  558) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  559) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  560) 		LOCAL_PR_FMT VIF_PR_FMT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  561) 		" filter_flags: %#x changed_flags: %#x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  562) 		LOCAL_PR_ARG, VIF_PR_ARG, __entry->filter_flags,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  563) 		__entry->changed_flags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  564) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  565) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  566) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  567) TRACE_EVENT(drv_set_tim,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  568) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  569) 		 struct ieee80211_sta *sta, bool set),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  570) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  571) 	TP_ARGS(local, sta, set),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  572) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  573) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  574) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  575) 		STA_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  576) 		__field(bool, set)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  577) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  578) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  579) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  580) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  581) 		STA_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  582) 		__entry->set = set;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  583) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  584) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  585) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  586) 		LOCAL_PR_FMT STA_PR_FMT " set:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  587) 		LOCAL_PR_ARG, STA_PR_ARG, __entry->set
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  588) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  589) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  590) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  591) TRACE_EVENT(drv_set_key,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  592) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  593) 		 enum set_key_cmd cmd, struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  594) 		 struct ieee80211_sta *sta,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  595) 		 struct ieee80211_key_conf *key),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  596) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  597) 	TP_ARGS(local, cmd, sdata, sta, key),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  598) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  599) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  600) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  601) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  602) 		STA_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  603) 		KEY_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  604) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  605) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  606) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  607) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  608) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  609) 		STA_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  610) 		KEY_ASSIGN(key);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  611) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  612) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  613) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  614) 		LOCAL_PR_FMT  VIF_PR_FMT  STA_PR_FMT KEY_PR_FMT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  615) 		LOCAL_PR_ARG, VIF_PR_ARG, STA_PR_ARG, KEY_PR_ARG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  616) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  617) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  618) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  619) TRACE_EVENT(drv_update_tkip_key,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  620) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  621) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  622) 		 struct ieee80211_key_conf *conf,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  623) 		 struct ieee80211_sta *sta, u32 iv32),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  624) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  625) 	TP_ARGS(local, sdata, conf, sta, iv32),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  626) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  627) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  628) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  629) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  630) 		STA_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  631) 		__field(u32, iv32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  632) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  633) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  634) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  635) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  636) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  637) 		STA_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  638) 		__entry->iv32 = iv32;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  639) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  640) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  641) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  642) 		LOCAL_PR_FMT VIF_PR_FMT STA_PR_FMT " iv32:%#x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  643) 		LOCAL_PR_ARG, VIF_PR_ARG, STA_PR_ARG, __entry->iv32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  644) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  645) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  646) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  647) DEFINE_EVENT(local_sdata_evt, drv_hw_scan,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  648) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  649) 		 struct ieee80211_sub_if_data *sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  650) 	TP_ARGS(local, sdata)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  651) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  652) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  653) DEFINE_EVENT(local_sdata_evt, drv_cancel_hw_scan,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  654) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  655) 		 struct ieee80211_sub_if_data *sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  656) 	TP_ARGS(local, sdata)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  657) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  658) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  659) DEFINE_EVENT(local_sdata_evt, drv_sched_scan_start,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  660) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  661) 		 struct ieee80211_sub_if_data *sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  662) 	TP_ARGS(local, sdata)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  663) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  664) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  665) DEFINE_EVENT(local_sdata_evt, drv_sched_scan_stop,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  666) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  667) 		 struct ieee80211_sub_if_data *sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  668) 	TP_ARGS(local, sdata)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  669) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  670) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  671) TRACE_EVENT(drv_sw_scan_start,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  672) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  673) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  674) 		 const u8 *mac_addr),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  675) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  676) 	TP_ARGS(local, sdata, mac_addr),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  677) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  678) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  679) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  680) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  681) 		__array(char, mac_addr, ETH_ALEN)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  682) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  683) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  684) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  685) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  686) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  687) 		memcpy(__entry->mac_addr, mac_addr, ETH_ALEN);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  688) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  689) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  690) 	TP_printk(LOCAL_PR_FMT ", " VIF_PR_FMT ", addr:%pM",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  691) 		  LOCAL_PR_ARG, VIF_PR_ARG, __entry->mac_addr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  692) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  693) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  694) DEFINE_EVENT(local_sdata_evt, drv_sw_scan_complete,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  695) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  696) 		 struct ieee80211_sub_if_data *sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  697) 	TP_ARGS(local, sdata)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  698) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  699) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  700) TRACE_EVENT(drv_get_stats,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  701) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  702) 		 struct ieee80211_low_level_stats *stats,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  703) 		 int ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  704) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  705) 	TP_ARGS(local, stats, ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  706) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  707) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  708) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  709) 		__field(int, ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  710) 		__field(unsigned int, ackfail)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  711) 		__field(unsigned int, rtsfail)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  712) 		__field(unsigned int, fcserr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  713) 		__field(unsigned int, rtssucc)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  714) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  715) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  716) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  717) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  718) 		__entry->ret = ret;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  719) 		__entry->ackfail = stats->dot11ACKFailureCount;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  720) 		__entry->rtsfail = stats->dot11RTSFailureCount;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  721) 		__entry->fcserr = stats->dot11FCSErrorCount;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  722) 		__entry->rtssucc = stats->dot11RTSSuccessCount;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  723) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  724) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  725) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  726) 		LOCAL_PR_FMT " ret:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  727) 		LOCAL_PR_ARG, __entry->ret
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  728) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  729) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  730) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  731) TRACE_EVENT(drv_get_key_seq,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  732) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  733) 		 struct ieee80211_key_conf *key),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  734) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  735) 	TP_ARGS(local, key),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  736) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  737) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  738) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  739) 		KEY_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  740) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  741) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  742) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  743) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  744) 		KEY_ASSIGN(key);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  745) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  746) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  747) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  748) 		LOCAL_PR_FMT KEY_PR_FMT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  749) 		LOCAL_PR_ARG, KEY_PR_ARG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  750) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  751) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  752) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  753) DEFINE_EVENT(local_u32_evt, drv_set_frag_threshold,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  754) 	TP_PROTO(struct ieee80211_local *local, u32 value),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  755) 	TP_ARGS(local, value)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  756) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  757) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  758) DEFINE_EVENT(local_u32_evt, drv_set_rts_threshold,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  759) 	TP_PROTO(struct ieee80211_local *local, u32 value),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  760) 	TP_ARGS(local, value)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  761) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  762) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  763) TRACE_EVENT(drv_set_coverage_class,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  764) 	TP_PROTO(struct ieee80211_local *local, s16 value),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  765) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  766) 	TP_ARGS(local, value),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  767) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  768) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  769) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  770) 		__field(s16, value)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  771) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  772) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  773) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  774) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  775) 		__entry->value = value;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  776) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  777) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  778) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  779) 		LOCAL_PR_FMT " value:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  780) 		LOCAL_PR_ARG, __entry->value
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  781) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  782) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  783) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  784) TRACE_EVENT(drv_sta_notify,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  785) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  786) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  787) 		 enum sta_notify_cmd cmd,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  788) 		 struct ieee80211_sta *sta),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  789) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  790) 	TP_ARGS(local, sdata, cmd, sta),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  791) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  792) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  793) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  794) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  795) 		STA_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  796) 		__field(u32, cmd)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  797) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  798) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  799) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  800) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  801) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  802) 		STA_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  803) 		__entry->cmd = cmd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  804) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  805) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  806) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  807) 		LOCAL_PR_FMT  VIF_PR_FMT  STA_PR_FMT " cmd:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  808) 		LOCAL_PR_ARG, VIF_PR_ARG, STA_PR_ARG, __entry->cmd
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  809) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  810) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  811) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  812) TRACE_EVENT(drv_sta_state,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  813) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  814) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  815) 		 struct ieee80211_sta *sta,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  816) 		 enum ieee80211_sta_state old_state,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  817) 		 enum ieee80211_sta_state new_state),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  818) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  819) 	TP_ARGS(local, sdata, sta, old_state, new_state),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  820) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  821) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  822) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  823) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  824) 		STA_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  825) 		__field(u32, old_state)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  826) 		__field(u32, new_state)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  827) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  828) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  829) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  830) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  831) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  832) 		STA_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  833) 		__entry->old_state = old_state;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  834) 		__entry->new_state = new_state;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  835) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  836) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  837) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  838) 		LOCAL_PR_FMT  VIF_PR_FMT  STA_PR_FMT " state: %d->%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  839) 		LOCAL_PR_ARG, VIF_PR_ARG, STA_PR_ARG,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  840) 		__entry->old_state, __entry->new_state
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  841) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  842) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  843) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  844) TRACE_EVENT(drv_sta_set_txpwr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  845) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  846) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  847) 		 struct ieee80211_sta *sta),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  848) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  849) 	TP_ARGS(local, sdata, sta),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  850) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  851) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  852) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  853) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  854) 		STA_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  855) 		__field(s16, txpwr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  856) 		__field(u8, type)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  857) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  858) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  859) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  860) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  861) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  862) 		STA_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  863) 		__entry->txpwr = sta->txpwr.power;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  864) 		__entry->type = sta->txpwr.type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  865) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  866) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  867) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  868) 		LOCAL_PR_FMT  VIF_PR_FMT  STA_PR_FMT " txpwr: %d type %d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  869) 		LOCAL_PR_ARG, VIF_PR_ARG, STA_PR_ARG,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  870) 		__entry->txpwr,  __entry->type
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  871) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  872) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  873) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  874) TRACE_EVENT(drv_sta_rc_update,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  875) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  876) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  877) 		 struct ieee80211_sta *sta,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  878) 		 u32 changed),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  879) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  880) 	TP_ARGS(local, sdata, sta, changed),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  881) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  882) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  883) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  884) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  885) 		STA_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  886) 		__field(u32, changed)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  887) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  888) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  889) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  890) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  891) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  892) 		STA_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  893) 		__entry->changed = changed;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  894) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  895) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  896) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  897) 		LOCAL_PR_FMT  VIF_PR_FMT  STA_PR_FMT " changed: 0x%x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  898) 		LOCAL_PR_ARG, VIF_PR_ARG, STA_PR_ARG, __entry->changed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  899) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  900) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  901) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  902) DECLARE_EVENT_CLASS(sta_event,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  903) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  904) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  905) 		 struct ieee80211_sta *sta),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  906) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  907) 	TP_ARGS(local, sdata, sta),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  908) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  909) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  910) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  911) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  912) 		STA_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  913) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  914) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  915) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  916) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  917) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  918) 		STA_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  919) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  920) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  921) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  922) 		LOCAL_PR_FMT  VIF_PR_FMT  STA_PR_FMT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  923) 		LOCAL_PR_ARG, VIF_PR_ARG, STA_PR_ARG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  924) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  925) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  926) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  927) DEFINE_EVENT(sta_event, drv_sta_statistics,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  928) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  929) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  930) 		 struct ieee80211_sta *sta),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  931) 	TP_ARGS(local, sdata, sta)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  932) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  933) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  934) DEFINE_EVENT(sta_event, drv_sta_add,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  935) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  936) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  937) 		 struct ieee80211_sta *sta),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  938) 	TP_ARGS(local, sdata, sta)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  939) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  940) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  941) DEFINE_EVENT(sta_event, drv_sta_remove,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  942) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  943) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  944) 		 struct ieee80211_sta *sta),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  945) 	TP_ARGS(local, sdata, sta)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  946) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  947) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  948) DEFINE_EVENT(sta_event, drv_sta_pre_rcu_remove,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  949) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  950) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  951) 		 struct ieee80211_sta *sta),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  952) 	TP_ARGS(local, sdata, sta)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  953) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  954) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  955) DEFINE_EVENT(sta_event, drv_sync_rx_queues,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  956) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  957) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  958) 		 struct ieee80211_sta *sta),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  959) 	TP_ARGS(local, sdata, sta)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  960) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  961) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  962) DEFINE_EVENT(sta_event, drv_sta_rate_tbl_update,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  963) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  964) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  965) 		 struct ieee80211_sta *sta),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  966) 	TP_ARGS(local, sdata, sta)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  967) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  968) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  969) TRACE_EVENT(drv_conf_tx,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  970) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  971) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  972) 		 u16 ac, const struct ieee80211_tx_queue_params *params),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  973) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  974) 	TP_ARGS(local, sdata, ac, params),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  975) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  976) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  977) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  978) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  979) 		__field(u16, ac)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  980) 		__field(u16, txop)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  981) 		__field(u16, cw_min)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  982) 		__field(u16, cw_max)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  983) 		__field(u8, aifs)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  984) 		__field(bool, uapsd)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  985) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  986) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  987) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  988) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  989) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  990) 		__entry->ac = ac;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  991) 		__entry->txop = params->txop;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  992) 		__entry->cw_max = params->cw_max;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  993) 		__entry->cw_min = params->cw_min;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  994) 		__entry->aifs = params->aifs;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  995) 		__entry->uapsd = params->uapsd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  996) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  997) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  998) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  999) 		LOCAL_PR_FMT  VIF_PR_FMT  " AC:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1000) 		LOCAL_PR_ARG, VIF_PR_ARG, __entry->ac
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1001) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1002) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1003) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1004) DEFINE_EVENT(local_sdata_evt, drv_get_tsf,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1005) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1006) 		 struct ieee80211_sub_if_data *sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1007) 	TP_ARGS(local, sdata)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1008) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1009) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1010) TRACE_EVENT(drv_set_tsf,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1011) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1012) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1013) 		 u64 tsf),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1014) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1015) 	TP_ARGS(local, sdata, tsf),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1016) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1017) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1018) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1019) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1020) 		__field(u64, tsf)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1021) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1022) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1023) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1024) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1025) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1026) 		__entry->tsf = tsf;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1027) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1028) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1029) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1030) 		LOCAL_PR_FMT  VIF_PR_FMT  " tsf:%llu",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1031) 		LOCAL_PR_ARG, VIF_PR_ARG, (unsigned long long)__entry->tsf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1032) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1033) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1034) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1035) TRACE_EVENT(drv_offset_tsf,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1036) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1037) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1038) 		 s64 offset),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1039) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1040) 	TP_ARGS(local, sdata, offset),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1041) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1042) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1043) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1044) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1045) 		__field(s64, tsf_offset)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1046) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1047) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1048) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1049) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1050) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1051) 		__entry->tsf_offset = offset;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1052) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1053) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1054) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1055) 		LOCAL_PR_FMT  VIF_PR_FMT  " tsf offset:%lld",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1056) 		LOCAL_PR_ARG, VIF_PR_ARG,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1057) 		(unsigned long long)__entry->tsf_offset
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1058) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1059) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1060) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1061) DEFINE_EVENT(local_sdata_evt, drv_reset_tsf,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1062) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1063) 		 struct ieee80211_sub_if_data *sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1064) 	TP_ARGS(local, sdata)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1065) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1066) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1067) DEFINE_EVENT(local_only_evt, drv_tx_last_beacon,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1068) 	TP_PROTO(struct ieee80211_local *local),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1069) 	TP_ARGS(local)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1070) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1071) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1072) TRACE_EVENT(drv_ampdu_action,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1073) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1074) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1075) 		 struct ieee80211_ampdu_params *params),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1076) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1077) 	TP_ARGS(local, sdata, params),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1078) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1079) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1080) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1081) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1082) 		AMPDU_ACTION_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1083) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1084) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1085) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1086) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1087) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1088) 		AMPDU_ACTION_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1089) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1090) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1091) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1092) 		LOCAL_PR_FMT VIF_PR_FMT AMPDU_ACTION_PR_FMT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1093) 		LOCAL_PR_ARG, VIF_PR_ARG, AMPDU_ACTION_PR_ARG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1094) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1095) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1096) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1097) TRACE_EVENT(drv_get_survey,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1098) 	TP_PROTO(struct ieee80211_local *local, int _idx,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1099) 		 struct survey_info *survey),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1100) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1101) 	TP_ARGS(local, _idx, survey),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1102) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1103) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1104) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1105) 		__field(int, idx)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1106) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1107) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1108) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1109) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1110) 		__entry->idx = _idx;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1111) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1112) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1113) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1114) 		LOCAL_PR_FMT " idx:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1115) 		LOCAL_PR_ARG, __entry->idx
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1116) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1117) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1118) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1119) TRACE_EVENT(drv_flush,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1120) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1121) 		 u32 queues, bool drop),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1122) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1123) 	TP_ARGS(local, queues, drop),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1124) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1125) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1126) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1127) 		__field(bool, drop)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1128) 		__field(u32, queues)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1129) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1130) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1131) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1132) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1133) 		__entry->drop = drop;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1134) 		__entry->queues = queues;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1135) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1136) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1137) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1138) 		LOCAL_PR_FMT " queues:0x%x drop:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1139) 		LOCAL_PR_ARG, __entry->queues, __entry->drop
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1140) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1141) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1142) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1143) TRACE_EVENT(drv_channel_switch,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1144) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1145) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1146) 		 struct ieee80211_channel_switch *ch_switch),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1147) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1148) 	TP_ARGS(local, sdata, ch_switch),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1149) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1150) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1151) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1152) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1153) 		CHANDEF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1154) 		__field(u64, timestamp)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1155) 		__field(u32, device_timestamp)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1156) 		__field(bool, block_tx)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1157) 		__field(u8, count)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1158) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1159) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1160) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1161) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1162) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1163) 		CHANDEF_ASSIGN(&ch_switch->chandef)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1164) 		__entry->timestamp = ch_switch->timestamp;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1165) 		__entry->device_timestamp = ch_switch->device_timestamp;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1166) 		__entry->block_tx = ch_switch->block_tx;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1167) 		__entry->count = ch_switch->count;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1168) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1169) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1170) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1171) 		LOCAL_PR_FMT VIF_PR_FMT " new " CHANDEF_PR_FMT " count:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1172) 		LOCAL_PR_ARG, VIF_PR_ARG, CHANDEF_PR_ARG, __entry->count
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1173) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1174) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1175) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1176) TRACE_EVENT(drv_set_antenna,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1177) 	TP_PROTO(struct ieee80211_local *local, u32 tx_ant, u32 rx_ant, int ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1178) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1179) 	TP_ARGS(local, tx_ant, rx_ant, ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1180) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1181) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1182) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1183) 		__field(u32, tx_ant)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1184) 		__field(u32, rx_ant)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1185) 		__field(int, ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1186) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1187) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1188) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1189) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1190) 		__entry->tx_ant = tx_ant;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1191) 		__entry->rx_ant = rx_ant;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1192) 		__entry->ret = ret;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1193) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1194) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1195) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1196) 		LOCAL_PR_FMT " tx_ant:%d rx_ant:%d ret:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1197) 		LOCAL_PR_ARG, __entry->tx_ant, __entry->rx_ant, __entry->ret
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1198) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1199) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1200) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1201) TRACE_EVENT(drv_get_antenna,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1202) 	TP_PROTO(struct ieee80211_local *local, u32 tx_ant, u32 rx_ant, int ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1203) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1204) 	TP_ARGS(local, tx_ant, rx_ant, ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1205) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1206) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1207) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1208) 		__field(u32, tx_ant)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1209) 		__field(u32, rx_ant)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1210) 		__field(int, ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1211) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1212) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1213) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1214) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1215) 		__entry->tx_ant = tx_ant;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1216) 		__entry->rx_ant = rx_ant;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1217) 		__entry->ret = ret;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1218) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1219) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1220) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1221) 		LOCAL_PR_FMT " tx_ant:%d rx_ant:%d ret:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1222) 		LOCAL_PR_ARG, __entry->tx_ant, __entry->rx_ant, __entry->ret
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1223) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1224) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1225) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1226) TRACE_EVENT(drv_remain_on_channel,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1227) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1228) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1229) 		 struct ieee80211_channel *chan,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1230) 		 unsigned int duration,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1231) 		 enum ieee80211_roc_type type),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1232) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1233) 	TP_ARGS(local, sdata, chan, duration, type),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1234) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1235) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1236) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1237) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1238) 		__field(int, center_freq)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1239) 		__field(int, freq_offset)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1240) 		__field(unsigned int, duration)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1241) 		__field(u32, type)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1242) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1243) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1244) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1245) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1246) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1247) 		__entry->center_freq = chan->center_freq;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1248) 		__entry->freq_offset = chan->freq_offset;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1249) 		__entry->duration = duration;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1250) 		__entry->type = type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1251) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1252) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1253) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1254) 		LOCAL_PR_FMT  VIF_PR_FMT " freq:%d.%03dMHz duration:%dms type=%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1255) 		LOCAL_PR_ARG, VIF_PR_ARG,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1256) 		__entry->center_freq, __entry->freq_offset,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1257) 		__entry->duration, __entry->type
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1258) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1259) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1260) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1261) DEFINE_EVENT(local_sdata_evt, drv_cancel_remain_on_channel,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1262) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1263) 		 struct ieee80211_sub_if_data *sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1264) 	TP_ARGS(local, sdata)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1265) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1266) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1267) TRACE_EVENT(drv_set_ringparam,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1268) 	TP_PROTO(struct ieee80211_local *local, u32 tx, u32 rx),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1269) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1270) 	TP_ARGS(local, tx, rx),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1271) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1272) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1273) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1274) 		__field(u32, tx)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1275) 		__field(u32, rx)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1276) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1277) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1278) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1279) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1280) 		__entry->tx = tx;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1281) 		__entry->rx = rx;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1282) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1283) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1284) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1285) 		LOCAL_PR_FMT " tx:%d rx %d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1286) 		LOCAL_PR_ARG, __entry->tx, __entry->rx
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1287) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1288) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1289) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1290) TRACE_EVENT(drv_get_ringparam,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1291) 	TP_PROTO(struct ieee80211_local *local, u32 *tx, u32 *tx_max,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1292) 		 u32 *rx, u32 *rx_max),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1293) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1294) 	TP_ARGS(local, tx, tx_max, rx, rx_max),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1295) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1296) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1297) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1298) 		__field(u32, tx)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1299) 		__field(u32, tx_max)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1300) 		__field(u32, rx)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1301) 		__field(u32, rx_max)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1302) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1303) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1304) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1305) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1306) 		__entry->tx = *tx;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1307) 		__entry->tx_max = *tx_max;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1308) 		__entry->rx = *rx;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1309) 		__entry->rx_max = *rx_max;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1310) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1311) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1312) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1313) 		LOCAL_PR_FMT " tx:%d tx_max %d rx %d rx_max %d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1314) 		LOCAL_PR_ARG,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1315) 		__entry->tx, __entry->tx_max, __entry->rx, __entry->rx_max
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1316) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1317) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1318) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1319) DEFINE_EVENT(local_only_evt, drv_tx_frames_pending,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1320) 	TP_PROTO(struct ieee80211_local *local),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1321) 	TP_ARGS(local)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1322) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1323) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1324) DEFINE_EVENT(local_only_evt, drv_offchannel_tx_cancel_wait,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1325) 	TP_PROTO(struct ieee80211_local *local),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1326) 	TP_ARGS(local)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1327) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1328) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1329) TRACE_EVENT(drv_set_bitrate_mask,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1330) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1331) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1332) 		 const struct cfg80211_bitrate_mask *mask),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1333) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1334) 	TP_ARGS(local, sdata, mask),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1335) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1336) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1337) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1338) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1339) 		__field(u32, legacy_2g)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1340) 		__field(u32, legacy_5g)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1341) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1342) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1343) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1344) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1345) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1346) 		__entry->legacy_2g = mask->control[NL80211_BAND_2GHZ].legacy;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1347) 		__entry->legacy_5g = mask->control[NL80211_BAND_5GHZ].legacy;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1348) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1349) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1350) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1351) 		LOCAL_PR_FMT  VIF_PR_FMT " 2G Mask:0x%x 5G Mask:0x%x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1352) 		LOCAL_PR_ARG, VIF_PR_ARG, __entry->legacy_2g, __entry->legacy_5g
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1353) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1354) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1355) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1356) TRACE_EVENT(drv_set_rekey_data,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1357) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1358) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1359) 		 struct cfg80211_gtk_rekey_data *data),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1360) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1361) 	TP_ARGS(local, sdata, data),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1362) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1363) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1364) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1365) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1366) 		__array(u8, kek, NL80211_KEK_LEN)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1367) 		__array(u8, kck, NL80211_KCK_LEN)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1368) 		__array(u8, replay_ctr, NL80211_REPLAY_CTR_LEN)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1369) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1370) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1371) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1372) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1373) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1374) 		memcpy(__entry->kek, data->kek, NL80211_KEK_LEN);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1375) 		memcpy(__entry->kck, data->kck, NL80211_KCK_LEN);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1376) 		memcpy(__entry->replay_ctr, data->replay_ctr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1377) 		       NL80211_REPLAY_CTR_LEN);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1378) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1379) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1380) 	TP_printk(LOCAL_PR_FMT VIF_PR_FMT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1381) 		  LOCAL_PR_ARG, VIF_PR_ARG)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1382) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1383) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1384) TRACE_EVENT(drv_event_callback,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1385) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1386) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1387) 		 const struct ieee80211_event *_event),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1388) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1389) 	TP_ARGS(local, sdata, _event),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1390) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1391) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1392) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1393) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1394) 		__field(u32, type)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1395) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1396) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1397) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1398) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1399) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1400) 		__entry->type = _event->type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1401) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1402) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1403) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1404) 		LOCAL_PR_FMT VIF_PR_FMT " event:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1405) 		LOCAL_PR_ARG, VIF_PR_ARG, __entry->type
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1406) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1407) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1408) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1409) DECLARE_EVENT_CLASS(release_evt,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1410) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1411) 		 struct ieee80211_sta *sta,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1412) 		 u16 tids, int num_frames,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1413) 		 enum ieee80211_frame_release_type reason,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1414) 		 bool more_data),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1415) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1416) 	TP_ARGS(local, sta, tids, num_frames, reason, more_data),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1417) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1418) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1419) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1420) 		STA_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1421) 		__field(u16, tids)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1422) 		__field(int, num_frames)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1423) 		__field(int, reason)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1424) 		__field(bool, more_data)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1425) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1426) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1427) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1428) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1429) 		STA_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1430) 		__entry->tids = tids;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1431) 		__entry->num_frames = num_frames;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1432) 		__entry->reason = reason;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1433) 		__entry->more_data = more_data;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1434) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1435) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1436) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1437) 		LOCAL_PR_FMT STA_PR_FMT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1438) 		" TIDs:0x%.4x frames:%d reason:%d more:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1439) 		LOCAL_PR_ARG, STA_PR_ARG, __entry->tids, __entry->num_frames,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1440) 		__entry->reason, __entry->more_data
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1441) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1442) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1443) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1444) DEFINE_EVENT(release_evt, drv_release_buffered_frames,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1445) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1446) 		 struct ieee80211_sta *sta,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1447) 		 u16 tids, int num_frames,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1448) 		 enum ieee80211_frame_release_type reason,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1449) 		 bool more_data),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1450) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1451) 	TP_ARGS(local, sta, tids, num_frames, reason, more_data)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1452) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1453) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1454) DEFINE_EVENT(release_evt, drv_allow_buffered_frames,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1455) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1456) 		 struct ieee80211_sta *sta,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1457) 		 u16 tids, int num_frames,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1458) 		 enum ieee80211_frame_release_type reason,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1459) 		 bool more_data),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1460) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1461) 	TP_ARGS(local, sta, tids, num_frames, reason, more_data)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1462) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1463) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1464) TRACE_EVENT(drv_mgd_prepare_tx,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1465) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1466) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1467) 		 u16 duration),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1468) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1469) 	TP_ARGS(local, sdata, duration),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1470) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1471) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1472) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1473) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1474) 		__field(u32, duration)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1475) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1476) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1477) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1478) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1479) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1480) 		__entry->duration = duration;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1481) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1482) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1483) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1484) 		LOCAL_PR_FMT VIF_PR_FMT " duration: %u",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1485) 		LOCAL_PR_ARG, VIF_PR_ARG, __entry->duration
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1486) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1487) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1488) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1489) DEFINE_EVENT(local_sdata_evt, drv_mgd_protect_tdls_discover,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1490) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1491) 		 struct ieee80211_sub_if_data *sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1492) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1493) 	TP_ARGS(local, sdata)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1494) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1495) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1496) DECLARE_EVENT_CLASS(local_chanctx,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1497) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1498) 		 struct ieee80211_chanctx *ctx),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1499) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1500) 	TP_ARGS(local, ctx),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1501) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1502) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1503) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1504) 		CHANCTX_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1505) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1506) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1507) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1508) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1509) 		CHANCTX_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1510) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1511) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1512) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1513) 		LOCAL_PR_FMT CHANCTX_PR_FMT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1514) 		LOCAL_PR_ARG, CHANCTX_PR_ARG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1515) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1516) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1517) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1518) DEFINE_EVENT(local_chanctx, drv_add_chanctx,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1519) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1520) 		 struct ieee80211_chanctx *ctx),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1521) 	TP_ARGS(local, ctx)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1522) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1523) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1524) DEFINE_EVENT(local_chanctx, drv_remove_chanctx,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1525) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1526) 		 struct ieee80211_chanctx *ctx),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1527) 	TP_ARGS(local, ctx)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1528) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1529) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1530) TRACE_EVENT(drv_change_chanctx,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1531) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1532) 		 struct ieee80211_chanctx *ctx,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1533) 		 u32 changed),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1534) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1535) 	TP_ARGS(local, ctx, changed),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1536) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1537) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1538) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1539) 		CHANCTX_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1540) 		__field(u32, changed)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1541) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1542) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1543) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1544) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1545) 		CHANCTX_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1546) 		__entry->changed = changed;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1547) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1548) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1549) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1550) 		LOCAL_PR_FMT CHANCTX_PR_FMT " changed:%#x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1551) 		LOCAL_PR_ARG, CHANCTX_PR_ARG, __entry->changed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1552) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1553) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1554) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1555) #if !defined(__TRACE_VIF_ENTRY)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1556) #define __TRACE_VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1557) struct trace_vif_entry {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1558) 	enum nl80211_iftype vif_type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1559) 	bool p2p;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1560) 	char vif_name[IFNAMSIZ];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1561) } __packed;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1562) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1563) struct trace_chandef_entry {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1564) 	u32 control_freq;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1565) 	u32 freq_offset;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1566) 	u32 chan_width;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1567) 	u32 center_freq1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1568) 	u32 freq1_offset;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1569) 	u32 center_freq2;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1570) } __packed;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1571) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1572) struct trace_switch_entry {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1573) 	struct trace_vif_entry vif;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1574) 	struct trace_chandef_entry old_chandef;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1575) 	struct trace_chandef_entry new_chandef;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1576) } __packed;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1577) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1578) #define SWITCH_ENTRY_ASSIGN(to, from) local_vifs[i].to = vifs[i].from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1579) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1580) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1581) TRACE_EVENT(drv_switch_vif_chanctx,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1582) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1583) 		 struct ieee80211_vif_chanctx_switch *vifs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1584) 		 int n_vifs, enum ieee80211_chanctx_switch_mode mode),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1585) 	    TP_ARGS(local, vifs, n_vifs, mode),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1586) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1587) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1588) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1589) 		__field(int, n_vifs)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1590) 		__field(u32, mode)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1591) 		__dynamic_array(u8, vifs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1592) 				sizeof(struct trace_switch_entry) * n_vifs)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1593) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1594) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1595) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1596) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1597) 		__entry->n_vifs = n_vifs;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1598) 		__entry->mode = mode;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1599) 		{
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1600) 			struct trace_switch_entry *local_vifs =
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1601) 				__get_dynamic_array(vifs);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1602) 			int i;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1603) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1604) 			for (i = 0; i < n_vifs; i++) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1605) 				struct ieee80211_sub_if_data *sdata;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1606) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1607) 				sdata = container_of(vifs[i].vif,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1608) 						struct ieee80211_sub_if_data,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1609) 						vif);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1610) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1611) 				SWITCH_ENTRY_ASSIGN(vif.vif_type, vif->type);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1612) 				SWITCH_ENTRY_ASSIGN(vif.p2p, vif->p2p);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1613) 				strncpy(local_vifs[i].vif.vif_name,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1614) 					sdata->name,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1615) 					sizeof(local_vifs[i].vif.vif_name));
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1616) 				SWITCH_ENTRY_ASSIGN(old_chandef.control_freq,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1617) 						old_ctx->def.chan->center_freq);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1618) 				SWITCH_ENTRY_ASSIGN(old_chandef.freq_offset,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1619) 						old_ctx->def.chan->freq_offset);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1620) 				SWITCH_ENTRY_ASSIGN(old_chandef.chan_width,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1621) 						    old_ctx->def.width);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1622) 				SWITCH_ENTRY_ASSIGN(old_chandef.center_freq1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1623) 						    old_ctx->def.center_freq1);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1624) 				SWITCH_ENTRY_ASSIGN(old_chandef.freq1_offset,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1625) 						    old_ctx->def.freq1_offset);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1626) 				SWITCH_ENTRY_ASSIGN(old_chandef.center_freq2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1627) 						    old_ctx->def.center_freq2);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1628) 				SWITCH_ENTRY_ASSIGN(new_chandef.control_freq,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1629) 						new_ctx->def.chan->center_freq);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1630) 				SWITCH_ENTRY_ASSIGN(new_chandef.freq_offset,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1631) 						new_ctx->def.chan->freq_offset);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1632) 				SWITCH_ENTRY_ASSIGN(new_chandef.chan_width,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1633) 						    new_ctx->def.width);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1634) 				SWITCH_ENTRY_ASSIGN(new_chandef.center_freq1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1635) 						    new_ctx->def.center_freq1);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1636) 				SWITCH_ENTRY_ASSIGN(new_chandef.freq1_offset,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1637) 						    new_ctx->def.freq1_offset);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1638) 				SWITCH_ENTRY_ASSIGN(new_chandef.center_freq2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1639) 						    new_ctx->def.center_freq2);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1640) 			}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1641) 		}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1642) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1643) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1644) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1645) 		LOCAL_PR_FMT " n_vifs:%d mode:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1646) 		LOCAL_PR_ARG, __entry->n_vifs, __entry->mode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1647) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1648) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1649) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1650) DECLARE_EVENT_CLASS(local_sdata_chanctx,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1651) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1652) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1653) 		 struct ieee80211_chanctx *ctx),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1654) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1655) 	TP_ARGS(local, sdata, ctx),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1656) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1657) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1658) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1659) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1660) 		CHANCTX_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1661) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1662) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1663) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1664) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1665) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1666) 		CHANCTX_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1667) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1668) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1669) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1670) 		LOCAL_PR_FMT VIF_PR_FMT CHANCTX_PR_FMT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1671) 		LOCAL_PR_ARG, VIF_PR_ARG, CHANCTX_PR_ARG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1672) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1673) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1674) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1675) DEFINE_EVENT(local_sdata_chanctx, drv_assign_vif_chanctx,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1676) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1677) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1678) 		 struct ieee80211_chanctx *ctx),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1679) 	TP_ARGS(local, sdata, ctx)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1680) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1681) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1682) DEFINE_EVENT(local_sdata_chanctx, drv_unassign_vif_chanctx,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1683) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1684) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1685) 		 struct ieee80211_chanctx *ctx),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1686) 	TP_ARGS(local, sdata, ctx)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1687) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1688) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1689) TRACE_EVENT(drv_start_ap,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1690) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1691) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1692) 		 struct ieee80211_bss_conf *info),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1693) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1694) 	TP_ARGS(local, sdata, info),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1695) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1696) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1697) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1698) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1699) 		__field(u8, dtimper)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1700) 		__field(u16, bcnint)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1701) 		__dynamic_array(u8, ssid, info->ssid_len)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1702) 		__field(bool, hidden_ssid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1703) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1704) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1705) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1706) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1707) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1708) 		__entry->dtimper = info->dtim_period;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1709) 		__entry->bcnint = info->beacon_int;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1710) 		memcpy(__get_dynamic_array(ssid), info->ssid, info->ssid_len);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1711) 		__entry->hidden_ssid = info->hidden_ssid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1712) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1713) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1714) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1715) 		LOCAL_PR_FMT  VIF_PR_FMT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1716) 		LOCAL_PR_ARG, VIF_PR_ARG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1717) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1718) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1719) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1720) DEFINE_EVENT(local_sdata_evt, drv_stop_ap,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1721) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1722) 		 struct ieee80211_sub_if_data *sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1723) 	TP_ARGS(local, sdata)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1724) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1725) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1726) TRACE_EVENT(drv_reconfig_complete,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1727) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1728) 		 enum ieee80211_reconfig_type reconfig_type),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1729) 	TP_ARGS(local, reconfig_type),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1730) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1731) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1732) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1733) 		__field(u8, reconfig_type)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1734) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1735) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1736) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1737) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1738) 		__entry->reconfig_type = reconfig_type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1739) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1740) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1741) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1742) 		LOCAL_PR_FMT  " reconfig_type:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1743) 		LOCAL_PR_ARG, __entry->reconfig_type
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1744) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1745) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1746) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1747) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1748) #if IS_ENABLED(CONFIG_IPV6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1749) DEFINE_EVENT(local_sdata_evt, drv_ipv6_addr_change,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1750) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1751) 		 struct ieee80211_sub_if_data *sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1752) 	TP_ARGS(local, sdata)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1753) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1754) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1755) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1756) TRACE_EVENT(drv_join_ibss,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1757) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1758) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1759) 		 struct ieee80211_bss_conf *info),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1760) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1761) 	TP_ARGS(local, sdata, info),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1762) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1763) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1764) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1765) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1766) 		__field(u8, dtimper)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1767) 		__field(u16, bcnint)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1768) 		__dynamic_array(u8, ssid, info->ssid_len)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1769) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1770) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1771) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1772) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1773) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1774) 		__entry->dtimper = info->dtim_period;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1775) 		__entry->bcnint = info->beacon_int;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1776) 		memcpy(__get_dynamic_array(ssid), info->ssid, info->ssid_len);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1777) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1778) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1779) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1780) 		LOCAL_PR_FMT  VIF_PR_FMT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1781) 		LOCAL_PR_ARG, VIF_PR_ARG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1782) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1783) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1784) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1785) DEFINE_EVENT(local_sdata_evt, drv_leave_ibss,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1786) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1787) 		 struct ieee80211_sub_if_data *sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1788) 	TP_ARGS(local, sdata)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1789) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1790) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1791) TRACE_EVENT(drv_get_expected_throughput,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1792) 	TP_PROTO(struct ieee80211_sta *sta),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1793) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1794) 	TP_ARGS(sta),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1795) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1796) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1797) 		STA_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1798) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1799) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1800) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1801) 		STA_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1802) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1803) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1804) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1805) 		STA_PR_FMT, STA_PR_ARG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1806) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1807) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1808) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1809) TRACE_EVENT(drv_start_nan,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1810) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1811) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1812) 		 struct cfg80211_nan_conf *conf),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1813) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1814) 	TP_ARGS(local, sdata, conf),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1815) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1816) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1817) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1818) 		__field(u8, master_pref)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1819) 		__field(u8, bands)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1820) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1821) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1822) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1823) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1824) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1825) 		__entry->master_pref = conf->master_pref;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1826) 		__entry->bands = conf->bands;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1827) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1828) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1829) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1830) 		LOCAL_PR_FMT  VIF_PR_FMT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1831) 		", master preference: %u, bands: 0x%0x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1832) 		LOCAL_PR_ARG, VIF_PR_ARG, __entry->master_pref,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1833) 		__entry->bands
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1834) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1835) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1836) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1837) TRACE_EVENT(drv_stop_nan,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1838) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1839) 		 struct ieee80211_sub_if_data *sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1840) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1841) 	TP_ARGS(local, sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1842) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1843) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1844) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1845) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1846) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1847) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1848) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1849) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1850) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1851) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1852) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1853) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1854) 		LOCAL_PR_FMT  VIF_PR_FMT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1855) 		LOCAL_PR_ARG, VIF_PR_ARG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1856) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1857) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1858) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1859) TRACE_EVENT(drv_nan_change_conf,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1860) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1861) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1862) 		 struct cfg80211_nan_conf *conf,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1863) 		 u32 changes),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1864) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1865) 	TP_ARGS(local, sdata, conf, changes),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1866) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1867) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1868) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1869) 		__field(u8, master_pref)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1870) 		__field(u8, bands)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1871) 		__field(u32, changes)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1872) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1873) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1874) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1875) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1876) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1877) 		__entry->master_pref = conf->master_pref;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1878) 		__entry->bands = conf->bands;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1879) 		__entry->changes = changes;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1880) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1881) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1882) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1883) 		LOCAL_PR_FMT  VIF_PR_FMT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1884) 		", master preference: %u, bands: 0x%0x, changes: 0x%x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1885) 		LOCAL_PR_ARG, VIF_PR_ARG, __entry->master_pref,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1886) 		__entry->bands, __entry->changes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1887) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1888) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1889) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1890) TRACE_EVENT(drv_add_nan_func,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1891) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1892) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1893) 		 const struct cfg80211_nan_func *func),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1894) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1895) 	TP_ARGS(local, sdata, func),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1896) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1897) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1898) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1899) 		__field(u8, type)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1900) 		__field(u8, inst_id)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1901) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1902) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1903) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1904) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1905) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1906) 		__entry->type = func->type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1907) 		__entry->inst_id = func->instance_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1908) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1909) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1910) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1911) 		LOCAL_PR_FMT  VIF_PR_FMT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1912) 		", type: %u, inst_id: %u",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1913) 		LOCAL_PR_ARG, VIF_PR_ARG, __entry->type, __entry->inst_id
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1914) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1915) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1916) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1917) TRACE_EVENT(drv_del_nan_func,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1918) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1919) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1920) 		 u8 instance_id),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1921) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1922) 	TP_ARGS(local, sdata, instance_id),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1923) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1924) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1925) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1926) 		__field(u8, instance_id)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1927) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1928) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1929) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1930) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1931) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1932) 		__entry->instance_id = instance_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1933) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1934) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1935) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1936) 		LOCAL_PR_FMT  VIF_PR_FMT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1937) 		", instance_id: %u",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1938) 		LOCAL_PR_ARG, VIF_PR_ARG, __entry->instance_id
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1939) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1940) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1941) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1942) DEFINE_EVENT(local_sdata_evt, drv_start_pmsr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1943) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1944) 		 struct ieee80211_sub_if_data *sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1945) 	TP_ARGS(local, sdata)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1946) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1947) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1948) DEFINE_EVENT(local_sdata_evt, drv_abort_pmsr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1949) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1950) 		 struct ieee80211_sub_if_data *sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1951) 	TP_ARGS(local, sdata)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1952) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1953) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1954) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1955)  * Tracing for API calls that drivers call.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1956)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1957) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1958) TRACE_EVENT(api_start_tx_ba_session,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1959) 	TP_PROTO(struct ieee80211_sta *sta, u16 tid),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1960) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1961) 	TP_ARGS(sta, tid),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1962) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1963) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1964) 		STA_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1965) 		__field(u16, tid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1966) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1967) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1968) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1969) 		STA_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1970) 		__entry->tid = tid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1971) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1972) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1973) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1974) 		STA_PR_FMT " tid:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1975) 		STA_PR_ARG, __entry->tid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1976) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1977) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1978) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1979) TRACE_EVENT(api_start_tx_ba_cb,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1980) 	TP_PROTO(struct ieee80211_sub_if_data *sdata, const u8 *ra, u16 tid),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1981) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1982) 	TP_ARGS(sdata, ra, tid),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1983) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1984) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1985) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1986) 		__array(u8, ra, ETH_ALEN)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1987) 		__field(u16, tid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1988) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1989) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1990) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1991) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1992) 		memcpy(__entry->ra, ra, ETH_ALEN);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1993) 		__entry->tid = tid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1994) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1995) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1996) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1997) 		VIF_PR_FMT " ra:%pM tid:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1998) 		VIF_PR_ARG, __entry->ra, __entry->tid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1999) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2000) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2001) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2002) TRACE_EVENT(api_stop_tx_ba_session,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2003) 	TP_PROTO(struct ieee80211_sta *sta, u16 tid),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2004) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2005) 	TP_ARGS(sta, tid),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2006) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2007) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2008) 		STA_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2009) 		__field(u16, tid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2010) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2011) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2012) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2013) 		STA_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2014) 		__entry->tid = tid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2015) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2016) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2017) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2018) 		STA_PR_FMT " tid:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2019) 		STA_PR_ARG, __entry->tid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2020) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2021) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2022) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2023) TRACE_EVENT(api_stop_tx_ba_cb,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2024) 	TP_PROTO(struct ieee80211_sub_if_data *sdata, const u8 *ra, u16 tid),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2025) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2026) 	TP_ARGS(sdata, ra, tid),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2027) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2028) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2029) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2030) 		__array(u8, ra, ETH_ALEN)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2031) 		__field(u16, tid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2032) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2033) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2034) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2035) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2036) 		memcpy(__entry->ra, ra, ETH_ALEN);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2037) 		__entry->tid = tid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2038) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2039) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2040) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2041) 		VIF_PR_FMT " ra:%pM tid:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2042) 		VIF_PR_ARG, __entry->ra, __entry->tid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2043) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2044) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2045) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2046) DEFINE_EVENT(local_only_evt, api_restart_hw,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2047) 	TP_PROTO(struct ieee80211_local *local),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2048) 	TP_ARGS(local)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2049) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2050) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2051) TRACE_EVENT(api_beacon_loss,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2052) 	TP_PROTO(struct ieee80211_sub_if_data *sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2053) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2054) 	TP_ARGS(sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2055) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2056) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2057) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2058) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2059) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2060) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2061) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2062) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2063) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2064) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2065) 		VIF_PR_FMT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2066) 		VIF_PR_ARG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2067) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2068) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2069) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2070) TRACE_EVENT(api_connection_loss,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2071) 	TP_PROTO(struct ieee80211_sub_if_data *sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2072) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2073) 	TP_ARGS(sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2074) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2075) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2076) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2077) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2078) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2079) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2080) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2081) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2082) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2083) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2084) 		VIF_PR_FMT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2085) 		VIF_PR_ARG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2086) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2087) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2088) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2089) TRACE_EVENT(api_cqm_rssi_notify,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2090) 	TP_PROTO(struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2091) 		 enum nl80211_cqm_rssi_threshold_event rssi_event,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2092) 		 s32 rssi_level),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2093) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2094) 	TP_ARGS(sdata, rssi_event, rssi_level),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2095) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2096) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2097) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2098) 		__field(u32, rssi_event)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2099) 		__field(s32, rssi_level)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2100) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2101) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2102) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2103) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2104) 		__entry->rssi_event = rssi_event;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2105) 		__entry->rssi_level = rssi_level;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2106) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2107) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2108) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2109) 		VIF_PR_FMT " event:%d rssi:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2110) 		VIF_PR_ARG, __entry->rssi_event, __entry->rssi_level
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2111) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2112) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2113) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2114) DEFINE_EVENT(local_sdata_evt, api_cqm_beacon_loss_notify,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2115) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2116) 		 struct ieee80211_sub_if_data *sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2117) 	TP_ARGS(local, sdata)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2118) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2119) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2120) TRACE_EVENT(api_scan_completed,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2121) 	TP_PROTO(struct ieee80211_local *local, bool aborted),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2122) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2123) 	TP_ARGS(local, aborted),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2124) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2125) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2126) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2127) 		__field(bool, aborted)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2128) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2129) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2130) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2131) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2132) 		__entry->aborted = aborted;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2133) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2134) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2135) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2136) 		LOCAL_PR_FMT " aborted:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2137) 		LOCAL_PR_ARG, __entry->aborted
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2138) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2139) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2140) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2141) TRACE_EVENT(api_sched_scan_results,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2142) 	TP_PROTO(struct ieee80211_local *local),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2143) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2144) 	TP_ARGS(local),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2145) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2146) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2147) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2148) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2149) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2150) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2151) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2152) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2153) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2154) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2155) 		LOCAL_PR_FMT, LOCAL_PR_ARG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2156) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2157) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2158) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2159) TRACE_EVENT(api_sched_scan_stopped,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2160) 	TP_PROTO(struct ieee80211_local *local),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2161) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2162) 	TP_ARGS(local),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2163) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2164) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2165) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2166) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2167) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2168) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2169) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2170) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2171) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2172) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2173) 		LOCAL_PR_FMT, LOCAL_PR_ARG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2174) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2175) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2176) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2177) TRACE_EVENT(api_sta_block_awake,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2178) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2179) 		 struct ieee80211_sta *sta, bool block),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2180) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2181) 	TP_ARGS(local, sta, block),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2182) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2183) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2184) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2185) 		STA_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2186) 		__field(bool, block)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2187) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2188) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2189) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2190) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2191) 		STA_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2192) 		__entry->block = block;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2193) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2194) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2195) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2196) 		LOCAL_PR_FMT STA_PR_FMT " block:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2197) 		LOCAL_PR_ARG, STA_PR_ARG, __entry->block
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2198) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2199) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2200) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2201) TRACE_EVENT(api_chswitch_done,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2202) 	TP_PROTO(struct ieee80211_sub_if_data *sdata, bool success),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2203) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2204) 	TP_ARGS(sdata, success),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2205) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2206) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2207) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2208) 		__field(bool, success)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2209) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2210) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2211) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2212) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2213) 		__entry->success = success;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2214) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2215) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2216) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2217) 		VIF_PR_FMT " success=%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2218) 		VIF_PR_ARG, __entry->success
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2219) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2220) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2221) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2222) DEFINE_EVENT(local_only_evt, api_ready_on_channel,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2223) 	TP_PROTO(struct ieee80211_local *local),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2224) 	TP_ARGS(local)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2225) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2226) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2227) DEFINE_EVENT(local_only_evt, api_remain_on_channel_expired,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2228) 	TP_PROTO(struct ieee80211_local *local),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2229) 	TP_ARGS(local)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2230) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2231) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2232) TRACE_EVENT(api_gtk_rekey_notify,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2233) 	TP_PROTO(struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2234) 		 const u8 *bssid, const u8 *replay_ctr),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2235) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2236) 	TP_ARGS(sdata, bssid, replay_ctr),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2237) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2238) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2239) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2240) 		__array(u8, bssid, ETH_ALEN)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2241) 		__array(u8, replay_ctr, NL80211_REPLAY_CTR_LEN)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2242) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2243) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2244) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2245) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2246) 		memcpy(__entry->bssid, bssid, ETH_ALEN);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2247) 		memcpy(__entry->replay_ctr, replay_ctr, NL80211_REPLAY_CTR_LEN);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2248) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2249) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2250) 	TP_printk(VIF_PR_FMT, VIF_PR_ARG)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2251) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2252) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2253) TRACE_EVENT(api_enable_rssi_reports,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2254) 	TP_PROTO(struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2255) 		 int rssi_min_thold, int rssi_max_thold),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2256) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2257) 	TP_ARGS(sdata, rssi_min_thold, rssi_max_thold),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2258) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2259) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2260) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2261) 		__field(int, rssi_min_thold)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2262) 		__field(int, rssi_max_thold)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2263) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2264) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2265) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2266) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2267) 		__entry->rssi_min_thold = rssi_min_thold;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2268) 		__entry->rssi_max_thold = rssi_max_thold;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2269) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2270) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2271) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2272) 		VIF_PR_FMT " rssi_min_thold =%d, rssi_max_thold = %d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2273) 		VIF_PR_ARG, __entry->rssi_min_thold, __entry->rssi_max_thold
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2274) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2275) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2276) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2277) TRACE_EVENT(api_eosp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2278) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2279) 		 struct ieee80211_sta *sta),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2280) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2281) 	TP_ARGS(local, sta),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2282) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2283) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2284) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2285) 		STA_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2286) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2287) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2288) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2289) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2290) 		STA_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2291) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2292) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2293) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2294) 		LOCAL_PR_FMT STA_PR_FMT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2295) 		LOCAL_PR_ARG, STA_PR_ARG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2296) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2297) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2298) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2299) TRACE_EVENT(api_send_eosp_nullfunc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2300) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2301) 		 struct ieee80211_sta *sta,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2302) 		 u8 tid),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2303) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2304) 	TP_ARGS(local, sta, tid),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2305) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2306) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2307) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2308) 		STA_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2309) 		__field(u8, tid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2310) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2311) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2312) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2313) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2314) 		STA_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2315) 		__entry->tid = tid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2316) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2317) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2318) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2319) 		LOCAL_PR_FMT STA_PR_FMT " tid:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2320) 		LOCAL_PR_ARG, STA_PR_ARG, __entry->tid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2321) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2322) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2323) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2324) TRACE_EVENT(api_sta_set_buffered,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2325) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2326) 		 struct ieee80211_sta *sta,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2327) 		 u8 tid, bool buffered),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2328) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2329) 	TP_ARGS(local, sta, tid, buffered),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2330) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2331) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2332) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2333) 		STA_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2334) 		__field(u8, tid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2335) 		__field(bool, buffered)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2336) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2337) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2338) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2339) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2340) 		STA_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2341) 		__entry->tid = tid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2342) 		__entry->buffered = buffered;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2343) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2344) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2345) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2346) 		LOCAL_PR_FMT STA_PR_FMT " tid:%d buffered:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2347) 		LOCAL_PR_ARG, STA_PR_ARG, __entry->tid, __entry->buffered
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2348) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2349) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2350) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2351) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2352)  * Tracing for internal functions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2353)  * (which may also be called in response to driver calls)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2354)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2355) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2356) TRACE_EVENT(wake_queue,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2357) 	TP_PROTO(struct ieee80211_local *local, u16 queue,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2358) 		 enum queue_stop_reason reason),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2359) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2360) 	TP_ARGS(local, queue, reason),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2361) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2362) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2363) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2364) 		__field(u16, queue)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2365) 		__field(u32, reason)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2366) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2367) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2368) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2369) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2370) 		__entry->queue = queue;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2371) 		__entry->reason = reason;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2372) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2373) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2374) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2375) 		LOCAL_PR_FMT " queue:%d, reason:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2376) 		LOCAL_PR_ARG, __entry->queue, __entry->reason
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2377) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2378) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2379) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2380) TRACE_EVENT(stop_queue,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2381) 	TP_PROTO(struct ieee80211_local *local, u16 queue,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2382) 		 enum queue_stop_reason reason),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2383) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2384) 	TP_ARGS(local, queue, reason),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2385) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2386) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2387) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2388) 		__field(u16, queue)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2389) 		__field(u32, reason)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2390) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2391) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2392) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2393) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2394) 		__entry->queue = queue;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2395) 		__entry->reason = reason;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2396) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2397) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2398) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2399) 		LOCAL_PR_FMT " queue:%d, reason:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2400) 		LOCAL_PR_ARG, __entry->queue, __entry->reason
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2401) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2402) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2403) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2404) TRACE_EVENT(drv_set_default_unicast_key,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2405) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2406) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2407) 		 int key_idx),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2408) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2409) 	TP_ARGS(local, sdata, key_idx),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2410) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2411) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2412) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2413) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2414) 		__field(int, key_idx)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2415) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2416) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2417) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2418) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2419) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2420) 		__entry->key_idx = key_idx;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2421) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2422) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2423) 	TP_printk(LOCAL_PR_FMT VIF_PR_FMT " key_idx:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2424) 		  LOCAL_PR_ARG, VIF_PR_ARG, __entry->key_idx)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2425) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2426) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2427) TRACE_EVENT(api_radar_detected,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2428) 	TP_PROTO(struct ieee80211_local *local),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2429) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2430) 	TP_ARGS(local),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2431) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2432) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2433) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2434) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2435) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2436) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2437) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2438) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2439) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2440) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2441) 		LOCAL_PR_FMT " radar detected",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2442) 		LOCAL_PR_ARG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2443) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2444) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2445) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2446) TRACE_EVENT(drv_channel_switch_beacon,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2447) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2448) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2449) 		 struct cfg80211_chan_def *chandef),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2450) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2451) 	TP_ARGS(local, sdata, chandef),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2452) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2453) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2454) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2455) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2456) 		CHANDEF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2457) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2458) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2459) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2460) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2461) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2462) 		CHANDEF_ASSIGN(chandef);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2463) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2464) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2465) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2466) 		LOCAL_PR_FMT VIF_PR_FMT " channel switch to " CHANDEF_PR_FMT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2467) 		LOCAL_PR_ARG, VIF_PR_ARG, CHANDEF_PR_ARG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2468) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2469) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2470) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2471) TRACE_EVENT(drv_pre_channel_switch,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2472) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2473) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2474) 		 struct ieee80211_channel_switch *ch_switch),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2475) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2476) 	TP_ARGS(local, sdata, ch_switch),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2477) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2478) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2479) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2480) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2481) 		CHANDEF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2482) 		__field(u64, timestamp)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2483) 		__field(u32, device_timestamp)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2484) 		__field(bool, block_tx)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2485) 		__field(u8, count)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2486) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2487) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2488) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2489) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2490) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2491) 		CHANDEF_ASSIGN(&ch_switch->chandef)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2492) 		__entry->timestamp = ch_switch->timestamp;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2493) 		__entry->device_timestamp = ch_switch->device_timestamp;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2494) 		__entry->block_tx = ch_switch->block_tx;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2495) 		__entry->count = ch_switch->count;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2496) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2497) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2498) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2499) 		LOCAL_PR_FMT VIF_PR_FMT " prepare channel switch to "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2500) 		CHANDEF_PR_FMT  " count:%d block_tx:%d timestamp:%llu",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2501) 		LOCAL_PR_ARG, VIF_PR_ARG, CHANDEF_PR_ARG, __entry->count,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2502) 		__entry->block_tx, __entry->timestamp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2503) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2504) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2505) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2506) DEFINE_EVENT(local_sdata_evt, drv_post_channel_switch,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2507) 	     TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2508) 		      struct ieee80211_sub_if_data *sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2509) 	     TP_ARGS(local, sdata)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2510) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2511) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2512) DEFINE_EVENT(local_sdata_evt, drv_abort_channel_switch,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2513) 	     TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2514) 		      struct ieee80211_sub_if_data *sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2515) 	     TP_ARGS(local, sdata)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2516) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2517) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2518) TRACE_EVENT(drv_channel_switch_rx_beacon,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2519) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2520) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2521) 		 struct ieee80211_channel_switch *ch_switch),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2522) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2523) 	TP_ARGS(local, sdata, ch_switch),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2524) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2525) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2526) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2527) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2528) 		CHANDEF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2529) 		__field(u64, timestamp)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2530) 		__field(u32, device_timestamp)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2531) 		__field(bool, block_tx)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2532) 		__field(u8, count)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2533) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2534) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2535) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2536) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2537) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2538) 		CHANDEF_ASSIGN(&ch_switch->chandef)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2539) 		__entry->timestamp = ch_switch->timestamp;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2540) 		__entry->device_timestamp = ch_switch->device_timestamp;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2541) 		__entry->block_tx = ch_switch->block_tx;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2542) 		__entry->count = ch_switch->count;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2543) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2544) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2545) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2546) 		LOCAL_PR_FMT VIF_PR_FMT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2547) 		" received a channel switch beacon to "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2548) 		CHANDEF_PR_FMT  " count:%d block_tx:%d timestamp:%llu",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2549) 		LOCAL_PR_ARG, VIF_PR_ARG, CHANDEF_PR_ARG, __entry->count,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2550) 		__entry->block_tx, __entry->timestamp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2551) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2552) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2553) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2554) TRACE_EVENT(drv_get_txpower,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2555) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2556) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2557) 		 int dbm, int ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2558) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2559) 	TP_ARGS(local, sdata, dbm, ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2560) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2561) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2562) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2563) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2564) 		__field(int, dbm)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2565) 		__field(int, ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2566) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2567) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2568) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2569) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2570) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2571) 		__entry->dbm = dbm;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2572) 		__entry->ret = ret;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2573) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2574) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2575) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2576) 		LOCAL_PR_FMT VIF_PR_FMT " dbm:%d ret:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2577) 		LOCAL_PR_ARG, VIF_PR_ARG, __entry->dbm, __entry->ret
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2578) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2579) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2580) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2581) TRACE_EVENT(drv_tdls_channel_switch,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2582) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2583) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2584) 		 struct ieee80211_sta *sta, u8 oper_class,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2585) 		 struct cfg80211_chan_def *chandef),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2586) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2587) 	TP_ARGS(local, sdata, sta, oper_class, chandef),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2588) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2589) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2590) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2591) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2592) 		STA_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2593) 		__field(u8, oper_class)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2594) 		CHANDEF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2595) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2596) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2597) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2598) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2599) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2600) 		STA_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2601) 		__entry->oper_class = oper_class;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2602) 		CHANDEF_ASSIGN(chandef)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2603) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2604) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2605) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2606) 		LOCAL_PR_FMT VIF_PR_FMT " tdls channel switch to"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2607) 		CHANDEF_PR_FMT  " oper_class:%d " STA_PR_FMT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2608) 		LOCAL_PR_ARG, VIF_PR_ARG, CHANDEF_PR_ARG, __entry->oper_class,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2609) 		STA_PR_ARG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2610) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2611) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2612) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2613) TRACE_EVENT(drv_tdls_cancel_channel_switch,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2614) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2615) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2616) 		 struct ieee80211_sta *sta),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2617) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2618) 	TP_ARGS(local, sdata, sta),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2619) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2620) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2621) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2622) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2623) 		STA_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2624) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2625) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2626) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2627) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2628) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2629) 		STA_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2630) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2631) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2632) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2633) 		LOCAL_PR_FMT VIF_PR_FMT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2634) 		" tdls cancel channel switch with " STA_PR_FMT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2635) 		LOCAL_PR_ARG, VIF_PR_ARG, STA_PR_ARG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2636) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2637) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2638) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2639) TRACE_EVENT(drv_tdls_recv_channel_switch,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2640) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2641) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2642) 		 struct ieee80211_tdls_ch_sw_params *params),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2643) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2644) 	TP_ARGS(local, sdata, params),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2645) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2646) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2647) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2648) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2649) 		__field(u8, action_code)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2650) 		STA_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2651) 		CHANDEF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2652) 		__field(u32, status)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2653) 		__field(bool, peer_initiator)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2654) 		__field(u32, timestamp)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2655) 		__field(u16, switch_time)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2656) 		__field(u16, switch_timeout)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2657) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2658) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2659) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2660) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2661) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2662) 		STA_NAMED_ASSIGN(params->sta);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2663) 		CHANDEF_ASSIGN(params->chandef)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2664) 		__entry->peer_initiator = params->sta->tdls_initiator;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2665) 		__entry->action_code = params->action_code;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2666) 		__entry->status = params->status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2667) 		__entry->timestamp = params->timestamp;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2668) 		__entry->switch_time = params->switch_time;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2669) 		__entry->switch_timeout = params->switch_timeout;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2670) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2671) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2672) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2673) 		LOCAL_PR_FMT VIF_PR_FMT " received tdls channel switch packet"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2674) 		" action:%d status:%d time:%d switch time:%d switch"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2675) 		" timeout:%d initiator: %d chan:" CHANDEF_PR_FMT STA_PR_FMT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2676) 		LOCAL_PR_ARG, VIF_PR_ARG, __entry->action_code, __entry->status,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2677) 		__entry->timestamp, __entry->switch_time,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2678) 		__entry->switch_timeout, __entry->peer_initiator,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2679) 		CHANDEF_PR_ARG, STA_PR_ARG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2680) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2681) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2682) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2683) TRACE_EVENT(drv_wake_tx_queue,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2684) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2685) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2686) 		 struct txq_info *txq),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2687) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2688) 	TP_ARGS(local, sdata, txq),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2689) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2690) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2691) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2692) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2693) 		STA_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2694) 		__field(u8, ac)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2695) 		__field(u8, tid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2696) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2697) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2698) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2699) 		struct ieee80211_sta *sta = txq->txq.sta;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2700) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2701) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2702) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2703) 		STA_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2704) 		__entry->ac = txq->txq.ac;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2705) 		__entry->tid = txq->txq.tid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2706) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2707) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2708) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2709) 		LOCAL_PR_FMT  VIF_PR_FMT  STA_PR_FMT " ac:%d tid:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2710) 		LOCAL_PR_ARG, VIF_PR_ARG, STA_PR_ARG, __entry->ac, __entry->tid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2711) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2712) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2713) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2714) TRACE_EVENT(drv_get_ftm_responder_stats,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2715) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2716) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2717) 		 struct cfg80211_ftm_responder_stats *ftm_stats),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2718) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2719) 	TP_ARGS(local, sdata, ftm_stats),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2720) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2721) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2722) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2723) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2724) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2725) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2726) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2727) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2728) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2729) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2730) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2731) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2732) 		LOCAL_PR_FMT VIF_PR_FMT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2733) 		LOCAL_PR_ARG, VIF_PR_ARG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2734) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2735) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2736) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2737) DEFINE_EVENT(local_sdata_addr_evt, drv_update_vif_offload,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2738) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2739) 		 struct ieee80211_sub_if_data *sdata),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2740) 	TP_ARGS(local, sdata)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2741) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2742) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2743) TRACE_EVENT(drv_sta_set_4addr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2744) 	TP_PROTO(struct ieee80211_local *local,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2745) 		 struct ieee80211_sub_if_data *sdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2746) 		 struct ieee80211_sta *sta, bool enabled),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2747) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2748) 	TP_ARGS(local, sdata, sta, enabled),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2749) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2750) 	TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2751) 		LOCAL_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2752) 		VIF_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2753) 		STA_ENTRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2754) 		__field(bool, enabled)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2755) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2756) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2757) 	TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2758) 		LOCAL_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2759) 		VIF_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2760) 		STA_ASSIGN;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2761) 		__entry->enabled = enabled;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2762) 	),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2763) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2764) 	TP_printk(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2765) 		LOCAL_PR_FMT  VIF_PR_FMT  STA_PR_FMT " enabled:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2766) 		LOCAL_PR_ARG, VIF_PR_ARG, STA_PR_ARG, __entry->enabled
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2767) 	)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2768) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2769) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2770) #endif /* !__MAC80211_DRIVER_TRACE || TRACE_HEADER_MULTI_READ */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2771) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2772) #undef TRACE_INCLUDE_PATH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2773) #define TRACE_INCLUDE_PATH .
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2774) #undef TRACE_INCLUDE_FILE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2775) #define TRACE_INCLUDE_FILE trace
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2776) #include <trace/define_trace.h>