Lines Matching refs:ah
43 static inline u32 ath_dynack_get_sifs(struct ath_hw *ah, int phy) in ath_dynack_get_sifs() argument
48 if (IS_CHAN_QUARTER_RATE(ah->curchan)) in ath_dynack_get_sifs()
50 else if (IS_CHAN_HALF_RATE(ah->curchan)) in ath_dynack_get_sifs()
63 static inline bool ath_dynack_bssidmask(struct ath_hw *ah, const u8 *mac) in ath_dynack_bssidmask() argument
66 struct ath_common *common = ath9k_hw_common(ah); in ath_dynack_bssidmask()
83 static void ath_dynack_compute_ackto(struct ath_hw *ah) in ath_dynack_compute_ackto() argument
87 struct ath_dynack *da = &ah->dynack; in ath_dynack_compute_ackto()
88 struct ath_common *common = ath9k_hw_common(ah); in ath_dynack_compute_ackto()
101 ath9k_hw_setslottime(ah, slottime); in ath_dynack_compute_ackto()
102 ath9k_hw_set_ack_timeout(ah, da->ackto); in ath_dynack_compute_ackto()
103 ath9k_hw_set_cts_timeout(ah, da->ackto); in ath_dynack_compute_ackto()
113 static void ath_dynack_compute_to(struct ath_hw *ah) in ath_dynack_compute_to() argument
120 struct ath_dynack *da = &ah->dynack; in ath_dynack_compute_to()
131 ath_dbg(ath9k_hw_common(ah), DYNACK, in ath_dynack_compute_to()
140 sta = ieee80211_find_sta_by_ifaddr(ah->hw, dst, in ath_dynack_compute_to()
146 ath_dbg(ath9k_hw_common(ah), DYNACK, in ath_dynack_compute_to()
149 ath_dynack_compute_ackto(ah); in ath_dynack_compute_to()
171 void ath_dynack_sample_tx_ts(struct ath_hw *ah, struct sk_buff *skb, in ath_dynack_sample_tx_ts() argument
176 struct ath_dynack *da = &ah->dynack; in ath_dynack_sample_tx_ts()
177 struct ath_common *common = ath9k_hw_common(ah); in ath_dynack_sample_tx_ts()
192 ath9k_hw_setslottime(ah, (LATEACK_TO - 3) / 2); in ath_dynack_sample_tx_ts()
193 ath9k_hw_set_ack_timeout(ah, LATEACK_TO); in ath_dynack_sample_tx_ts()
194 ath9k_hw_set_cts_timeout(ah, LATEACK_TO); in ath_dynack_sample_tx_ts()
221 sifs = ath_dynack_get_sifs(ah, phy); in ath_dynack_sample_tx_ts()
234 ath_dynack_compute_to(ah); in ath_dynack_sample_tx_ts()
247 void ath_dynack_sample_ack_ts(struct ath_hw *ah, struct sk_buff *skb, in ath_dynack_sample_ack_ts() argument
250 struct ath_dynack *da = &ah->dynack; in ath_dynack_sample_ack_ts()
251 struct ath_common *common = ath9k_hw_common(ah); in ath_dynack_sample_ack_ts()
254 if (!ath_dynack_bssidmask(ah, hdr->addr1) || !da->enabled) in ath_dynack_sample_ack_ts()
268 ath_dynack_compute_to(ah); in ath_dynack_sample_ack_ts()
280 void ath_dynack_node_init(struct ath_hw *ah, struct ath_node *an) in ath_dynack_node_init() argument
284 struct ath_dynack *da = &ah->dynack; in ath_dynack_node_init()
300 void ath_dynack_node_deinit(struct ath_hw *ah, struct ath_node *an) in ath_dynack_node_deinit() argument
302 struct ath_dynack *da = &ah->dynack; in ath_dynack_node_deinit()
315 void ath_dynack_reset(struct ath_hw *ah) in ath_dynack_reset() argument
319 struct ath_dynack *da = &ah->dynack; in ath_dynack_reset()
330 ath9k_hw_setslottime(ah, (ackto - 3) / 2); in ath_dynack_reset()
331 ath9k_hw_set_ack_timeout(ah, ackto); in ath_dynack_reset()
332 ath9k_hw_set_cts_timeout(ah, ackto); in ath_dynack_reset()
341 void ath_dynack_init(struct ath_hw *ah) in ath_dynack_init() argument
343 struct ath_dynack *da = &ah->dynack; in ath_dynack_init()
350 ah->hw->wiphy->features |= NL80211_FEATURE_ACKTO_ESTIMATION; in ath_dynack_init()