Lines Matching refs:rates

415 	struct ieee80211_tx_rate rates[4];
428 memcpy(rates, tx_info->control.rates, sizeof(rates));
432 retries += rates[i].count;
545 memcpy(tx_info->control.rates, rates, sizeof(rates));
627 struct ieee80211_tx_rate *rates;
632 rates = tx_info->control.rates;
635 if (!rates[i].count || rates[i].idx < 0)
638 if (!(rates[i].flags & IEEE80211_TX_RC_MCS))
650 struct ieee80211_tx_rate *rates;
657 rates = tx_info->control.rates;
669 if (!rates[i].count)
672 if (!(rates[i].flags & IEEE80211_TX_RC_MCS)) {
677 if (rates[i].flags & IEEE80211_TX_RC_40_MHZ_WIDTH)
682 if (rates[i].flags & IEEE80211_TX_RC_SHORT_GI)
685 frmlen = ath_max_4ms_framelen[modeidx][rates[i].idx];
741 * The hardware can keep up at lower rates, but not higher rates
768 rix = tx_info->control.rates[0].idx;
769 flags = tx_info->control.rates[0].flags;
938 struct ieee80211_tx_rate *rates;
947 rates = tx_info->control.rates;
958 if (!rates[i].count || (rates[i].idx < 0))
961 rix = rates[i].idx;
962 info->rates[i].Tries = rates[i].count;
964 if (rates[i].flags & IEEE80211_TX_RC_USE_RTS_CTS) {
965 info->rates[i].RateFlags |= ATH9K_RATESERIES_RTS_CTS;
967 } else if (rates[i].flags & IEEE80211_TX_RC_USE_CTS_PROTECT) {
968 info->rates[i].RateFlags |= ATH9K_RATESERIES_RTS_CTS;
972 if (rates[i].flags & IEEE80211_TX_RC_40_MHZ_WIDTH)
973 info->rates[i].RateFlags |= ATH9K_RATESERIES_2040;
974 if (rates[i].flags & IEEE80211_TX_RC_SHORT_GI)
975 info->rates[i].RateFlags |= ATH9K_RATESERIES_HALFGI;
977 is_sgi = !!(rates[i].flags & IEEE80211_TX_RC_SHORT_GI);
978 is_40 = !!(rates[i].flags & IEEE80211_TX_RC_40_MHZ_WIDTH);
979 is_sp = !!(rates[i].flags & IEEE80211_TX_RC_USE_SHORT_PREAMBLE);
981 if (rates[i].flags & IEEE80211_TX_RC_MCS) {
982 /* MCS rates */
983 info->rates[i].Rate = rix | 0x80;
984 info->rates[i].ChSel = ath_txchainmask_reduction(sc,
985 ah->txchainmask, info->rates[i].Rate);
986 info->rates[i].PktDuration = ath_pkt_duration(sc, rix, len,
989 info->rates[i].RateFlags |= ATH9K_RATESERIES_STBC;
993 /* legacy rates */
994 rate = &sc->sbands[tx_info->band].bitrates[rates[i].idx];
1001 info->rates[i].Rate = rate->hw_value;
1003 if (rates[i].flags & IEEE80211_TX_RC_USE_SHORT_PREAMBLE)
1004 info->rates[i].Rate |= rate->hw_value_short;
1010 info->rates[i].ChSel = ah->txchainmask;
1012 info->rates[i].ChSel = ath_txchainmask_reduction(sc,
1013 ah->txchainmask, info->rates[i].Rate);
1015 info->rates[i].PktDuration = ath9k_hw_computetxtime(sc->sc_ah,
2122 * successfully by eventually preferring slower rates.
2129 tx_info->status.rates[tx_rateindex].count =
2134 tx_info->status.rates[i].count = 0;
2135 tx_info->status.rates[i].idx = -1;
2138 tx_info->status.rates[tx_rateindex].count = ts->ts_longretry + 1;