Lines Matching defs:an
85 * This file is an implementation of the SampleRate algorithm
174 struct ath_node *an, uint8_t rix0, int is_aggr)
178 struct sample_node *sn = ATH_NODE_SAMPLE(an);
182 int is_ht40 = (an->an_node.ni_chw == IEEE80211_STA_RX_BW_40);
282 ath_rate_node_init(struct ath_softc *sc, struct ath_node *an)
288 ath_rate_node_cleanup(struct ath_softc *sc, struct ath_node *an)
314 pick_best_rate(struct ath_node *an, const HAL_RATE_TABLE *rt,
317 struct sample_node *sn = ATH_NODE_SAMPLE(an);
330 if ((an->an_node.ni_flags & IEEE80211_NODE_HT) &&
359 if (an->an_node.ni_flags & IEEE80211_NODE_HT) {
363 IEEE80211_NOTE(an->an_node.ni_vap,
365 &an->an_node,
386 if (! (an->an_node.ni_flags & IEEE80211_NODE_HT)) {
399 if (an->an_node.ni_flags & IEEE80211_NODE_HT) {
415 pick_sample_rate(struct sample_softc *ssc , struct ath_node *an,
420 struct sample_node *sn = ATH_NODE_SAMPLE(an);
446 * non-MCS rates when speaking to an MCS node.
461 if ((an->an_node.ni_flags & IEEE80211_NODE_HT) &&
492 if (an->an_node.ni_flags & IEEE80211_NODE_HT) {
506 if (! (an->an_node.ni_flags & IEEE80211_NODE_HT)) {
550 struct ath_node *an = ATH_NODE(ni);
552 struct sample_node *sn = ATH_NODE_SAMPLE(an);
572 ath_rate_pick_seed_rate_legacy(struct ath_softc *sc, struct ath_node *an,
580 struct sample_node *sn = ATH_NODE_SAMPLE(an);
613 ath_rate_pick_seed_rate_ht(struct ath_softc *sc, struct ath_node *an,
621 struct sample_node *sn = ATH_NODE_SAMPLE(an);
660 ath_rate_findrate(struct ath_softc *sc, struct ath_node *an,
668 struct sample_node *sn = ATH_NODE_SAMPLE(an);
677 ath_rate_update_static_rix(sc, &an->an_node);
703 max_pkt_len = ath_rate_sample_find_min_pktlength(sc, an,
719 best_rix = pick_best_rate(an, rt, size_bin, !mrr);
726 max_pkt_len = ath_rate_sample_find_min_pktlength(sc, an, best_rix,
751 rix = pick_sample_rate(ssc, an, rt, size_bin);
752 IEEE80211_NOTE(an->an_node.ni_vap, IEEE80211_MSG_RATECTL,
753 &an->an_node, "att %d sample_tt %d size %u "
773 if (an->an_node.ni_flags & IEEE80211_NODE_HT)
775 ath_rate_pick_seed_rate_ht(sc, an, frameLen);
778 ath_rate_pick_seed_rate_legacy(sc, an, frameLen);
781 IEEE80211_NOTE(an->an_node.ni_vap,
782 IEEE80211_MSG_RATECTL, &an->an_node,
787 IEEE80211_NOTE(an->an_node.ni_vap,
788 IEEE80211_MSG_RATECTL, &an->an_node,
792 } else if ((! (an->an_node.ni_flags & IEEE80211_NODE_HT)) &&
795 IEEE80211_NOTE(an->an_node.ni_vap,
796 IEEE80211_MSG_RATECTL, &an->an_node,
801 } else if ((an->an_node.ni_flags & IEEE80211_NODE_HT)) {
817 IEEE80211_NOTE(an->an_node.ni_vap,
818 IEEE80211_MSG_RATECTL, &an->an_node,
833 IEEE80211_NOTE(an->an_node.ni_vap,
835 &an->an_node,
858 an->an_node.ni_txrate =
898 ath_rate_getxtxrates(struct ath_softc *sc, struct ath_node *an,
901 struct sample_node *sn = ATH_NODE_SAMPLE(an);
926 ath_rate_setupxtxdesc(struct ath_softc *sc, struct ath_node *an,
929 struct sample_node *sn = ATH_NODE_SAMPLE(an);
963 update_stats(struct ath_softc *sc, struct ath_node *an,
969 struct sample_node *sn = ATH_NODE_SAMPLE(an);
977 int is_ht40 = (an->an_node.ni_chw == IEEE80211_STA_RX_BW_40);
1061 IEEE80211_NOTE(an->an_node.ni_vap, IEEE80211_MSG_RATECTL,
1062 &an->an_node,
1092 ath_rate_tx_complete(struct ath_softc *sc, struct ath_node *an,
1097 struct sample_node *sn = ATH_NODE_SAMPLE(an);
1150 IEEE80211_NOTE(an->an_node.ni_vap, IEEE80211_MSG_RATECTL,
1151 &an->an_node,
1175 IEEE80211_NOTE(an->an_node.ni_vap, IEEE80211_MSG_RATECTL,
1176 &an->an_node, "%s: size %d (%d bytes) %s rate/short/long %d %s/%d/%d nframes/nbad [%d/%d]",
1183 update_stats(sc, an, frame_size,
1196 IEEE80211_NOTE(an->an_node.ni_vap, IEEE80211_MSG_RATECTL,
1197 &an->an_node,
1228 update_stats(sc, an, frame_size,
1237 update_stats(sc, an, frame_size,
1246 update_stats(sc, an, frame_size,
1255 update_stats(sc, an, frame_size,
1265 ath_rate_newassoc(struct ath_softc *sc, struct ath_node *an, int isnew)
1268 ath_rate_ctl_reset(sc, &an->an_node);
1272 ath_rate_update_rx_rssi(struct ath_softc *sc, struct ath_node *an, int rssi)
1300 struct ath_node *an = ATH_NODE(ni);
1301 struct sample_node *sn = ATH_NODE_SAMPLE(an);
1430 ath_rate_fetch_node_stats(struct ath_softc *sc, struct ath_node *an,
1433 struct sample_node *sn = ATH_NODE_SAMPLE(an);
1440 ATH_NODE_LOCK_ASSERT(an);