rate_info
struct rate_info txrate;
struct rate_info *txrate = &arsta->txrate;
struct rate_info txrate;
u32 bitrate_kbps, struct rate_info *rate)
struct rate_info txrate;
struct rate_info last_txrate;
struct rate_info *txrate = &arsta->txrate;
memcpy(&arsta->last_txrate, &arsta->txrate, sizeof(struct rate_info));
struct rate_info rate;
struct rate_info txrate;
memcpy(&peer->last_txrate, &peer->txrate, sizeof(struct rate_info));
struct rate_info txrate;
struct rate_info last_txrate;
struct ath12k_dp_link_peer_rate_info rate_info = {};
ath12k_dp_link_peer_get_sta_rate_info_stats(dp, arsta->addr, &rate_info);
sinfo->rx_duration = rate_info.rx_duration;
sinfo->tx_duration = rate_info.tx_duration;
if (rate_info.txrate.legacy || rate_info.txrate.nss) {
if (rate_info.txrate.legacy) {
sinfo->txrate.legacy = rate_info.txrate.legacy;
sinfo->txrate.mcs = rate_info.txrate.mcs;
sinfo->txrate.nss = rate_info.txrate.nss;
sinfo->txrate.bw = rate_info.txrate.bw;
sinfo->txrate.he_gi = rate_info.txrate.he_gi;
sinfo->txrate.he_dcm = rate_info.txrate.he_dcm;
sinfo->txrate.he_ru_alloc = rate_info.txrate.he_ru_alloc;
sinfo->txrate.eht_gi = rate_info.txrate.eht_gi;
sinfo->txrate.eht_ru_alloc = rate_info.txrate.eht_ru_alloc;
sinfo->txrate.flags = rate_info.txrate.flags;
signal = rate_info.rssi_comb;
sinfo->signal_avg = rate_info.signal_avg;
struct rate_info txrate = {};
struct rate_info rate;
struct ath5k_rate_pcal_info *rate_info,
rates[i] = min(max_pwr, rate_info->target_power_6to24);
rates[5] = min(rates[0], rate_info->target_power_36);
rates[6] = min(rates[0], rate_info->target_power_48);
rates[7] = min(rates[0], rate_info->target_power_54);
rates[8] = min(rates[0], rate_info->target_power_6to24);
rates[9] = min(rates[0], rate_info->target_power_36);
rates[10] = min(rates[0], rate_info->target_power_36);
rates[11] = min(rates[0], rate_info->target_power_48);
rates[12] = min(rates[0], rate_info->target_power_48);
rates[13] = min(rates[0], rate_info->target_power_54);
rates[14] = min(rates[0], rate_info->target_power_54);
rates[15] = min(rates[0], rate_info->target_power_6to24);
struct ath5k_rate_pcal_info rate_info;
ath5k_get_rate_pcal_data(ah, channel, &rate_info);
ath5k_setup_rate_powertable(ah, txpower, &rate_info, ee_mode);
void wcn36xx_process_tx_rate(struct ani_global_class_a_stats_info *stats, struct rate_info *info)
void wcn36xx_process_tx_rate(struct ani_global_class_a_stats_info *stats, struct rate_info *info);
phy_rate = rate_info[rate] & BRCMS_RATE_MASK;
basic_phy_rate = rate_info[basic_rate] & BRCMS_RATE_MASK;
phy_rate = rate_info[rate] & BRCMS_RATE_MASK;
rate_signal = rate_info[rate] & BRCMS_RATE_MASK;
const u8 rate_info[BRCM_MAXRATE + 1] = {
if ((r > BRCM_MAXRATE) || (rate_info[r] == 0))
(rate_info[ratespec & RSPEC_RATE_MASK] & BRCMS_RATE_FLAG);
extern const u8 rate_info[];
struct rate_info *rinfo = &sinfo->txrate;
static void iwl_mvm_set_sta_rate(u32 rate_n_flags, struct rate_info *rinfo)
struct rate_info *rate)
u8 rx_rate, u8 rate_info)
if ((rate_info & BIT(0)) && (rate_info & BIT(1)))
else if (rate_info & BIT(0)) /* HT20 */
__le16 rate_info;
u16 rate_info;
rate_info = le16_to_cpu(rxd->rate_info);
status->antenna = MWL8K_STA_RATE_INFO_ANTSELECT(rate_info);
status->rate_idx = MWL8K_STA_RATE_INFO_RATEID(rate_info);
if (rate_info & MWL8K_STA_RATE_INFO_SHORTPRE)
if (rate_info & MWL8K_STA_RATE_INFO_40MHZ)
if (rate_info & MWL8K_STA_RATE_INFO_SHORTGI)
if (rate_info & MWL8K_STA_RATE_INFO_MCS_FORMAT)
__le16 rate_info;
u16 rate_info;
rate_info = le16_to_cpu(tx_desc->rate_info);
if (RI_RATE_ID_MCS(rate_info) < 1 ||
RI_FORMAT(rate_info) == 0) {
tx->rate_info = 0;
struct rate_info rate;
struct rate_info rate = {};
struct rate_info *rate;
struct rate_info *txrate = &msta->wcid.rate;
struct rate_info rxrate = {};
struct ieee80211_sta *sta, struct rate_info *rate)
struct ieee80211_sta *sta, struct rate_info *rate);
struct rate_info rate = {};
struct rate_info *rate;
struct ieee80211_sta *sta, struct rate_info *rate);
struct rate_info *rate;
struct rate_info rate = {};
struct ieee80211_sta *sta, struct rate_info *rate);
struct rate_info *txrate = &msta->deflink.wcid.rate;
struct rate_info rate = {};
struct rate_info *txrate = &msta_link->wcid.rate;
mt7996_mcu_update_tx_gi(struct rate_info *rate, struct all_sta_trx_rate *mcu_rate)
qtnf_sta_info_parse_rate(struct rate_info *rate_dst,
struct rate_info txrate;
struct rate_info txrate;
struct rate_info txrate;
struct rate_info *rate = &rtwsta_link->ra_report.txrate;
mgmt_desc->rate_info = cpu_to_le16(RSI_RATE_1);
mgmt_desc->rate_info = cpu_to_le16(RSI_RATE_6);
mgmt_desc->rate_info |=
data_desc->rate_info = cpu_to_le16(fixed_rate);
data_desc->rate_info |=
data_desc->rate_info = cpu_to_le16(RSI_RATE_6);
data_desc->rate_info = cpu_to_le16(RSI_RATE_1);
data_desc->rate_info = cpu_to_le16(RSI_RATE_6);
data_desc->rate_info = cpu_to_le16(RSI_RATE_1);
data_desc->rate_info |=
bcn_frm->rate_info = cpu_to_le16(vap_id << 14);
bcn_frm->rate_info |= cpu_to_le16(RSI_RATE_1);
bcn_frm->rate_info |= cpu_to_le16(RSI_RATE_6);
__le16 rate_info;
__le16 rate_info;
struct rate_info *rate_info,
rate_info->flags = nla_get_u8(tb[HWSIM_RATE_INFO_ATTR_FLAGS]);
rate_info->mcs = nla_get_u8(tb[HWSIM_RATE_INFO_ATTR_MCS]);
rate_info->legacy = nla_get_u16(tb[HWSIM_RATE_INFO_ATTR_LEGACY]);
rate_info->nss = nla_get_u8(tb[HWSIM_RATE_INFO_ATTR_NSS]);
rate_info->bw = nla_get_u8(tb[HWSIM_RATE_INFO_ATTR_BW]);
rate_info->he_gi = nla_get_u8(tb[HWSIM_RATE_INFO_ATTR_HE_GI]);
rate_info->he_dcm = nla_get_u8(tb[HWSIM_RATE_INFO_ATTR_HE_DCM]);
rate_info->he_ru_alloc =
rate_info->n_bonded_ch = nla_get_u8(tb[HWSIM_RATE_INFO_ATTR_N_BOUNDED_CH]);
rate_info->eht_gi = nla_get_u8(tb[HWSIM_RATE_INFO_ATTR_EHT_GI]);
rate_info->eht_ru_alloc = nla_get_u8(tb[HWSIM_RATE_INFO_ATTR_EHT_RU_ALLOC]);
sinfo->txrate = (struct rate_info) {
u32 cfg80211_calculate_bitrate(struct rate_info *rate);
struct rate_info txrate;
struct rate_info rxrate;
struct rate_info txrate;
struct rate_info rxrate;
struct rate_info tx_rate, rx_rate;
struct rate_info rate_idx;
struct rate_info *ri)
struct rate_info *ri, u8 band, int len)
struct rate_info *ri,
struct rate_info *ri = &sta->deflink.tx_stats.last_rate_info;
struct rate_info *rinfo)
struct rate_info rinfo;
minstrel_ht_ri_get_group_idx(struct rate_info *rate)
minstrel_vht_ri_get_group_idx(struct rate_info *rate)
struct rate_info *rate = &rate_status->rate_idx;
struct rate_info *rinfo)
static int sta_set_rate_info_rx(struct sta_info *sta, struct rate_info *rinfo,
struct rate_info last_rate_info;
struct rate_info *rinfo);
struct rate_info ri;
bool nl80211_put_sta_rate(struct sk_buff *msg, struct rate_info *info, int attr)
bool nl80211_put_sta_rate(struct sk_buff *msg, struct rate_info *info,
static u32 cfg80211_calculate_bitrate_ht(struct rate_info *rate)
static u32 cfg80211_calculate_bitrate_dmg(struct rate_info *rate)
static u32 cfg80211_calculate_bitrate_extended_sc_dmg(struct rate_info *rate)
static u32 cfg80211_calculate_bitrate_edmg(struct rate_info *rate)
static u32 cfg80211_calculate_bitrate_vht(struct rate_info *rate)
static u32 cfg80211_calculate_bitrate_he(struct rate_info *rate)
static u32 _cfg80211_calculate_bitrate_eht_uhr(struct rate_info *rate)
static u32 cfg80211_calculate_bitrate_eht(struct rate_info *rate)
static u32 cfg80211_calculate_bitrate_uhr(struct rate_info *rate)
static u32 cfg80211_calculate_bitrate_s1g(struct rate_info *rate)
u32 cfg80211_calculate_bitrate(struct rate_info *rate)