^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>