Lines Matching refs:rates
160 ieee80211_get_tx_rates(vif, sta, bf->bf_mpdu, bf->rates, in ath_set_rates()
161 ARRAY_SIZE(bf->rates)); in ath_set_rates()
455 struct ieee80211_tx_rate rates[4]; in ath_tx_complete_aggr() local
465 memcpy(rates, bf->rates, sizeof(rates)); in ath_tx_complete_aggr()
469 retries += rates[i].count; in ath_tx_complete_aggr()
579 memcpy(tx_info->control.rates, rates, sizeof(rates)); in ath_tx_complete_aggr()
675 airtime += rate_dur * bf->rates[i].count; in ath_tx_count_airtime()
716 memcpy(info->control.rates, bf->rates, in ath_tx_process_buffer()
717 sizeof(info->control.rates)); in ath_tx_process_buffer()
734 struct ieee80211_tx_rate *rates; in ath_lookup_legacy() local
739 rates = tx_info->control.rates; in ath_lookup_legacy()
742 if (!rates[i].count || rates[i].idx < 0) in ath_lookup_legacy()
745 if (!(rates[i].flags & IEEE80211_TX_RC_MCS)) in ath_lookup_legacy()
757 struct ieee80211_tx_rate *rates; in ath_lookup_rate() local
765 rates = bf->rates; in ath_lookup_rate()
776 if (!rates[i].count) in ath_lookup_rate()
779 if (!(rates[i].flags & IEEE80211_TX_RC_MCS)) { in ath_lookup_rate()
784 if (rates[i].flags & IEEE80211_TX_RC_40_MHZ_WIDTH) in ath_lookup_rate()
789 if (rates[i].flags & IEEE80211_TX_RC_SHORT_GI) in ath_lookup_rate()
792 frmlen = sc->tx.max_aggr_framelen[q][modeidx][rates[i].idx]; in ath_lookup_rate()
868 rix = bf->rates[0].idx; in ath_compute_num_delims()
869 flags = bf->rates[0].flags; in ath_compute_num_delims()
1211 struct ieee80211_tx_rate *rates; in ath_buf_set_rate() local
1221 rates = bf->rates; in ath_buf_set_rate()
1228 for (i = 0; i < ARRAY_SIZE(bf->rates); i++) { in ath_buf_set_rate()
1232 if (!rates[i].count || (rates[i].idx < 0)) in ath_buf_set_rate()
1235 rix = rates[i].idx; in ath_buf_set_rate()
1236 info->rates[i].Tries = rates[i].count; in ath_buf_set_rate()
1242 (rates[i].flags & IEEE80211_TX_RC_MCS) && in ath_buf_set_rate()
1248 if (rts || rates[i].flags & IEEE80211_TX_RC_USE_RTS_CTS) { in ath_buf_set_rate()
1249 info->rates[i].RateFlags |= ATH9K_RATESERIES_RTS_CTS; in ath_buf_set_rate()
1251 } else if (rates[i].flags & IEEE80211_TX_RC_USE_CTS_PROTECT) { in ath_buf_set_rate()
1252 info->rates[i].RateFlags |= ATH9K_RATESERIES_RTS_CTS; in ath_buf_set_rate()
1256 if (rates[i].flags & IEEE80211_TX_RC_40_MHZ_WIDTH) in ath_buf_set_rate()
1257 info->rates[i].RateFlags |= ATH9K_RATESERIES_2040; in ath_buf_set_rate()
1258 if (rates[i].flags & IEEE80211_TX_RC_SHORT_GI) in ath_buf_set_rate()
1259 info->rates[i].RateFlags |= ATH9K_RATESERIES_HALFGI; in ath_buf_set_rate()
1261 is_sgi = !!(rates[i].flags & IEEE80211_TX_RC_SHORT_GI); in ath_buf_set_rate()
1262 is_40 = !!(rates[i].flags & IEEE80211_TX_RC_40_MHZ_WIDTH); in ath_buf_set_rate()
1263 is_sp = !!(rates[i].flags & IEEE80211_TX_RC_USE_SHORT_PREAMBLE); in ath_buf_set_rate()
1265 if (rates[i].flags & IEEE80211_TX_RC_MCS) { in ath_buf_set_rate()
1267 info->rates[i].Rate = rix | 0x80; in ath_buf_set_rate()
1268 info->rates[i].ChSel = ath_txchainmask_reduction(sc, in ath_buf_set_rate()
1269 ah->txchainmask, info->rates[i].Rate); in ath_buf_set_rate()
1270 info->rates[i].PktDuration = ath_pkt_duration(sc, rix, len, in ath_buf_set_rate()
1273 info->rates[i].RateFlags |= ATH9K_RATESERIES_STBC; in ath_buf_set_rate()
1275 info->rates[i].RateFlags |= in ath_buf_set_rate()
1286 rate = &common->sbands[tx_info->band].bitrates[rates[i].idx]; in ath_buf_set_rate()
1293 info->rates[i].Rate = rate->hw_value; in ath_buf_set_rate()
1295 if (rates[i].flags & IEEE80211_TX_RC_USE_SHORT_PREAMBLE) in ath_buf_set_rate()
1296 info->rates[i].Rate |= rate->hw_value_short; in ath_buf_set_rate()
1302 info->rates[i].ChSel = ah->txchainmask; in ath_buf_set_rate()
1304 info->rates[i].ChSel = ath_txchainmask_reduction(sc, in ath_buf_set_rate()
1305 ah->txchainmask, info->rates[i].Rate); in ath_buf_set_rate()
1307 info->rates[i].PktDuration = ath9k_hw_computetxtime(sc->sc_ah, in ath_buf_set_rate()
1310 is_cck = IS_CCK_RATE(info->rates[i].Rate); in ath_buf_set_rate()
2371 duration += info.rates[0].PktDuration; in ath_tx_cabq()
2508 memset(ptr + sizeof(tx_info->status.rates), 0, in ath_clear_tx_status()
2510 sizeof(tx_info->status.rates) - in ath_clear_tx_status()
2541 tx_info->status.rates[tx_rateindex].count = ts->ts_longretry + 1; in ath_tx_rc_status()
2544 tx_info->status.rates[i].count = 0; in ath_tx_rc_status()
2545 tx_info->status.rates[i].idx = -1; in ath_tx_rc_status()
2566 tx_info->status.rates[tx_rateindex].count = in ath_tx_rc_status()