Lines Matching refs: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()
250 ether_addr_copy(da->st_rbf.addr[da->st_rbf.t_rb].h_dest, hdr->addr1); in ath_dynack_sample_tx_ts()
251 ether_addr_copy(da->st_rbf.addr[da->st_rbf.t_rb].h_src, hdr->addr2); in ath_dynack_sample_tx_ts()
267 da->st_rbf.ts[da->st_rbf.t_rb].dur = dur; in ath_dynack_sample_tx_ts()
269 INCR(da->st_rbf.t_rb, ATH_DYN_BUF); in ath_dynack_sample_tx_ts()
270 if (da->st_rbf.t_rb == da->st_rbf.h_rb) in ath_dynack_sample_tx_ts()
271 INCR(da->st_rbf.h_rb, ATH_DYN_BUF); in ath_dynack_sample_tx_ts()
274 hdr->addr1, ts->ts_tstamp, dur, da->st_rbf.h_rb, in ath_dynack_sample_tx_ts()
275 da->st_rbf.t_rb); in ath_dynack_sample_tx_ts()
279 spin_unlock_bh(&da->qlock); in ath_dynack_sample_tx_ts()
293 struct ath_dynack *da = &ah->dynack; in ath_dynack_sample_ack_ts() local
297 if (!da->enabled || !ath_dynack_bssidmask(ah, hdr->addr1)) in ath_dynack_sample_ack_ts()
300 spin_lock_bh(&da->qlock); in ath_dynack_sample_ack_ts()
301 da->ack_rbf.tstamp[da->ack_rbf.t_rb] = ts; in ath_dynack_sample_ack_ts()
303 INCR(da->ack_rbf.t_rb, ATH_DYN_BUF); in ath_dynack_sample_ack_ts()
304 if (da->ack_rbf.t_rb == da->ack_rbf.h_rb) in ath_dynack_sample_ack_ts()
305 INCR(da->ack_rbf.h_rb, ATH_DYN_BUF); in ath_dynack_sample_ack_ts()
308 ts, da->ack_rbf.h_rb, da->ack_rbf.t_rb); in ath_dynack_sample_ack_ts()
312 spin_unlock_bh(&da->qlock); in ath_dynack_sample_ack_ts()
324 struct ath_dynack *da = &ah->dynack; in ath_dynack_node_init() local
326 an->ackto = da->ackto; in ath_dynack_node_init()
328 spin_lock_bh(&da->qlock); in ath_dynack_node_init()
329 list_add_tail(&an->list, &da->nodes); in ath_dynack_node_init()
330 spin_unlock_bh(&da->qlock); in ath_dynack_node_init()
342 struct ath_dynack *da = &ah->dynack; in ath_dynack_node_deinit() local
344 spin_lock_bh(&da->qlock); in ath_dynack_node_deinit()
346 spin_unlock_bh(&da->qlock); in ath_dynack_node_deinit()
357 struct ath_dynack *da = &ah->dynack; in ath_dynack_reset() local
360 spin_lock_bh(&da->qlock); in ath_dynack_reset()
362 da->lto = jiffies + COMPUTE_TO; in ath_dynack_reset()
364 da->st_rbf.t_rb = 0; in ath_dynack_reset()
365 da->st_rbf.h_rb = 0; in ath_dynack_reset()
366 da->ack_rbf.t_rb = 0; in ath_dynack_reset()
367 da->ack_rbf.h_rb = 0; in ath_dynack_reset()
369 da->ackto = ath_dynack_get_max_to(ah); in ath_dynack_reset()
370 list_for_each_entry(an, &da->nodes, list) in ath_dynack_reset()
371 an->ackto = da->ackto; in ath_dynack_reset()
374 ath_dynack_set_timeout(ah, da->ackto); in ath_dynack_reset()
376 spin_unlock_bh(&da->qlock); in ath_dynack_reset()
387 struct ath_dynack *da = &ah->dynack; in ath_dynack_init() local
389 memset(da, 0, sizeof(struct ath_dynack)); in ath_dynack_init()
391 spin_lock_init(&da->qlock); in ath_dynack_init()
392 INIT_LIST_HEAD(&da->nodes); in ath_dynack_init()
394 da->ackto = 9 + 16 + 64; in ath_dynack_init()