Lines Matching +full:pn +full:- +full:retry +full:- +full:params

1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Copyright 2002-2005, Devicescape Software, Inc.
4 * Copyright 2013-2014 Intel Mobile Communications GmbH
5 * Copyright(c) 2015-2017 Intel Deutschland GmbH
6 * Copyright(c) 2020-2024 Intel Corporation
24 * enum ieee80211_sta_info_flags - Stations flags
31 * @WLAN_STA_PS_STA: Station is in power-save mode
35 * @WLAN_STA_SHORT_PREAMBLE: Station is capable of receiving short-preamble
45 * power-save mode logically to flush frames that might still
47 * @WLAN_STA_PSPOLL: Station sent PS-poll while driver was keeping
48 * station in power-save mode, reply when the driver unblocks.
54 * @WLAN_STA_TDLS_CHAN_SWITCH: This TDLS peer supports TDLS channel-switching
55 * @WLAN_STA_TDLS_OFF_CHANNEL: The local STA is currently off-channel with this
60 * keeping station in power-save mode, reply when the driver
63 * reply to other uAPSD trigger frames or PS-Poll.
64 * @WLAN_STA_4ADDR_EVENT: 4-addr event was already sent for this frame.
155 * struct tid_ampdu_tx - TID aggregation information (Tx).
158 * @session_timer: check if we keep Tx-ing on the TID (by timeout value)
160 * @pending: pending frames queue -- use sta's spinlock to protect
171 * @bar_pending: BAR needs to be re-sent
172 * @amsdu: support A-MSDU withing A-MDPU
178 * The TX path can access it under RCU lock-free if, and
181 * and re-check the state, see comments in the tx code
206 * struct tid_ampdu_rx - TID aggregation information (Rx).
209 * A-MSDU with individually reported subframes.
213 * @session_timer: check if peer keeps Tx-ing on the TID (by timeout value)
220 * @buf_size: buffer size for incoming A-MPDUs
260 * struct sta_ampdu_mlme - STA aggregation information.
262 * @mtx: mutex to protect all TX data (except non-NULL assignments
264 * tid_start_tx is also protected by sta->lock.
265 * @tid_rx: aggregation info for Rx per TID -- RCU protected
309 * struct ieee80211_fast_tx - TX fastpath information
315 * @pn_offs: offset where to put PN for crypto (or 0 if not needed)
320 * header length of 8 like for CCMP/GCMP) fits into a single 64-byte
335 * struct ieee80211_fast_rx - RX fastpath information
337 * @vif_type: (P2P-less) interface type of the original sdata (sdata->vif.type)
366 /* we use only values in the range 0-100, so pick a large precision */
371 * struct mesh_sta - mesh STA information
385 * @local_pm: local link-specific power save mode
386 * @peer_pm: peer-specific power save mode towards local STA
387 * @nonpeer_pm: STA power save mode towards non-peer neighbors
445 * IEEE 802.11-2016 (10.6 "Defragmentation") recommends support for "concurrent
463 u8 last_pn[6]; /* PN of the last fragment if CCMP was used */
473 * The bandwidth threshold below which the per-station CoDel parameters will be
481 * struct link_sta_info - Link STA information
483 * a single entry for non-MLD STA or multiple entries for MLD STA
484 * @addr: Link MAC address - Can be same as MLD STA mac address and is always
485 * same for non-MLD STA. This is used as key for searching link STA
486 * @link_id: Link ID uniquely identifying the link STA. This is 0 for non-MLD
501 * @rx_stats_avg.chain_signal: averaged per-chain signal
502 * @pcpu_rx_stats: per-CPU RX statistics, assigned only if the driver needs
506 * @status_stats.retry_failed: # of frames that failed after retry
520 * TODO Move other link params from sta_info as required for MLD operation
576 * struct sta_info - STA information
584 * @addr: station's MAC address - duplicated from public part to
593 * @rate_ctrl_priv: rate control private per-STA pointer
611 * plus one for non-QoS frames)
612 * @tid_seq: per-TID sequence numbers for sending to this STA
613 * @airtime: per-AC struct airtime_info describing airtime statistics for this
616 * @ampdu_mlme: A-MPDU state machine state
629 * @amsdu_mesh_control: track the mesh A-MSDU format used by the peer:
631 * * -1: not yet known
632 * * 0: non-mesh A-MSDU length field
633 * * 1: big-endian mesh A-MSDU length field
634 * * 2: little-endian mesh A-MSDU length field
701 /* Plus 1 for non-QoS frames */
738 return sta->mesh->plink_state; in sta_plink_state()
749 set_bit(flag, &sta->_flags); in set_sta_flag()
758 clear_bit(flag, &sta->_flags); in clear_sta_flag()
764 return test_bit(flag, &sta->_flags); in test_sta_flag()
773 return test_and_clear_bit(flag, &sta->_flags); in test_and_clear_sta_flag()
782 return test_and_set_bit(flag, &sta->_flags); in test_and_set_sta_flag()
806 return rcu_dereference_protected(sta->ampdu_mlme.tid_tx[tid], in rcu_dereference_protected_tid_tx()
807 lockdep_is_held(&sta->lock) || in rcu_dereference_protected_tid_tx()
808 lockdep_is_held(&sta->ampdu_mlme.mtx)); in rcu_dereference_protected_tid_tx()
874 * -EEXIST if (if the same MAC address is already present).
876 * Calling the non-rcu version makes the caller relinquish,
895 * __sta_info_flush - flush matching STA entries from the STA table
905 * sta_info_flush - flush matching STA entries from the STA table
981 r = STA_STATS_FIELD(BW, s->bw); in sta_stats_encode_rate()
983 if (s->enc_flags & RX_ENC_FLAG_SHORT_GI) in sta_stats_encode_rate()
986 switch (s->encoding) { in sta_stats_encode_rate()
989 r |= STA_STATS_FIELD(VHT_NSS, s->nss); in sta_stats_encode_rate()
990 r |= STA_STATS_FIELD(VHT_MCS, s->rate_idx); in sta_stats_encode_rate()
994 r |= STA_STATS_FIELD(HT_MCS, s->rate_idx); in sta_stats_encode_rate()
998 r |= STA_STATS_FIELD(LEGACY_BAND, s->band); in sta_stats_encode_rate()
999 r |= STA_STATS_FIELD(LEGACY_IDX, s->rate_idx); in sta_stats_encode_rate()
1003 r |= STA_STATS_FIELD(HE_NSS, s->nss); in sta_stats_encode_rate()
1004 r |= STA_STATS_FIELD(HE_MCS, s->rate_idx); in sta_stats_encode_rate()
1005 r |= STA_STATS_FIELD(HE_GI, s->he_gi); in sta_stats_encode_rate()
1006 r |= STA_STATS_FIELD(HE_RU, s->he_ru); in sta_stats_encode_rate()
1007 r |= STA_STATS_FIELD(HE_DCM, s->he_dcm); in sta_stats_encode_rate()
1011 r |= STA_STATS_FIELD(EHT_NSS, s->nss); in sta_stats_encode_rate()
1012 r |= STA_STATS_FIELD(EHT_MCS, s->rate_idx); in sta_stats_encode_rate()
1013 r |= STA_STATS_FIELD(EHT_GI, s->eht.gi); in sta_stats_encode_rate()
1014 r |= STA_STATS_FIELD(EHT_RU, s->eht.ru); in sta_stats_encode_rate()