Lines Matching defs:tid
124 int tid);
126 int tid);
130 struct ieee80211_node *ni, struct mbuf *m0, int *tid);
133 struct ath_tid *tid, struct ath_buf *bf);
1376 ath_tx_do_ratelookup(struct ath_softc *sc, struct ath_buf *bf, int tid,
1392 pktlen, tid, is_aggr, &rix, &try0, &rate, &maxdur, &maxpktlen);
1415 ath_tx_update_clrdmask(struct ath_softc *sc, struct ath_tid *tid,
1506 struct ath_tid *tid = &an->an_tid[bf->bf_state.bfs_tid];
1522 ath_tx_do_ratelookup(sc, bf, tid->tid, bf->bf_state.bfs_pktlen, false);
1530 tid->hwq_depth++;
1908 int tid;
1945 tid = ath_tx_gettid(sc, m0);
1994 is_ampdu_tx = ath_tx_ampdu_running(sc, ATH_NODE(ni), tid);
1995 is_ampdu_pending = ath_tx_ampdu_pending(sc, ATH_NODE(ni), tid);
1998 DPRINTF(sc, ATH_DEBUG_SW_TX, "%s: tid=%d, ac=%d, is_ampdu=%d\n",
1999 __func__, tid, pri, is_ampdu);
2002 bf->bf_state.bfs_tid = tid;
2067 "%s: tid %d: ampdu pending, seqno %d\n",
2068 __func__, tid, M_SEQNO_GET(m0));
2128 ath_tx_leak_count_update(sc, tid, bf);
2190 "%s: overriding tid %d pri %d -> %d\n",
2405 ath_tx_leak_count_update(sc, tid, bf);
2587 struct mbuf *m0, int *tid)
2617 *tid = (int) _IEEE80211_MASKSHIFT(baparamset, IEEE80211_BAPS_TID);
2636 struct ath_tid *tid, struct ath_buf *bf)
2646 tap = ath_tx_get_tx_tid(an, tid->tid);
2657 "%s: re-added? tid=%d, seqno %d; window %d:%d; "
2659 __func__, tid->tid, SEQNO(bf->bf_state.bfs_seqno),
2660 tap->txa_start, tap->txa_wnd, tid->baw_head,
2661 tid->baw_tail);
2670 "%s: bf=%p: outside of BAW?? tid=%d, seqno %d; window %d:%d; "
2672 __func__, bf, tid->tid, SEQNO(bf->bf_state.bfs_seqno),
2673 tap->txa_start, tap->txa_wnd, tid->baw_head,
2674 tid->baw_tail);
2682 cindex = (tid->baw_head + index) & (ATH_TID_MAX_BUFS - 1);
2684 "%s: tid=%d, seqno %d; window %d:%d; index=%d cindex=%d "
2686 __func__, tid->tid, SEQNO(bf->bf_state.bfs_seqno),
2687 tap->txa_start, tap->txa_wnd, index, cindex, tid->baw_head,
2688 tid->baw_tail);
2691 assert(tid->tx_buf[cindex] == NULL);
2693 if (tid->tx_buf[cindex] != NULL) {
2697 __func__, index, cindex, tid->baw_head, tid->baw_tail);
2701 tid->tx_buf[cindex],
2702 SEQNO(tid->tx_buf[cindex]->bf_state.bfs_seqno),
2707 tid->tx_buf[cindex] = bf;
2709 if (index >= ((tid->baw_tail - tid->baw_head) &
2711 tid->baw_tail = cindex;
2712 INCR(tid->baw_tail, ATH_TID_MAX_BUFS);
2727 struct ath_tid *tid, struct ath_buf *old_bf, struct ath_buf *new_bf)
2735 tap = ath_tx_get_tx_tid(an, tid->tid);
2737 cindex = (tid->baw_head + index) & (ATH_TID_MAX_BUFS - 1);
2754 if (tid->tx_buf[cindex] != old_bf) {
2762 tid->tx_buf[cindex] = new_bf;
2774 struct ath_tid *tid, const struct ath_buf *bf)
2782 tap = ath_tx_get_tx_tid(an, tid->tid);
2784 cindex = (tid->baw_head + index) & (ATH_TID_MAX_BUFS - 1);
2787 "%s: tid=%d, baw=%d:%d, seqno=%d, index=%d, cindex=%d, "
2789 __func__, tid->tid, tap->txa_start, tap->txa_wnd, seqno, index,
2790 cindex, tid->baw_head, tid->baw_tail);
2802 if (tid->tx_buf[cindex] != bf) {
2806 tid->tx_buf[cindex],
2807 (tid->tx_buf[cindex] != NULL) ?
2808 SEQNO(tid->tx_buf[cindex]->bf_state.bfs_seqno) : -1);
2811 tid->tx_buf[cindex] = NULL;
2813 while (tid->baw_head != tid->baw_tail &&
2814 !tid->tx_buf[tid->baw_head]) {
2816 INCR(tid->baw_head, ATH_TID_MAX_BUFS);
2819 "%s: tid=%d: baw is now %d:%d, baw head=%d\n",
2820 __func__, tid->tid, tap->txa_start, tap->txa_wnd, tid->baw_head);
2824 ath_tx_leak_count_update(struct ath_softc *sc, struct ath_tid *tid,
2831 if (tid->an->an_leak_count > 0) {
2837 if ((tid->an->an_stack_psq > 0)
2838 || (tid->an->an_swq_depth > 0))
2846 tid->an->an_node.ni_macaddr,
2848 tid->an->an_leak_count,
2849 tid->an->an_stack_psq,
2850 tid->an->an_swq_depth,
2859 tid->an->an_leak_count --;
2864 ath_tx_tid_can_tx_or_sched(struct ath_softc *sc, struct ath_tid *tid)
2869 if (tid->an->an_leak_count > 0) {
2872 if (tid->paused)
2886 ath_tx_tid_sched(struct ath_softc *sc, struct ath_tid *tid)
2888 struct ath_txq *txq = sc->sc_ac2q[tid->ac];
2897 if (! ath_tx_tid_can_tx_or_sched(sc, tid))
2900 if (tid->sched)
2903 tid->sched = 1;
2910 if (tid->an->an_leak_count) {
2911 TAILQ_INSERT_HEAD(&txq->axq_tidq, tid, axq_qelem);
2913 TAILQ_INSERT_TAIL(&txq->axq_tidq, tid, axq_qelem);
2929 TAILQ_INSERT_TAIL(&txq->axq_tidq, tid, axq_qelem);
2939 ath_tx_tid_unsched(struct ath_softc *sc, struct ath_tid *tid)
2941 struct ath_txq *txq = sc->sc_ac2q[tid->ac];
2945 if (tid->sched == 0)
2948 tid->sched = 0;
2949 TAILQ_REMOVE(&txq->axq_tidq, tid, axq_qelem);
2966 int tid;
2971 tid = ieee80211_gettid(wh);
2973 DPRINTF(sc, ATH_DEBUG_SW_TX, "%s: tid=%d, qos has seq=%d\n",
2974 __func__, tid, IEEE80211_QOS_HAS_SEQ(wh));
3007 seqno = ni->ni_txseqs[tid];
3008 INCR(ni->ni_txseqs[tid], IEEE80211_SEQ_RANGE);
3015 "%s: -> subtype=0x%x, tid=%d, seqno=%d\n",
3016 __func__, subtype, tid, seqno);
3029 struct ath_tid *tid = &an->an_tid[bf->bf_state.bfs_tid];
3034 tap = ath_tx_get_tx_tid(an, tid->tid);
3037 if (! ath_tx_tid_can_tx_or_sched(sc, tid)) {
3038 ATH_TID_INSERT_HEAD(tid, bf, bf_list);
3047 ATH_TID_INSERT_HEAD(tid, bf, bf_list);
3048 ath_tx_tid_sched(sc, tid);
3071 ath_tx_update_clrdmask(sc, tid, bf);
3074 ath_tx_do_ratelookup(sc, bf, tid->tid, bf->bf_state.bfs_pktlen,
3086 tid->hwq_depth++;
3090 ath_tx_addto_baw(sc, an, tid, bf);
3102 ath_tx_leak_count_update(sc, tid, bf);
3121 int pri, tid;
3129 tid = ath_tx_gettid(sc, m0);
3130 atid = &an->an_tid[tid];
3132 DPRINTF(sc, ATH_DEBUG_SW_TX, "%s: bf=%p, pri=%d, tid=%d, qos=%d\n",
3133 __func__, bf, pri, tid, IEEE80211_QOS_HAS_SEQ(wh));
3137 bf->bf_state.bfs_tid = tid;
3161 } else if (ath_tx_ampdu_pending(sc, an, tid)) {
3166 } else if (ath_tx_ampdu_running(sc, an, tid)) {
3309 atid->tid = i;
3334 ath_tx_tid_pause(struct ath_softc *sc, struct ath_tid *tid)
3338 tid->paused++;
3339 DPRINTF(sc, ATH_DEBUG_SW_TX_CTRL, "%s: [%6D]: tid=%d, paused = %d\n",
3341 tid->an->an_node.ni_macaddr, ":",
3342 tid->tid,
3343 tid->paused);
3350 ath_tx_tid_resume(struct ath_softc *sc, struct ath_tid *tid)
3359 if (tid->paused == 0) {
3361 "%s: [%6D]: tid=%d, paused=0?\n",
3363 tid->an->an_node.ni_macaddr, ":",
3364 tid->tid);
3366 tid->paused--;
3370 "%s: [%6D]: tid=%d, unpaused = %d\n",
3372 tid->an->an_node.ni_macaddr, ":",
3373 tid->tid,
3374 tid->paused);
3376 if (tid->paused)
3383 ath_tx_set_clrdmask(sc, tid->an);
3385 if (tid->axq_depth == 0)
3389 if (tid->isfiltered == 1) {
3395 ath_tx_tid_sched(sc, tid);
3408 ath_tx_tid_filt_addbuf(struct ath_softc *sc, struct ath_tid *tid,
3414 if (!tid->isfiltered)
3424 ATH_TID_FILT_INSERT_TAIL(tid, bf, bf_list);
3433 ath_tx_tid_filt_comp_buf(struct ath_softc *sc, struct ath_tid *tid,
3439 if (! tid->isfiltered) {
3440 DPRINTF(sc, ATH_DEBUG_SW_TX_FILT, "%s: tid=%d; filter transition\n",
3441 __func__, tid->tid);
3442 tid->isfiltered = 1;
3443 ath_tx_tid_pause(sc, tid);
3447 ath_tx_tid_filt_addbuf(sc, tid, bf);
3458 ath_tx_tid_filt_comp_complete(struct ath_softc *sc, struct ath_tid *tid)
3465 if (tid->hwq_depth != 0)
3468 DPRINTF(sc, ATH_DEBUG_SW_TX_FILT, "%s: tid=%d, hwq=0, transition back\n",
3469 __func__, tid->tid);
3470 if (tid->isfiltered == 1) {
3471 tid->isfiltered = 0;
3476 ath_tx_set_clrdmask(sc, tid->an);
3479 while ((bf = ATH_TID_FILT_LAST(tid, ath_bufhead_s)) != NULL) {
3480 ATH_TID_FILT_REMOVE(tid, bf, bf_list);
3481 ATH_TID_INSERT_HEAD(tid, bf, bf_list);
3486 ath_tx_tid_resume(sc, tid);
3501 ath_tx_tid_filt_comp_single(struct ath_softc *sc, struct ath_tid *tid,
3528 nbf = ath_tx_retry_clone(sc, tid->an, tid, bf);
3542 ath_tx_tid_filt_comp_buf(sc, tid, nbf);
3546 ath_tx_tid_filt_comp_complete(sc, tid);
3552 ath_tx_tid_filt_comp_aggr(struct ath_softc *sc, struct ath_tid *tid,
3570 "%s: tid=%d, bf=%p, seqno=%d, exceeded retries\n",
3572 tid->tid,
3580 nbf = ath_tx_retry_clone(sc, tid->an, tid, bf);
3582 "%s: tid=%d, busy buffer cloned: %p -> %p, seqno=%d\n",
3583 __func__, tid->tid, bf, nbf, SEQNO(bf->bf_state.bfs_seqno));
3594 "%s: tid=%d, buffer couldn't be cloned! (%p) seqno=%d\n",
3595 __func__, tid->tid, bf, SEQNO(bf->bf_state.bfs_seqno));
3598 ath_tx_tid_filt_comp_buf(sc, tid, nbf);
3604 ath_tx_tid_filt_comp_complete(sc, tid);
3611 ath_tx_tid_bar_suspend(struct ath_softc *sc, struct ath_tid *tid)
3617 "%s: tid=%d, bar_wait=%d, bar_tx=%d, called\n",
3619 tid->tid,
3620 tid->bar_wait,
3621 tid->bar_tx);
3624 if (tid->bar_tx) {
3630 if (tid->bar_wait)
3634 tid->bar_wait = 1;
3637 ath_tx_tid_pause(sc, tid);
3645 ath_tx_tid_bar_unsuspend(struct ath_softc *sc, struct ath_tid *tid)
3653 tid->an->an_node.ni_macaddr,
3655 tid->tid);
3657 if (tid->bar_tx == 0 || tid->bar_wait == 0) {
3660 __func__, tid->an->an_node.ni_macaddr, ":",
3661 tid->tid, tid->bar_tx, tid->bar_wait);
3664 tid->bar_tx = tid->bar_wait = 0;
3665 ath_tx_tid_resume(sc, tid);
3674 ath_tx_tid_bar_tx_ready(struct ath_softc *sc, struct ath_tid *tid)
3679 if (tid->bar_wait == 0 || tid->hwq_depth > 0)
3685 tid->an->an_node.ni_macaddr,
3687 tid->tid);
3705 ath_tx_tid_bar_tx(struct ath_softc *sc, struct ath_tid *tid)
3714 tid->an->an_node.ni_macaddr,
3716 tid->tid);
3718 tap = ath_tx_get_tx_tid(tid->an, tid->tid);
3723 if (tid->bar_wait == 0 || tid->bar_tx == 1) {
3726 __func__, tid->an->an_node.ni_macaddr, ":",
3727 tid->tid, tid->bar_tx, tid->bar_wait);
3732 if (tid->hwq_depth > 0) {
3736 tid->an->an_node.ni_macaddr,
3738 tid->tid,
3739 tid->hwq_depth);
3744 tid->bar_tx = 1;
3750 ath_tx_set_clrdmask(sc, tid->an);
3761 tid->an->an_node.ni_macaddr,
3763 tid->tid,
3770 if (ieee80211_send_bar(&tid->an->an_node, tap, tap->txa_start) == 0) {
3780 __func__, tid->an->an_node.ni_macaddr, ":",
3781 tid->tid);
3782 ath_tx_tid_bar_unsuspend(sc, tid);
3787 struct ath_tid *tid, ath_bufhead *bf_cq, struct ath_buf *bf)
3796 if (ath_tx_ampdu_running(sc, an, tid->tid) &&
3804 ath_tx_update_baw(sc, an, tid, bf);
3827 const char *pfx, struct ath_tid *tid, struct ath_buf *bf)
3833 txq = sc->sc_ac2q[tid->ac];
3834 tap = ath_tx_get_tx_tid(an, tid->tid);
3859 "%s: %s: %6D: bf=%p: tid txq_depth=%d hwq_depth=%d, bar_wait=%d, "
3866 tid->axq_depth,
3867 tid->hwq_depth,
3868 tid->bar_wait,
3869 tid->isfiltered);
3871 "%s: %s: %6D: tid %d: "
3879 tid->tid,
3880 tid->sched, tid->paused,
3881 tid->incomp, tid->baw_head,
3882 tid->baw_tail, tap == NULL ? -1 : tap->txa_start,
3883 ni->ni_txseqs[tid->tid]);
3909 struct ath_tid *tid, ath_bufhead *bf_cq)
3916 tap = ath_tx_get_tx_tid(an, tid->tid);
3923 bf = ATH_TID_FIRST(tid);
3929 ath_tx_tid_drain_print(sc, an, "norm", tid, bf);
3933 ATH_TID_REMOVE(tid, bf, bf_list);
3934 ath_tx_tid_drain_pkt(sc, an, tid, bf_cq, bf);
3940 bf = ATH_TID_FILT_FIRST(tid);
3945 ath_tx_tid_drain_print(sc, an, "filt", tid, bf);
3949 ATH_TID_FILT_REMOVE(tid, bf, bf_list);
3950 ath_tx_tid_drain_pkt(sc, an, tid, bf_cq, bf);
3960 ath_tx_set_clrdmask(sc, tid->an);
3984 tid->tid,
3987 ni->ni_txseqs[tid->tid] = tap->txa_start;
3988 tid->baw_tail = tid->baw_head;
3998 ath_tx_tid_reset(struct ath_softc *sc, struct ath_tid *tid)
4002 tid->bar_wait = tid->bar_tx = tid->isfiltered = 0;
4003 tid->paused = tid->sched = tid->addba_tx_pending = 0;
4004 tid->incomp = tid->cleanup_inprogress = 0;
4016 if (tid->bar_wait) {
4017 if (tid->paused > 0) {
4018 tid->paused --;
4031 if (tid->isfiltered) {
4032 if (tid->paused > 0) {
4033 tid->paused --;
4042 tid->bar_wait = 0;
4043 tid->bar_tx = 0;
4044 tid->isfiltered = 0;
4045 tid->sched = 0;
4046 tid->addba_tx_pending = 0;
4069 int tid;
4092 for (tid = 0; tid < IEEE80211_TID_SIZE; tid++) {
4093 struct ath_tid *atid = &an->an_tid[tid];
4098 /* Remove this tid from the list of active tids */
4124 struct ath_tid *tid;
4136 tid = TAILQ_FIRST(&txq->axq_tidq);
4137 ath_tx_tid_drain(sc, tid->an, tid, &bf_cq);
4138 ath_tx_tid_unsched(sc, tid);
4170 int tid = bf->bf_state.bfs_tid;
4171 struct ath_tid *atid = &an->an_tid[tid];
4210 __func__, tid);
4257 int tid = bf->bf_state.bfs_tid;
4258 struct ath_tid *atid = &an->an_tid[tid];
4261 __func__, tid, atid->incomp);
4278 __func__, tid);
4294 int tid, struct ath_buf *bf_head, ath_bufhead *bf_cq)
4296 struct ath_tid *atid = &an->an_tid[tid];
4358 ath_tx_tid_cleanup(struct ath_softc *sc, struct ath_node *an, int tid,
4361 struct ath_tid *atid = &an->an_tid[tid];
4367 "%s: TID %d: called; inprogress=%d\n", __func__, tid,
4398 ath_tx_tid_cleanup_frame(sc, an, tid, bf, bf_cq);
4423 __func__, tid, atid->incomp);
4430 struct ath_tid *tid, struct ath_buf *bf)
4476 ath_tx_switch_baw_buf(sc, an, tid, bf, nbf);
4499 int tid = bf->bf_state.bfs_tid;
4500 struct ath_tid *atid = &an->an_tid[tid];
4505 tap = ath_tx_get_tx_tid(an, tid);
4590 int tid = bf->bf_state.bfs_tid;
4591 struct ath_tid *atid = &an->an_tid[tid];
4652 struct ath_tid *tid)
4675 tap = ath_tx_get_tx_tid(an, tid->tid);
4695 ATH_TID_INSERT_HEAD(tid, bf, bf_list);
4701 ath_tx_tid_sched(sc, tid);
4712 ath_tx_tid_bar_suspend(sc, tid);
4718 if (ath_tx_tid_bar_tx_ready(sc, tid))
4719 ath_tx_tid_bar_tx(sc, tid);
4742 int tid = bf_first->bf_state.bfs_tid;
4743 struct ath_tid *atid = &an->an_tid[tid];
4767 __func__, tid);
4806 int tid = bf_first->bf_state.bfs_tid;
4807 struct ath_tid *atid = &an->an_tid[tid];
4934 tap = ath_tx_get_tx_tid(an, tid);
4966 * out tid 1 - the aggregate frames are all marked as TID 1,
4972 if (tid != ts.ts_tid) {
4973 DPRINTF(sc, ATH_DEBUG_SW_TX_AGGR, "%s: tid %d != hw tid %d\n",
4974 __func__, tid, ts.ts_tid);
5147 int tid = bf->bf_state.bfs_tid;
5148 struct ath_tid *atid = &an->an_tid[tid];
5178 if (tid == IEEE80211_NONQOS_TID)
5182 "%s: bf=%p: tid=%d, hwq_depth=%d, seqno=%d\n",
5296 __func__, tid, SEQNO(bf->bf_state.bfs_seqno));
5350 struct ath_tid *tid)
5358 tap = ath_tx_get_tx_tid(an, tid->tid);
5365 TAILQ_FOREACH(bf, &tid->tid_q, bf_list) {
5406 struct ath_tid *tid)
5409 struct ath_txq *txq = sc->sc_ac2q[tid->ac];
5415 DPRINTF(sc, ATH_DEBUG_SW_TX, "%s: tid=%d\n", __func__, tid->tid);
5423 tap = ath_tx_get_tx_tid(an, tid->tid);
5425 if (tid->tid == IEEE80211_NONQOS_TID)
5440 if (! ath_tx_tid_can_tx_or_sched(sc, tid))
5443 bf = ATH_TID_FIRST(tid);
5456 ATH_TID_REMOVE(tid, bf, bf_list);
5475 ath_tx_update_clrdmask(sc, tid, bf);
5477 ath_tx_do_ratelookup(sc, bf, tid->tid,
5499 swq_pktbytes = ath_tx_tid_swq_depth_bytes(sc, an, tid);
5500 ath_tx_do_ratelookup(sc, bf, tid->tid, swq_pktbytes, true);
5513 status = ath_tx_form_aggr(sc, an, tid, &bf_q);
5543 ath_tx_update_clrdmask(sc, tid, bf);
5564 ath_tx_update_clrdmask(sc, tid, bf);
5599 ath_tx_leak_count_update(sc, tid, bf);
5606 tid->hwq_depth++;
5637 struct ath_tid *tid)
5640 struct ath_txq *txq = sc->sc_ac2q[tid->ac];
5643 __func__, an, tid->tid);
5648 if (ath_tx_ampdu_pending(sc, an, tid->tid))
5649 DPRINTF(sc, ATH_DEBUG_SW_TX, "%s: tid=%d, ampdu pending?\n",
5650 __func__, tid->tid);
5651 if (ath_tx_ampdu_running(sc, an, tid->tid))
5652 DPRINTF(sc, ATH_DEBUG_SW_TX, "%s: tid=%d, ampdu running?\n",
5653 __func__, tid->tid);
5663 if (! ath_tx_tid_can_tx_or_sched(sc, tid))
5666 bf = ATH_TID_FIRST(tid);
5671 ATH_TID_REMOVE(tid, bf, bf_list);
5674 if (tid->tid != bf->bf_state.bfs_tid) {
5676 " tid %d\n", __func__, bf->bf_state.bfs_tid,
5677 tid->tid);
5689 ath_tx_update_clrdmask(sc, tid, bf);
5692 ath_tx_do_ratelookup(sc, bf, tid->tid,
5705 ath_tx_leak_count_update(sc, tid, bf);
5709 tid->hwq_depth++;
5730 struct ath_tid *tid, *next, *last;
5775 TAILQ_FOREACH_SAFE(tid, &txq->axq_tidq, axq_qelem, next) {
5780 DPRINTF(sc, ATH_DEBUG_SW_TX, "%s: tid=%d, paused=%d\n",
5781 __func__, tid->tid, tid->paused);
5782 ath_tx_tid_unsched(sc, tid);
5787 if (! ath_tx_tid_can_tx_or_sched(sc, tid)) {
5790 if (ath_tx_ampdu_running(sc, tid->an, tid->tid))
5791 ath_tx_tid_hw_queue_aggr(sc, tid->an, tid);
5793 ath_tx_tid_hw_queue_norm(sc, tid->an, tid);
5796 if (tid->axq_depth != 0)
5797 ath_tx_tid_sched(sc, tid);
5822 if (tid == last)
5835 ath_tx_get_tx_tid(struct ath_node *an, int tid)
5840 if (tid == IEEE80211_NONQOS_TID)
5843 tap = &ni->ni_tx_ampdu[tid];
5851 ath_tx_ampdu_running(struct ath_softc *sc, struct ath_node *an, int tid)
5855 if (tid == IEEE80211_NONQOS_TID)
5858 tap = ath_tx_get_tx_tid(an, tid);
5869 ath_tx_ampdu_pending(struct ath_softc *sc, struct ath_node *an, int tid)
5873 if (tid == IEEE80211_NONQOS_TID)
5876 tap = ath_tx_get_tx_tid(an, tid);
5900 int tid = tap->txa_tid;
5902 struct ath_tid *atid = &an->an_tid[tid];
5947 __func__, tap->txa_start, ni->ni_txseqs[tid]);
5978 int tid = tap->txa_tid;
5980 struct ath_tid *atid = &an->an_tid[tid];
5991 __func__, tap->txa_start, ni->ni_txseqs[tid]);
6008 tap->txa_start = ni->ni_txseqs[tid];
6024 int tid = tap->txa_tid;
6026 struct ath_tid *atid = &an->an_tid[tid];
6075 ath_tx_tid_cleanup(sc, an, tid, &bf_cq);
6101 struct ath_tid *tid;
6112 tid = &an->an_tid[i];
6113 if (tid->hwq_depth == 0)
6125 if (! tid->cleanup_inprogress) {
6126 ath_tx_tid_pause(sc, tid);
6131 if (! tid->cleanup_inprogress)
6132 ath_tx_tid_resume(sc, tid);
6159 int tid = tap->txa_tid;
6161 struct ath_tid *atid = &an->an_tid[tid];
6166 "%s: %6D: called; txa_tid=%d, atid->tid=%d, status=%d, attempts=%d, txa_start=%d, txa_seqpending=%d\n",
6171 atid->tid,
6192 device_printf(sc->sc_dev, "%s: tid=%d; txa_start=%d, old=%d, adjusting\n",
6194 tid,
6232 int tid = tap->txa_tid;
6234 struct ath_tid *atid = &an->an_tid[tid];
6241 tid);
6284 * 'active tid' list and this requires both locks to be held.
6291 int tid;
6306 for (tid = 0; tid < IEEE80211_TID_SIZE; tid++) {
6307 atid = &an->an_tid[tid];
6328 int tid;
6350 for (tid = 0; tid < IEEE80211_TID_SIZE; tid++) {
6351 atid = &an->an_tid[tid];