Lines Matching defs:an

87  * This file is an implementation of the SampleRate algorithm
176 struct ath_node *an, uint8_t rix0, int is_aggr)
180 struct sample_node *sn = ATH_NODE_SAMPLE(an);
184 int is_ht40 = (an->an_node.ni_chw == 40);
284 ath_rate_node_init(struct ath_softc *sc, struct ath_node *an)
290 ath_rate_node_cleanup(struct ath_softc *sc, struct ath_node *an)
316 pick_best_rate(struct ath_node *an, const HAL_RATE_TABLE *rt,
319 struct sample_node *sn = ATH_NODE_SAMPLE(an);
332 if ((an->an_node.ni_flags & IEEE80211_NODE_HT) &&
361 if (an->an_node.ni_flags & IEEE80211_NODE_HT) {
365 IEEE80211_NOTE(an->an_node.ni_vap,
367 &an->an_node,
388 if (! (an->an_node.ni_flags & IEEE80211_NODE_HT)) {
401 if (an->an_node.ni_flags & IEEE80211_NODE_HT) {
416 pick_sample_rate(struct sample_softc *ssc , struct ath_node *an,
421 struct sample_node *sn = ATH_NODE_SAMPLE(an);
447 * non-MCS rates when speaking to an MCS node.
462 if ((an->an_node.ni_flags & IEEE80211_NODE_HT) &&
493 if (an->an_node.ni_flags & IEEE80211_NODE_HT) {
507 if (! (an->an_node.ni_flags & IEEE80211_NODE_HT)) {
551 struct ath_node *an = ATH_NODE(ni);
553 struct sample_node *sn = ATH_NODE_SAMPLE(an);
573 ath_rate_pick_seed_rate_legacy(struct ath_softc *sc, struct ath_node *an,
581 struct sample_node *sn = ATH_NODE_SAMPLE(an);
614 ath_rate_pick_seed_rate_ht(struct ath_softc *sc, struct ath_node *an,
622 struct sample_node *sn = ATH_NODE_SAMPLE(an);
661 ath_rate_findrate(struct ath_softc *sc, struct ath_node *an,
669 struct sample_node *sn = ATH_NODE_SAMPLE(an);
678 ath_rate_update_static_rix(sc, &an->an_node);
704 max_pkt_len = ath_rate_sample_find_min_pktlength(sc, an,
720 best_rix = pick_best_rate(an, rt, size_bin, !mrr);
727 max_pkt_len = ath_rate_sample_find_min_pktlength(sc, an, best_rix,
752 rix = pick_sample_rate(ssc, an, rt, size_bin);
753 IEEE80211_NOTE(an->an_node.ni_vap, IEEE80211_MSG_RATECTL,
754 &an->an_node, "att %d sample_tt %d size %u "
774 if (an->an_node.ni_flags & IEEE80211_NODE_HT)
776 ath_rate_pick_seed_rate_ht(sc, an, frameLen);
779 ath_rate_pick_seed_rate_legacy(sc, an, frameLen);
782 IEEE80211_NOTE(an->an_node.ni_vap,
783 IEEE80211_MSG_RATECTL, &an->an_node,
788 IEEE80211_NOTE(an->an_node.ni_vap,
789 IEEE80211_MSG_RATECTL, &an->an_node,
793 } else if ((! (an->an_node.ni_flags & IEEE80211_NODE_HT)) &&
796 IEEE80211_NOTE(an->an_node.ni_vap,
797 IEEE80211_MSG_RATECTL, &an->an_node,
802 } else if ((an->an_node.ni_flags & IEEE80211_NODE_HT)) {
818 IEEE80211_NOTE(an->an_node.ni_vap,
819 IEEE80211_MSG_RATECTL, &an->an_node,
834 IEEE80211_NOTE(an->an_node.ni_vap,
836 &an->an_node,
859 an->an_node.ni_txrate =
899 ath_rate_getxtxrates(struct ath_softc *sc, struct ath_node *an,
902 struct sample_node *sn = ATH_NODE_SAMPLE(an);
927 ath_rate_setupxtxdesc(struct ath_softc *sc, struct ath_node *an,
930 struct sample_node *sn = ATH_NODE_SAMPLE(an);
964 update_stats(struct ath_softc *sc, struct ath_node *an,
970 struct sample_node *sn = ATH_NODE_SAMPLE(an);
978 int is_ht40 = (an->an_node.ni_chw == 40);
1062 IEEE80211_NOTE(an->an_node.ni_vap, IEEE80211_MSG_RATECTL,
1063 &an->an_node,
1093 ath_rate_tx_complete(struct ath_softc *sc, struct ath_node *an,
1098 struct sample_node *sn = ATH_NODE_SAMPLE(an);
1151 IEEE80211_NOTE(an->an_node.ni_vap, IEEE80211_MSG_RATECTL,
1152 &an->an_node,
1176 IEEE80211_NOTE(an->an_node.ni_vap, IEEE80211_MSG_RATECTL,
1177 &an->an_node, "%s: size %d (%d bytes) %s rate/short/long %d %s/%d/%d nframes/nbad [%d/%d]",
1184 update_stats(sc, an, frame_size,
1197 IEEE80211_NOTE(an->an_node.ni_vap, IEEE80211_MSG_RATECTL,
1198 &an->an_node,
1229 update_stats(sc, an, frame_size,
1238 update_stats(sc, an, frame_size,
1247 update_stats(sc, an, frame_size,
1256 update_stats(sc, an, frame_size,
1266 ath_rate_newassoc(struct ath_softc *sc, struct ath_node *an, int isnew)
1269 ath_rate_ctl_reset(sc, &an->an_node);
1273 ath_rate_update_rx_rssi(struct ath_softc *sc, struct ath_node *an, int rssi)
1301 struct ath_node *an = ATH_NODE(ni);
1302 struct sample_node *sn = ATH_NODE_SAMPLE(an);
1431 ath_rate_fetch_node_stats(struct ath_softc *sc, struct ath_node *an,
1434 struct sample_node *sn = ATH_NODE_SAMPLE(an);
1441 ATH_NODE_LOCK_ASSERT(an);