Lines Matching full:ni

224 ath_rate_update(struct ath_softc *sc, struct ieee80211_node *ni, int rate)  in ath_rate_update()  argument
226 struct ath_node *an = ATH_NODE(ni); in ath_rate_update()
228 struct ieee80211vap *vap = ni->ni_vap; in ath_rate_update()
234 IEEE80211_NOTE(vap, IEEE80211_MSG_RATECTL, ni, in ath_rate_update()
236 ni->ni_rates.rs_nrates > 0 ? in ath_rate_update()
237 (ni->ni_rates.rs_rates[rate] & IEEE80211_RATE_VAL) / 2 : 0); in ath_rate_update()
247 if (ni->ni_rates.rs_nrates > 0) { in ath_rate_update()
250 dot11rate = ni->ni_rates.rs_rates[rate] & IEEE80211_RATE_VAL; in ath_rate_update()
252 ieee80211_node_set_txrate_dot11rate(ni, dot11rate); in ath_rate_update()
263 ni->ni_rates.rs_rates[rate]&IEEE80211_RATE_VAL]; in ath_rate_update()
272 ni->ni_rates.rs_rates[rate]&IEEE80211_RATE_VAL]; in ath_rate_update()
312 ath_rate_ctl_start(struct ath_softc *sc, struct ieee80211_node *ni) in ath_rate_ctl_start() argument
314 #define RATE(_ix) (ni->ni_rates.rs_rates[(_ix)] & IEEE80211_RATE_VAL) in ath_rate_ctl_start()
315 const struct ieee80211_txparam *tp = ni->ni_txparms; in ath_rate_ctl_start()
318 KASSERT(ni->ni_rates.rs_nrates > 0, ("no rates")); in ath_rate_ctl_start()
325 srate = ni->ni_rates.rs_nrates - 1; in ath_rate_ctl_start()
344 srate = ni->ni_rates.rs_nrates - 1; in ath_rate_ctl_start()
354 ath_rate_update(sc, ni, srate < 0 ? 0 : srate); in ath_rate_ctl_start()
362 ath_rate_ctl(void *arg, struct ieee80211_node *ni) in ath_rate_ctl() argument
365 struct amrr_node *amn = ATH_NODE_AMRR(ATH_NODE (ni)); in ath_rate_ctl()
377 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, in ath_rate_ctl()
384 rix + 1 < ni->ni_rates.rs_nrates) { in ath_rate_ctl()
388 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, in ath_rate_ctl()
401 IEEE80211_NOTE(ni->ni_vap, in ath_rate_ctl()
402 IEEE80211_MSG_RATECTL, ni, in ath_rate_ctl()
408 IEEE80211_NOTE(ni->ni_vap, in ath_rate_ctl()
409 IEEE80211_MSG_RATECTL, ni, in ath_rate_ctl()
428 ath_rate_update(sc, ni, rix); in ath_rate_ctl()