Lines Matching refs:rate
285 minstrel_ht_get_group_idx(struct ieee80211_tx_rate *rate) in minstrel_ht_get_group_idx() argument
287 return GROUP_IDX((rate->idx / 8) + 1, in minstrel_ht_get_group_idx()
288 !!(rate->flags & IEEE80211_TX_RC_SHORT_GI), in minstrel_ht_get_group_idx()
289 !!(rate->flags & IEEE80211_TX_RC_40_MHZ_WIDTH)); in minstrel_ht_get_group_idx()
293 minstrel_vht_get_group_idx(struct ieee80211_tx_rate *rate) in minstrel_vht_get_group_idx() argument
295 return VHT_GROUP_IDX(ieee80211_rate_get_vht_nss(rate), in minstrel_vht_get_group_idx()
296 !!(rate->flags & IEEE80211_TX_RC_SHORT_GI), in minstrel_vht_get_group_idx()
297 !!(rate->flags & IEEE80211_TX_RC_40_MHZ_WIDTH) + in minstrel_vht_get_group_idx()
298 2*!!(rate->flags & IEEE80211_TX_RC_80_MHZ_WIDTH)); in minstrel_vht_get_group_idx()
303 struct ieee80211_tx_rate *rate) in minstrel_ht_get_stats() argument
307 if (rate->flags & IEEE80211_TX_RC_MCS) { in minstrel_ht_get_stats()
308 group = minstrel_ht_get_group_idx(rate); in minstrel_ht_get_stats()
309 idx = rate->idx % 8; in minstrel_ht_get_stats()
310 } else if (rate->flags & IEEE80211_TX_RC_VHT_MCS) { in minstrel_ht_get_stats()
311 group = minstrel_vht_get_group_idx(rate); in minstrel_ht_get_stats()
312 idx = ieee80211_rate_get_vht_mcs(rate); in minstrel_ht_get_stats()
317 if (rate->idx == mp->cck_rates[idx]) in minstrel_ht_get_stats()
322 (rate->flags & IEEE80211_TX_RC_USE_SHORT_PREAMBLE)) in minstrel_ht_get_stats()
348 minstrel_ht_get_tp_avg(struct minstrel_ht_sta *mi, int group, int rate, in minstrel_ht_get_tp_avg() argument
360 nsecs += minstrel_mcs_groups[group].duration[rate] << in minstrel_ht_get_tp_avg()
795 minstrel_ht_txstat_valid(struct minstrel_priv *mp, struct ieee80211_tx_rate *rate) in minstrel_ht_txstat_valid() argument
797 if (rate->idx < 0) in minstrel_ht_txstat_valid()
800 if (!rate->count) in minstrel_ht_txstat_valid()
803 if (rate->flags & IEEE80211_TX_RC_MCS || in minstrel_ht_txstat_valid()
804 rate->flags & IEEE80211_TX_RC_VHT_MCS) in minstrel_ht_txstat_valid()
807 return rate->idx == mp->cck_rates[0] || in minstrel_ht_txstat_valid()
808 rate->idx == mp->cck_rates[1] || in minstrel_ht_txstat_valid()
809 rate->idx == mp->cck_rates[2] || in minstrel_ht_txstat_valid()
810 rate->idx == mp->cck_rates[3]; in minstrel_ht_txstat_valid()
890 struct minstrel_rate_stats *rate, *rate2, *rate_sample = NULL; in minstrel_ht_tx_status() local
934 rate = minstrel_ht_get_stats(mp, mi, &ar[i]); in minstrel_ht_tx_status()
935 if (rate == rate_sample) in minstrel_ht_tx_status()
939 rate->success += info->status.ampdu_ack_len; in minstrel_ht_tx_status()
941 rate->attempts += ar[i].count * info->status.ampdu_len; in minstrel_ht_tx_status()
971 rate = minstrel_get_ratestats(mi, mi->max_tp_rate[0]); in minstrel_ht_tx_status()
972 if (rate->attempts > 30 && in minstrel_ht_tx_status()
973 MINSTREL_FRAC(rate->success, rate->attempts) < in minstrel_ht_tx_status()
1069 ratetbl->rate[offset].count = 2; in minstrel_ht_set_rate()
1070 ratetbl->rate[offset].count_rts = 2; in minstrel_ht_set_rate()
1071 ratetbl->rate[offset].count_cts = 2; in minstrel_ht_set_rate()
1073 ratetbl->rate[offset].count = mrs->retry_count; in minstrel_ht_set_rate()
1074 ratetbl->rate[offset].count_cts = mrs->retry_count; in minstrel_ht_set_rate()
1075 ratetbl->rate[offset].count_rts = mrs->retry_count_rtscts; in minstrel_ht_set_rate()
1093 ratetbl->rate[offset].count = ratetbl->rate[offset].count_rts; in minstrel_ht_set_rate()
1097 ratetbl->rate[offset].idx = idx; in minstrel_ht_set_rate()
1098 ratetbl->rate[offset].flags = flags; in minstrel_ht_set_rate()
1102 minstrel_ht_get_prob_ewma(struct minstrel_ht_sta *mi, int rate) in minstrel_ht_get_prob_ewma() argument
1104 int group = rate / MCS_GROUP_RATES; in minstrel_ht_get_prob_ewma()
1105 rate %= MCS_GROUP_RATES; in minstrel_ht_get_prob_ewma()
1106 return mi->groups[group].rates[rate].prob_ewma; in minstrel_ht_get_prob_ewma()
1114 int rate = mi->max_prob_rate % MCS_GROUP_RATES; in minstrel_ht_get_max_amsdu_len() local
1118 if (mi->groups[group].rates[rate].prob_ewma < MINSTREL_FRAC(50, 100)) in minstrel_ht_get_max_amsdu_len()
1121 duration = g->duration[rate]; in minstrel_ht_get_max_amsdu_len()
1185 rates->rate[i].idx = -1; in minstrel_ht_update_rates()
1293 struct ieee80211_tx_rate *rate = &info->status.rates[0]; in minstrel_ht_get_rate() local
1339 rate->count = 1; in minstrel_ht_get_rate()
1343 rate->idx = mp->cck_rates[idx]; in minstrel_ht_get_rate()
1345 ieee80211_rate_set_vht(rate, sample_idx % MCS_GROUP_RATES, in minstrel_ht_get_rate()
1348 rate->idx = sample_idx + (sample_group->streams - 1) * 8; in minstrel_ht_get_rate()
1351 rate->flags = sample_group->flags; in minstrel_ht_get_rate()
1615 struct ieee80211_rate *rate = &sband->bitrates[i]; in minstrel_ht_init_cck_rates() local
1617 if (rate->flags & IEEE80211_RATE_ERP_G) in minstrel_ht_init_cck_rates()
1624 if (rate->bitrate != bitrates[j]) in minstrel_ht_init_cck_rates()