Lines Matching refs:rates

294 	info->control.rates[0].idx = 0;  in __rate_control_send_low()
305 info->control.rates[0].idx = i; in __rate_control_send_low()
313 info->control.rates[0].count = in __rate_control_send_low()
338 info->control.rates[0].idx = mcast_rate - 1; in rate_control_send_low()
349 rc_send_low_basicrate(&info->control.rates[0].idx, in rate_control_send_low()
546 struct ieee80211_tx_rate *rates, in rate_fixup_ratelist() argument
561 if (!(rates[0].flags & in rate_fixup_ratelist()
566 rate = &sband->bitrates[rates[0].idx]; in rate_fixup_ratelist()
591 rates[i].idx = -1; in rate_fixup_ratelist()
594 if (rates[i].idx < 0) { in rate_fixup_ratelist()
603 if (rates[i].flags & IEEE80211_TX_RC_MCS) { in rate_fixup_ratelist()
604 WARN_ON(rates[i].idx > 76); in rate_fixup_ratelist()
606 if (!(rates[i].flags & IEEE80211_TX_RC_USE_RTS_CTS) && in rate_fixup_ratelist()
608 rates[i].flags |= in rate_fixup_ratelist()
613 if (rates[i].flags & IEEE80211_TX_RC_VHT_MCS) { in rate_fixup_ratelist()
614 WARN_ON(ieee80211_rate_get_vht_mcs(&rates[i]) > 9); in rate_fixup_ratelist()
620 rates[i].flags |= IEEE80211_TX_RC_USE_RTS_CTS; in rate_fixup_ratelist()
625 if (WARN_ON_ONCE(rates[i].idx >= sband->n_bitrates)) { in rate_fixup_ratelist()
626 rates[i].idx = -1; in rate_fixup_ratelist()
630 rate = &sband->bitrates[rates[i].idx]; in rate_fixup_ratelist()
635 rates[i].flags |= IEEE80211_TX_RC_USE_SHORT_PREAMBLE; in rate_fixup_ratelist()
638 if (!(rates[i].flags & IEEE80211_TX_RC_USE_RTS_CTS) && in rate_fixup_ratelist()
641 rates[i].flags |= IEEE80211_TX_RC_USE_CTS_PROTECT; in rate_fixup_ratelist()
648 struct ieee80211_tx_rate *rates, in rate_control_fill_sta_table() argument
655 ratetbl = rcu_dereference(sta->rates); in rate_control_fill_sta_table()
660 if (i < ARRAY_SIZE(info->control.rates) && in rate_control_fill_sta_table()
661 info->control.rates[i].idx >= 0 && in rate_control_fill_sta_table()
662 info->control.rates[i].count) { in rate_control_fill_sta_table()
663 if (rates != info->control.rates) in rate_control_fill_sta_table()
664 rates[i] = info->control.rates[i]; in rate_control_fill_sta_table()
666 rates[i].idx = ratetbl->rate[i].idx; in rate_control_fill_sta_table()
667 rates[i].flags = ratetbl->rate[i].flags; in rate_control_fill_sta_table()
669 rates[i].count = ratetbl->rate[i].count_rts; in rate_control_fill_sta_table()
671 rates[i].count = ratetbl->rate[i].count_cts; in rate_control_fill_sta_table()
673 rates[i].count = ratetbl->rate[i].count; in rate_control_fill_sta_table()
675 rates[i].idx = -1; in rate_control_fill_sta_table()
676 rates[i].count = 0; in rate_control_fill_sta_table()
679 if (rates[i].idx < 0 || !rates[i].count) in rate_control_fill_sta_table()
737 struct ieee80211_sta_rates *rates) in rate_control_apply_mask_ratetbl() argument
751 if (rates->rate[i].idx < 0) in rate_control_apply_mask_ratetbl()
754 rate_idx_match_mask(&rates->rate[i].idx, &rates->rate[i].flags, in rate_control_apply_mask_ratetbl()
763 struct ieee80211_tx_rate *rates, in rate_control_apply_mask() argument
789 if (rates[i].idx < 0) in rate_control_apply_mask()
792 rate_flags = rates[i].flags; in rate_control_apply_mask()
793 rate_idx_match_mask(&rates[i].idx, &rate_flags, sband, in rate_control_apply_mask()
795 rates[i].flags = rate_flags; in rate_control_apply_mask()
846 info->control.rates[i].idx = -1; in rate_control_get_rate()
847 info->control.rates[i].flags = 0; in rate_control_get_rate()
848 info->control.rates[i].count = 0; in rate_control_get_rate()
866 info->control.rates, in rate_control_get_rate()
867 ARRAY_SIZE(info->control.rates)); in rate_control_get_rate()
872 struct ieee80211_sta_rates *rates) in rate_control_set_rates() argument
879 rate_control_apply_mask_ratetbl(sta, sband, rates); in rate_control_set_rates()
886 old = rcu_dereference_protected(pubsta->rates, true); in rate_control_set_rates()
887 rcu_assign_pointer(pubsta->rates, rates); in rate_control_set_rates()