Lines Matching defs:rate
557 * index into the rate table configured by the driver in
559 * @beacon_rate: associated AP's beacon TX rate
560 * @mcast_rate: per-band multicast rate index + 1 (0: disabled)
631 * @beacon_tx_rate: The configured beacon transmit rate that needs to be passed
632 * to driver when rate control is offloaded to firmware.
745 * set by rate control algorithms to indicate probe rate, will
782 * @IEEE80211_TX_CTL_NO_CCK_RATE: This frame will be sent at non CCK rate.
784 * frames not being sent at CCK rate in 2GHz band.
790 * @IEEE80211_TX_CTL_USE_MINRATE: This frame will be sent at lowest rate.
791 * This flag is used to send nullfunc frame at minimum rate when
850 * @IEEE80211_TX_CTRL_RATE_INJECT: This frame is injected with rate information
887 * enum mac80211_rate_control_flags - per-rate flags set by the
890 * These flags are set by the Rate control algorithm for each rate during tx,
893 * @IEEE80211_TX_RC_USE_RTS_CTS: Use RTS/CTS exchange for this rate.
897 * @IEEE80211_TX_RC_MCS: HT rate.
898 * @IEEE80211_TX_RC_VHT_MCS: VHT MCS rate, in this case the idx field is split
900 * @IEEE80211_TX_RC_GREEN_FIELD: Indicates whether this rate should be used in
909 * @IEEE80211_TX_RC_SHORT_GI: Short Guard interval should be used for this rate.
916 /* rate index is an HT/VHT MCS instead of an index */
934 /* maximum number of rate stages */
937 /* maximum number of rate table entries */
941 * struct ieee80211_tx_rate - rate selection/status
943 * @idx: rate index to attempt to send with
944 * @flags: rate control flags (&enum mac80211_rate_control_flags)
945 * @count: number of tries in this rate before going to the next rate
947 * A value of -1 for @idx indicates an invalid rate and, if used
951 * always report the rate along with the flags it used.
954 * in the control information, and it will be filled by the rate
962 * up to twice at rate 3, up to twice at rate 2, and up to four
963 * times at rate 1 if it doesn't get acknowledged. Say it gets
969 * since it was transmitted twice at rate 3, twice at rate 2
970 * and once at rate 1 after which we received an acknowledgement.
980 static inline void ieee80211_rate_set_vht(struct ieee80211_tx_rate *rate,
985 rate->idx = ((nss - 1) << 4) | mcs;
989 ieee80211_rate_get_vht_mcs(const struct ieee80211_tx_rate *rate)
991 return rate->idx & 0xF;
995 ieee80211_rate_get_vht_nss(const struct ieee80211_tx_rate *rate)
997 return (rate->idx >> 4) + 1;
1015 * @control.rts_cts_rate_idx: rate for RTS or CTS
1019 * @control.skip_table: skip externally configured rate table
1059 /* rate control */
1070 /* only needed before rate control */
1122 * struct ieee80211_tx_status - extended tx status info for rate control
1127 * @rate: The TX rate that was used when sending the packet
1134 struct rate_info *rate;
1175 * in the TX status but the rate control information (it does clear
1192 /* clear the rate counts */
1387 * @rate_idx: index of data rate into band's supported rates or MCS index if
1987 * struct ieee80211_sta_rates - station rate selection table
1990 * @rate: transmit rates/flags to be used by default.
2001 } rate[IEEE80211_TX_RATE_TABLE_SIZE];
2056 * @rates: rate control selection table
2065 * @max_rc_amsdu_len: Maximum A-MSDU size in bytes recommended by rate control.
2175 * The hardware or firmware includes rate control, and cannot be
2176 * controlled by the stack. As such, no rate control algorithm
2177 * should be instantiated, and the TX rate reported to userspace
2178 * will be taken from the TX status instead of the rate control
2282 * @IEEE80211_HW_SUPPORTS_RC_TABLE: The driver supports using a rate
2283 * selection table provided by the rate control algorithm.
2331 * When not using minstrel/minstrel_ht rate control, the driver must
2332 * limit the maximum A-MSDU size based on the current tx rate by setting
2364 * @IEEE80211_HW_SUPPORTS_VHT_EXT_NSS_BW: (Hardware) rate control supports VHT
2366 * the selected rate control algorithm sets %RATE_CTRL_CAPA_VHT_EXT_NSS_BW
2367 * but if the rate control is built-in then it must be set by the driver.
2482 * @rate_control_algorithm: rate control algorithm for this hardware.
2495 * @max_rates: maximum number of alternate rate retry stages the hw
2497 * @max_report_rates: maximum number of alternate rate retry stages
3282 * @IEEE80211_RC_SUPP_RATES_CHANGED: The supported rate set of this peer
3569 * uses hardware rate control (%IEEE80211_HW_HAS_RATE_CONTROL) since
3570 * otherwise the rate control algorithm is notified directly.
3572 * @sta_rate_tbl_update: Notifies the driver that the rate table changed. This
3573 * is only used if the configured rate control algorithm actually uses
3574 * the new rate table API, and is therefore optional. Must be atomic.
3674 * @set_bitrate_mask: Set a mask of rates to be used for rate control selection
4656 * Call this function in a driver with per-packet rate selection support
4657 * to combine the rate info in the packet tx info with the most recent
4658 * rate selection table for the station entry.
4663 * @dest: buffer for extracted rate/retry information
4676 * to a station. A driver for a device that does rate control in firmware can
4689 * ieee80211_tx_rate_update - transmit rate update callback
4693 * in updating the tx rate in data path.
4696 * @pubsta: the station to update the tx rate for.
5113 * @rate: the rate at which the frame is going to be transmitted.
5116 * length and transmission rate (in 100kbps).
5124 struct ieee80211_rate *rate);
5729 * hardware it can in some cases be calculated from the rate and known frame
5841 * hardware. The template is filled with bssid, ssid and supported rate
6088 * struct ieee80211_tx_rate_control - rate control information for/from RC algo
6095 * @reported_rate: The rate control algorithm can fill this in to indicate
6096 * which rate should be reported to userspace as the current rate and
6097 * used for rate calculations in the mesh network.
6101 * if the selected rate supports it
6102 * @rate_idx_mask: user-requested (legacy) rate mask
6103 * @rate_idx_mcs_mask: user-requested MCS rate mask (NULL if not in use)
6119 * enum rate_control_capabilities - rate control capabilities
6183 /* warn when we cannot find a rate. */
6203 * rate_control_set_rates - pass the sta rate selection to mac80211/driver
6205 * When not doing a rate control probe to test rates, rate control should pass
6206 * its rate selection to mac80211. If the driver supports receiving a station
6207 * rate table, it will use it to ensure that frames are always sent based on
6208 * the most recent rate control module decision.
6212 * @rates: new tx rate set to be used for this station.
6340 * To accurately parse and take into account rate and retransmission fields,
6637 * rate information in the RX status struct and the frame length.
6640 * @status: &struct ieee80211_rx_status containing the transmission rate
6652 * rate information in the TX info struct and the frame length.