Lines Matching full:da

126 	struct ath_dynack *da = &ah->dynack;  in ath_dynack_compute_ackto()  local
130 list_for_each_entry(an, &da->nodes, list) in ath_dynack_compute_ackto()
134 if (to && da->ackto != to) { in ath_dynack_compute_ackto()
136 da->ackto = to; in ath_dynack_compute_ackto()
148 struct ath_dynack *da = &ah->dynack; in ath_dynack_compute_to() local
158 while (da->st_rbf.h_rb != da->st_rbf.t_rb && in ath_dynack_compute_to()
159 da->ack_rbf.h_rb != da->ack_rbf.t_rb) { in ath_dynack_compute_to()
160 ack_ts = da->ack_rbf.tstamp[da->ack_rbf.h_rb]; in ath_dynack_compute_to()
161 st_ts = &da->st_rbf.ts[da->st_rbf.h_rb]; in ath_dynack_compute_to()
162 dst = da->st_rbf.addr[da->st_rbf.h_rb].h_dest; in ath_dynack_compute_to()
163 src = da->st_rbf.addr[da->st_rbf.h_rb].h_src; in ath_dynack_compute_to()
168 da->ack_rbf.h_rb, da->st_rbf.h_rb); in ath_dynack_compute_to()
183 if (time_is_before_jiffies(da->lto)) { in ath_dynack_compute_to()
185 da->lto = jiffies + COMPUTE_TO; in ath_dynack_compute_to()
188 INCR(da->ack_rbf.h_rb, ATH_DYN_BUF); in ath_dynack_compute_to()
190 INCR(da->st_rbf.h_rb, ATH_DYN_BUF); in ath_dynack_compute_to()
192 INCR(da->ack_rbf.h_rb, ATH_DYN_BUF); in ath_dynack_compute_to()
212 struct ath_dynack *da = &ah->dynack; in ath_dynack_sample_tx_ts() local
218 if (!da->enabled || (info->flags & IEEE80211_TX_CTL_NO_ACK)) in ath_dynack_sample_tx_ts()
221 spin_lock_bh(&da->qlock); in ath_dynack_sample_tx_ts()
240 da->lto = jiffies + LATEACK_DELAY; in ath_dynack_sample_tx_ts()
243 spin_unlock_bh(&da->qlock); in ath_dynack_sample_tx_ts()
249 da->st_rbf.ts[da->st_rbf.t_rb].tstamp = ts->ts_tstamp; in ath_dynack_sample_tx_ts()
254 memcpy(da->st_rbf.addr[da->st_rbf.t_rb].h_dest, hdr->addr1, ETH_ALEN); in ath_dynack_sample_tx_ts()
255 memcpy(da->st_rbf.addr[da->st_rbf.t_rb].h_src, hdr->addr2, ETH_ALEN); in ath_dynack_sample_tx_ts()
271 da->st_rbf.ts[da->st_rbf.t_rb].dur = dur; in ath_dynack_sample_tx_ts()
273 INCR(da->st_rbf.t_rb, ATH_DYN_BUF); in ath_dynack_sample_tx_ts()
274 if (da->st_rbf.t_rb == da->st_rbf.h_rb) in ath_dynack_sample_tx_ts()
275 INCR(da->st_rbf.h_rb, ATH_DYN_BUF); in ath_dynack_sample_tx_ts()
278 hdr->addr1, ts->ts_tstamp, dur, da->st_rbf.h_rb, in ath_dynack_sample_tx_ts()
279 da->st_rbf.t_rb); in ath_dynack_sample_tx_ts()
283 spin_unlock_bh(&da->qlock); in ath_dynack_sample_tx_ts()
297 struct ath_dynack *da = &ah->dynack; in ath_dynack_sample_ack_ts() local
301 if (!da->enabled || !ath_dynack_bssidmask(ah, hdr->addr1)) in ath_dynack_sample_ack_ts()
304 spin_lock_bh(&da->qlock); in ath_dynack_sample_ack_ts()
305 da->ack_rbf.tstamp[da->ack_rbf.t_rb] = ts; in ath_dynack_sample_ack_ts()
307 INCR(da->ack_rbf.t_rb, ATH_DYN_BUF); in ath_dynack_sample_ack_ts()
308 if (da->ack_rbf.t_rb == da->ack_rbf.h_rb) in ath_dynack_sample_ack_ts()
309 INCR(da->ack_rbf.h_rb, ATH_DYN_BUF); in ath_dynack_sample_ack_ts()
312 ts, da->ack_rbf.h_rb, da->ack_rbf.t_rb); in ath_dynack_sample_ack_ts()
316 spin_unlock_bh(&da->qlock); in ath_dynack_sample_ack_ts()
328 struct ath_dynack *da = &ah->dynack; in ath_dynack_node_init() local
330 an->ackto = da->ackto; in ath_dynack_node_init()
332 spin_lock_bh(&da->qlock); in ath_dynack_node_init()
333 list_add_tail(&an->list, &da->nodes); in ath_dynack_node_init()
334 spin_unlock_bh(&da->qlock); in ath_dynack_node_init()
346 struct ath_dynack *da = &ah->dynack; in ath_dynack_node_deinit() local
348 spin_lock_bh(&da->qlock); in ath_dynack_node_deinit()
350 spin_unlock_bh(&da->qlock); in ath_dynack_node_deinit()
361 struct ath_dynack *da = &ah->dynack; in ath_dynack_reset() local
364 spin_lock_bh(&da->qlock); in ath_dynack_reset()
366 da->lto = jiffies + COMPUTE_TO; in ath_dynack_reset()
368 da->st_rbf.t_rb = 0; in ath_dynack_reset()
369 da->st_rbf.h_rb = 0; in ath_dynack_reset()
370 da->ack_rbf.t_rb = 0; in ath_dynack_reset()
371 da->ack_rbf.h_rb = 0; in ath_dynack_reset()
373 da->ackto = ath_dynack_get_max_to(ah); in ath_dynack_reset()
374 list_for_each_entry(an, &da->nodes, list) in ath_dynack_reset()
375 an->ackto = da->ackto; in ath_dynack_reset()
378 ath_dynack_set_timeout(ah, da->ackto); in ath_dynack_reset()
380 spin_unlock_bh(&da->qlock); in ath_dynack_reset()
391 struct ath_dynack *da = &ah->dynack; in ath_dynack_init() local
393 memset(da, 0, sizeof(struct ath_dynack)); in ath_dynack_init()
395 spin_lock_init(&da->qlock); in ath_dynack_init()
396 INIT_LIST_HEAD(&da->nodes); in ath_dynack_init()
398 da->ackto = 9 + 16 + 64; in ath_dynack_init()