Lines Matching refs:da
126 struct ath_dynack *da = &ah->dynack;
130 list_for_each_entry(an, &da->nodes, list)
134 if (to && da->ackto != to) {
136 da->ackto = to;
148 struct ath_dynack *da = &ah->dynack;
158 while (da->st_rbf.h_rb != da->st_rbf.t_rb &&
159 da->ack_rbf.h_rb != da->ack_rbf.t_rb) {
160 ack_ts = da->ack_rbf.tstamp[da->ack_rbf.h_rb];
161 st_ts = &da->st_rbf.ts[da->st_rbf.h_rb];
162 dst = da->st_rbf.addr[da->st_rbf.h_rb].h_dest;
163 src = da->st_rbf.addr[da->st_rbf.h_rb].h_src;
168 da->ack_rbf.h_rb, da->st_rbf.h_rb);
183 if (time_is_before_jiffies(da->lto)) {
185 da->lto = jiffies + COMPUTE_TO;
188 INCR(da->ack_rbf.h_rb, ATH_DYN_BUF);
190 INCR(da->st_rbf.h_rb, ATH_DYN_BUF);
192 INCR(da->ack_rbf.h_rb, ATH_DYN_BUF);
212 struct ath_dynack *da = &ah->dynack;
218 if (!da->enabled || (info->flags & IEEE80211_TX_CTL_NO_ACK))
221 spin_lock_bh(&da->qlock);
240 da->lto = jiffies + LATEACK_DELAY;
243 spin_unlock_bh(&da->qlock);
249 da->st_rbf.ts[da->st_rbf.t_rb].tstamp = ts->ts_tstamp;
250 ether_addr_copy(da->st_rbf.addr[da->st_rbf.t_rb].h_dest, hdr->addr1);
251 ether_addr_copy(da->st_rbf.addr[da->st_rbf.t_rb].h_src, hdr->addr2);
267 da->st_rbf.ts[da->st_rbf.t_rb].dur = dur;
269 INCR(da->st_rbf.t_rb, ATH_DYN_BUF);
270 if (da->st_rbf.t_rb == da->st_rbf.h_rb)
271 INCR(da->st_rbf.h_rb, ATH_DYN_BUF);
274 hdr->addr1, ts->ts_tstamp, dur, da->st_rbf.h_rb,
275 da->st_rbf.t_rb);
279 spin_unlock_bh(&da->qlock);
293 struct ath_dynack *da = &ah->dynack;
297 if (!da->enabled || !ath_dynack_bssidmask(ah, hdr->addr1))
300 spin_lock_bh(&da->qlock);
301 da->ack_rbf.tstamp[da->ack_rbf.t_rb] = ts;
303 INCR(da->ack_rbf.t_rb, ATH_DYN_BUF);
304 if (da->ack_rbf.t_rb == da->ack_rbf.h_rb)
305 INCR(da->ack_rbf.h_rb, ATH_DYN_BUF);
308 ts, da->ack_rbf.h_rb, da->ack_rbf.t_rb);
312 spin_unlock_bh(&da->qlock);
324 struct ath_dynack *da = &ah->dynack;
326 an->ackto = da->ackto;
328 spin_lock_bh(&da->qlock);
329 list_add_tail(&an->list, &da->nodes);
330 spin_unlock_bh(&da->qlock);
342 struct ath_dynack *da = &ah->dynack;
344 spin_lock_bh(&da->qlock);
346 spin_unlock_bh(&da->qlock);
357 struct ath_dynack *da = &ah->dynack;
360 spin_lock_bh(&da->qlock);
362 da->lto = jiffies + COMPUTE_TO;
364 da->st_rbf.t_rb = 0;
365 da->st_rbf.h_rb = 0;
366 da->ack_rbf.t_rb = 0;
367 da->ack_rbf.h_rb = 0;
369 da->ackto = ath_dynack_get_max_to(ah);
370 list_for_each_entry(an, &da->nodes, list)
371 an->ackto = da->ackto;
374 ath_dynack_set_timeout(ah, da->ackto);
376 spin_unlock_bh(&da->qlock);
387 struct ath_dynack *da = &ah->dynack;
389 memset(da, 0, sizeof(struct ath_dynack));
391 spin_lock_init(&da->qlock);
392 INIT_LIST_HEAD(&da->nodes);
394 da->ackto = 9 + 16 + 64;