Lines Matching refs:ni

130 ieee80211_ra_use_ht_sgi(struct ieee80211_node *ni)
132 if ((ni->ni_chan->ic_flags & IEEE80211_CHAN_40MHZ) &&
133 ieee80211_node_supports_ht_chan40(ni)) {
134 if (ni->ni_flags & IEEE80211_NODE_HT_SGI40)
136 } else if (ni->ni_flags & IEEE80211_NODE_HT_SGI20)
170 struct ieee80211_node *ni)
175 rs = ieee80211_ra_get_ht_rateset(ni->ni_txmcs,
176 ieee80211_node_supports_ht_chan40(ni), ieee80211_ra_use_ht_sgi(ni));
177 if (ni->ni_txmcs == rs->min_mcs)
180 next = ni->ni_txmcs;
184 if (i + rs->min_mcs < ni->ni_txmcs) {
195 struct ieee80211_node *ni)
200 rs = ieee80211_ra_get_ht_rateset(ni->ni_txmcs,
201 ieee80211_node_supports_ht_chan40(ni), ieee80211_ra_use_ht_sgi(ni));
202 if (ni->ni_txmcs == rs->max_mcs)
205 next = ni->ni_txmcs;
209 if (i + rs->min_mcs > ni->ni_txmcs) {
220 struct ieee80211_node *ni)
224 int chan40 = ieee80211_node_supports_ht_chan40(ni);
225 int sgi = ieee80211_ra_use_ht_sgi(ni);
226 int mcs = ni->ni_txmcs;
310 struct ieee80211_node *ni, const struct ieee80211_ht_rateset *rsnext)
317 rs = ieee80211_ra_get_ht_rateset(ni->ni_txmcs,
318 ieee80211_node_supports_ht_chan40(ni), ieee80211_ra_use_ht_sgi(ni));
322 ni->ni_txmcs = rsnext->min_mcs;
324 ni->ni_txmcs = ieee80211_ra_next_intra_rate(rn, ni);
341 ni->ni_txmcs = mcs;
347 ni->ni_txmcs = rsnext->max_mcs;
350 rn->candidate_rates |= (1 << ni->ni_txmcs);
353 (1 << ieee80211_ra_next_intra_rate(rn, ni));
356 (1 << ieee80211_ra_next_lower_intra_rate(rn, ni));
363 struct ieee80211_node *ni)
368 next = ieee80211_ra_next_lower_intra_rate(rn, ni);
370 next = ieee80211_ra_next_intra_rate(rn, ni);
379 struct ieee80211_node *ni)
381 struct ieee80211_ra_goodput_stats *g = &rn->g[ni->ni_txmcs];
398 struct ieee80211_node *ni)
401 struct ieee80211_ra_goodput_stats *g = &rn->g[ni->ni_txmcs];
404 int chan40 = ieee80211_node_supports_ht_chan40(ni);
405 int sgi = ieee80211_ra_use_ht_sgi(ni);
407 rn->probed_rates = (rn->probed_rates | (1 << ni->ni_txmcs));
410 rs = ieee80211_ra_get_ht_rateset(ni->ni_txmcs, chan40, sgi);
412 if (ni->ni_txmcs == rs->min_mcs ||
414 ieee80211_ra_trigger_next_rateset(rn, ni);
418 if (ni->ni_txmcs == rs->max_mcs ||
420 ieee80211_ra_trigger_next_rateset(rn, ni);
429 next_mcs = ieee80211_ra_next_mcs(rn, ni);
430 if (next_mcs == ni->ni_txmcs) {
431 ieee80211_ra_trigger_next_rateset(rn, ni);
437 ieee80211_ra_trigger_next_rateset(rn, ni);
443 if (best_mcs != ni->ni_txmcs && (rn->probed_rates & (1 << best_mcs))) {
445 best_mcs < ni->ni_txmcs) {
446 ieee80211_ra_trigger_next_rateset(rn, ni);
450 best_mcs > ni->ni_txmcs) {
451 ieee80211_ra_trigger_next_rateset(rn, ni);
468 struct ieee80211_node *ni)
472 rsnext = ieee80211_ra_next_rateset(rn, ni);
474 ieee80211_ra_probe_next_rateset(rn, ni, rsnext);
482 struct ieee80211_node *ni)
489 struct ieee80211_node *ni)
523 struct ieee80211_node *ni)
526 rn->probed_rates |= (1 << ni->ni_txmcs);
527 ni->ni_txmcs = ieee80211_ra_next_mcs(rn, ni);
546 ieee80211_ra_valid_rates(struct ieee80211com *ic, struct ieee80211_node *ni)
552 if (!isset(ni->ni_rxmcs, i))
579 struct ieee80211com *ic, struct ieee80211_node *ni,
611 ether_sprintf(ni->ni_macaddr),
622 ieee80211_node_supports_ht_chan40(ni),
623 ieee80211_ra_use_ht_sgi(ni));
642 struct ieee80211_node *ni)
644 struct ieee80211_ra_goodput_stats *g = &rn->g[ni->ni_txmcs];
646 int chan40 = ieee80211_node_supports_ht_chan40(ni);
647 int sgi = ieee80211_ra_use_ht_sgi(ni);
653 rn->valid_rates = ieee80211_ra_valid_rates(ic, ni);
657 if (!(rn->valid_probes & (1UL << ni->ni_txmcs))) {
661 ieee80211_ra_probe_clear(rn, ni);
662 if (!ieee80211_ra_intra_mode_ra_finished(rn, ni)) {
663 ieee80211_ra_probe_next_rate(rn, ni);
664 DPRINTFN(3, ("probing MCS %d\n", ni->ni_txmcs));
665 } else if (ieee80211_ra_inter_mode_ra_finished(rn, ni)) {
666 rn->best_mcs = ieee80211_ra_best_rate(rn, ni);
667 ni->ni_txmcs = rn->best_mcs;
677 rs = ieee80211_ra_get_ht_rateset(ni->ni_txmcs, chan40, sgi);
684 if (ni->ni_txmcs == rs->min_mcs) {
685 rsnext = ieee80211_ra_next_rateset(rn, ni);
687 ieee80211_ra_probe_next_rateset(rn, ni,
694 ni->ni_txmcs = ieee80211_ra_next_mcs(rn, ni);
695 rn->candidate_rates = (1 << ni->ni_txmcs);
702 if (ni->ni_txmcs == rs->max_mcs) {
703 rsnext = ieee80211_ra_next_rateset(rn, ni);
705 ieee80211_ra_probe_next_rateset(rn, ni,
712 ni->ni_txmcs = ieee80211_ra_next_mcs(rn, ni);
713 rn->candidate_rates = (1 << ni->ni_txmcs);