Lines Matching full:rates
341 struct ieee80211_tx_rate *rate = &info->control.rates[0]; in mt76x02_mac_write_txwi()
358 info->control.rates, 1); in mt76x02_mac_write_txwi()
440 mt76x02_tx_rate_fallback(struct ieee80211_tx_rate *rates, int idx, int phy) in mt76x02_tx_rate_fallback() argument
447 rates += idx - 1; in mt76x02_tx_rate_fallback()
448 rates[1] = rates[0]; in mt76x02_tx_rate_fallback()
451 mcs = ieee80211_rate_get_vht_mcs(rates); in mt76x02_tx_rate_fallback()
452 nss = ieee80211_rate_get_vht_nss(rates); in mt76x02_tx_rate_fallback()
459 ieee80211_rate_set_vht(rates + 1, mcs, nss); in mt76x02_tx_rate_fallback()
464 if (rates[0].idx == 8) { in mt76x02_tx_rate_fallback()
465 rates[1].idx = 0; in mt76x02_tx_rate_fallback()
470 rates[1].idx = max_t(int, rates[0].idx - 1, 0); in mt76x02_tx_rate_fallback()
480 struct ieee80211_tx_rate *rate = info->status.rates; in mt76x02_mac_fill_tx_status()
509 for (i = 0; i < ARRAY_SIZE(info->status.rates); i++) { in mt76x02_mac_fill_tx_status()
511 if (i + 1 == ARRAY_SIZE(info->status.rates)) { in mt76x02_mac_fill_tx_status()
512 info->status.rates[i] = last_rate; in mt76x02_mac_fill_tx_status()
513 info->status.rates[i].count = max_t(int, retry, 1); in mt76x02_mac_fill_tx_status()
517 mt76x02_tx_rate_fallback(info->status.rates, i, phy); in mt76x02_mac_fill_tx_status()
518 if (info->status.rates[i].idx == last_rate.idx) in mt76x02_mac_fill_tx_status()
522 if (i + 1 < ARRAY_SIZE(info->status.rates)) { in mt76x02_mac_fill_tx_status()
523 info->status.rates[i + 1].idx = -1; in mt76x02_mac_fill_tx_status()
524 info->status.rates[i + 1].count = 0; in mt76x02_mac_fill_tx_status()