Lines Matching refs:an
121 static int ath_tx_node_is_asleep(struct ath_softc *sc, struct ath_node *an);
123 static int ath_tx_ampdu_pending(struct ath_softc *sc, struct ath_node *an,
125 static int ath_tx_ampdu_running(struct ath_softc *sc, struct ath_node *an,
132 ath_tx_retry_clone(struct ath_softc *sc, struct ath_node *an,
1419 struct ath_node *an = ATH_NODE(bf->bf_node); in ath_tx_update_clrdmask() local
1423 if (an->clrdmask == 1) { in ath_tx_update_clrdmask()
1425 an->clrdmask = 0; in ath_tx_update_clrdmask()
1442 ath_tx_should_swq_frame(struct ath_softc *sc, struct ath_node *an, in ath_tx_should_swq_frame() argument
1445 struct ieee80211_node *ni = &an->an_node; in ath_tx_should_swq_frame()
1506 struct ath_node *an = ATH_NODE(bf->bf_node); in ath_tx_xmit_normal() local
1507 struct ath_tid *tid = &an->an_tid[bf->bf_state.bfs_tid]; in ath_tx_xmit_normal()
1567 struct ath_node *an; in ath_tx_normal_setup() local
1634 an = ATH_NODE(ni); in ath_tx_normal_setup()
1656 rix = an->an_mgmtrix; in ath_tx_normal_setup()
1665 rix = an->an_mgmtrix; in ath_tx_normal_setup()
1680 rix = an->an_mcastrix; in ath_tx_normal_setup()
1687 rix = an->an_mgmtrix; in ath_tx_normal_setup()
2156 struct ath_node *an = ATH_NODE(ni); in ath_tx_raw_start() local
2253 rix = an->an_mgmtrix; in ath_tx_raw_start()
2655 ath_tx_addto_baw(struct ath_softc *sc, struct ath_node *an, in ath_tx_addto_baw() argument
2666 tap = ath_tx_get_tx_tid(an, tid->tid); in ath_tx_addto_baw()
2746 ath_tx_switch_baw_buf(struct ath_softc *sc, struct ath_node *an, in ath_tx_switch_baw_buf() argument
2755 tap = ath_tx_get_tx_tid(an, tid->tid); in ath_tx_switch_baw_buf()
2793 ath_tx_update_baw(struct ath_softc *sc, struct ath_node *an, in ath_tx_update_baw() argument
2802 tap = ath_tx_get_tx_tid(an, tid->tid); in ath_tx_update_baw()
2851 if (tid->an->an_leak_count > 0) { in ath_tx_leak_count_update()
2857 if ((tid->an->an_stack_psq > 0) in ath_tx_leak_count_update()
2858 || (tid->an->an_swq_depth > 0)) in ath_tx_leak_count_update()
2866 tid->an->an_node.ni_macaddr, in ath_tx_leak_count_update()
2868 tid->an->an_leak_count, in ath_tx_leak_count_update()
2869 tid->an->an_stack_psq, in ath_tx_leak_count_update()
2870 tid->an->an_swq_depth, in ath_tx_leak_count_update()
2879 tid->an->an_leak_count --; in ath_tx_leak_count_update()
2889 if (tid->an->an_leak_count > 0) { in ath_tx_tid_can_tx_or_sched()
2930 if (tid->an->an_leak_count) { in ath_tx_tid_sched()
3046 ath_tx_xmit_aggr(struct ath_softc *sc, struct ath_node *an, in ath_tx_xmit_aggr() argument
3049 struct ath_tid *tid = &an->an_tid[bf->bf_state.bfs_tid]; in ath_tx_xmit_aggr()
3054 tap = ath_tx_get_tx_tid(an, tid->tid); in ath_tx_xmit_aggr()
3110 ath_tx_addto_baw(sc, an, tid, bf); in ath_tx_xmit_aggr()
3138 struct ath_node *an = ATH_NODE(ni); in ath_tx_swq() local
3150 atid = &an->an_tid[tid]; in ath_tx_swq()
3181 } else if (ath_tx_ampdu_pending(sc, an, tid)) { in ath_tx_swq()
3186 } else if (ath_tx_ampdu_running(sc, an, tid)) { in ath_tx_swq()
3233 ath_tx_xmit_aggr(sc, an, txq, bf); in ath_tx_swq()
3294 ath_tx_set_clrdmask(struct ath_softc *sc, struct ath_node *an) in ath_tx_set_clrdmask() argument
3301 if (an->an_tid[i].isfiltered == 1) in ath_tx_set_clrdmask()
3304 an->clrdmask = 1; in ath_tx_set_clrdmask()
3316 ath_tx_tid_init(struct ath_softc *sc, struct ath_node *an) in ath_tx_tid_init() argument
3322 atid = &an->an_tid[i]; in ath_tx_tid_init()
3330 atid->an = an; in ath_tx_tid_init()
3343 an->clrdmask = 1; /* Always start by setting this bit */ in ath_tx_tid_init()
3361 tid->an->an_node.ni_macaddr, ":", in ath_tx_tid_pause()
3383 tid->an->an_node.ni_macaddr, ":", in ath_tx_tid_resume()
3392 tid->an->an_node.ni_macaddr, ":", in ath_tx_tid_resume()
3403 ath_tx_set_clrdmask(sc, tid->an); in ath_tx_tid_resume()
3496 ath_tx_set_clrdmask(sc, tid->an); in ath_tx_tid_filt_comp_complete()
3548 nbf = ath_tx_retry_clone(sc, tid->an, tid, bf); in ath_tx_tid_filt_comp_single()
3600 nbf = ath_tx_retry_clone(sc, tid->an, tid, bf); in ath_tx_tid_filt_comp_aggr()
3673 tid->an->an_node.ni_macaddr, in ath_tx_tid_bar_unsuspend()
3680 __func__, tid->an->an_node.ni_macaddr, ":", in ath_tx_tid_bar_unsuspend()
3705 tid->an->an_node.ni_macaddr, in ath_tx_tid_bar_tx_ready()
3734 tid->an->an_node.ni_macaddr, in ath_tx_tid_bar_tx()
3738 tap = ath_tx_get_tx_tid(tid->an, tid->tid); in ath_tx_tid_bar_tx()
3746 __func__, tid->an->an_node.ni_macaddr, ":", in ath_tx_tid_bar_tx()
3756 tid->an->an_node.ni_macaddr, in ath_tx_tid_bar_tx()
3770 ath_tx_set_clrdmask(sc, tid->an); in ath_tx_tid_bar_tx()
3781 tid->an->an_node.ni_macaddr, in ath_tx_tid_bar_tx()
3790 if (ieee80211_send_bar(&tid->an->an_node, tap, tap->txa_start) == 0) { in ath_tx_tid_bar_tx()
3800 __func__, tid->an->an_node.ni_macaddr, ":", in ath_tx_tid_bar_tx()
3806 ath_tx_tid_drain_pkt(struct ath_softc *sc, struct ath_node *an, in ath_tx_tid_drain_pkt() argument
3816 if (ath_tx_ampdu_running(sc, an, tid->tid) && in ath_tx_tid_drain_pkt()
3824 ath_tx_update_baw(sc, an, tid, bf); in ath_tx_tid_drain_pkt()
3846 ath_tx_tid_drain_print(struct ath_softc *sc, struct ath_node *an, in ath_tx_tid_drain_print() argument
3849 struct ieee80211_node *ni = &an->an_node; in ath_tx_tid_drain_print()
3854 tap = ath_tx_get_tx_tid(an, tid->tid); in ath_tx_tid_drain_print()
3928 ath_tx_tid_drain(struct ath_softc *sc, struct ath_node *an, in ath_tx_tid_drain() argument
3933 struct ieee80211_node *ni = &an->an_node; in ath_tx_tid_drain()
3936 tap = ath_tx_get_tx_tid(an, tid->tid); in ath_tx_tid_drain()
3949 ath_tx_tid_drain_print(sc, an, "norm", tid, bf); in ath_tx_tid_drain()
3954 ath_tx_tid_drain_pkt(sc, an, tid, bf_cq, bf); in ath_tx_tid_drain()
3965 ath_tx_tid_drain_print(sc, an, "filt", tid, bf); in ath_tx_tid_drain()
3970 ath_tx_tid_drain_pkt(sc, an, tid, bf_cq, bf); in ath_tx_tid_drain()
3980 ath_tx_set_clrdmask(sc, tid->an); in ath_tx_tid_drain()
4003 an, in ath_tx_tid_drain()
4087 ath_tx_node_flush(struct ath_softc *sc, struct ath_node *an) in ath_tx_node_flush() argument
4096 &an->an_node); in ath_tx_node_flush()
4103 an->an_node.ni_macaddr, in ath_tx_node_flush()
4105 an->an_is_powersave, in ath_tx_node_flush()
4106 an->an_stack_psq, in ath_tx_node_flush()
4107 an->an_tim_set, in ath_tx_node_flush()
4108 an->an_swq_depth, in ath_tx_node_flush()
4109 an->clrdmask, in ath_tx_node_flush()
4110 an->an_leak_count); in ath_tx_node_flush()
4113 struct ath_tid *atid = &an->an_tid[tid]; in ath_tx_node_flush()
4116 ath_tx_tid_drain(sc, an, atid, &bf_cq); in ath_tx_node_flush()
4128 an->an_leak_count = 0; in ath_tx_node_flush()
4157 ath_tx_tid_drain(sc, tid->an, tid, &bf_cq); in ath_tx_txq_drain()
4189 struct ath_node *an = ATH_NODE(ni); in ath_tx_normal_comp() local
4191 struct ath_tid *atid = &an->an_tid[tid]; in ath_tx_normal_comp()
4276 struct ath_node *an = ATH_NODE(ni); in ath_tx_comp_cleanup_unaggr() local
4278 struct ath_tid *atid = &an->an_tid[tid]; in ath_tx_comp_cleanup_unaggr()
4288 ath_tx_update_baw(sc, an, atid, bf); in ath_tx_comp_cleanup_unaggr()
4313 ath_tx_tid_cleanup_frame(struct ath_softc *sc, struct ath_node *an, in ath_tx_tid_cleanup_frame() argument
4316 struct ath_tid *atid = &an->an_tid[tid]; in ath_tx_tid_cleanup_frame()
4342 ath_tx_update_baw(sc, an, atid, bf); in ath_tx_tid_cleanup_frame()
4378 ath_tx_tid_cleanup(struct ath_softc *sc, struct ath_node *an, int tid, in ath_tx_tid_cleanup() argument
4381 struct ath_tid *atid = &an->an_tid[tid]; in ath_tx_tid_cleanup()
4418 ath_tx_tid_cleanup_frame(sc, an, tid, bf, bf_cq); in ath_tx_tid_cleanup()
4449 ath_tx_retry_clone(struct ath_softc *sc, struct ath_node *an, in ath_tx_retry_clone() argument
4496 ath_tx_switch_baw_buf(sc, an, tid, bf, nbf); in ath_tx_retry_clone()
4518 struct ath_node *an = ATH_NODE(ni); in ath_tx_aggr_retry_unaggr() local
4520 struct ath_tid *atid = &an->an_tid[tid]; in ath_tx_aggr_retry_unaggr()
4525 tap = ath_tx_get_tx_tid(an, tid); in ath_tx_aggr_retry_unaggr()
4538 nbf = ath_tx_retry_clone(sc, an, atid, bf); in ath_tx_aggr_retry_unaggr()
4554 ath_tx_update_baw(sc, an, atid, bf); in ath_tx_aggr_retry_unaggr()
4609 struct ath_node *an = ATH_NODE(ni); in ath_tx_retry_subframe() local
4611 struct ath_tid *atid = &an->an_tid[tid]; in ath_tx_retry_subframe()
4632 nbf = ath_tx_retry_clone(sc, an, atid, bf); in ath_tx_retry_subframe()
4645 ath_tx_update_baw(sc, an, atid, bf); in ath_tx_retry_subframe()
4675 struct ath_node *an = ATH_NODE(ni); in ath_tx_comp_aggr_error() local
4695 tap = ath_tx_get_tx_tid(an, tid->tid); in ath_tx_comp_aggr_error()
4761 struct ath_node *an = ATH_NODE(ni); in ath_tx_comp_cleanup_aggr() local
4763 struct ath_tid *atid = &an->an_tid[tid]; in ath_tx_comp_cleanup_aggr()
4775 ath_tx_update_baw(sc, an, atid, bf); in ath_tx_comp_cleanup_aggr()
4825 struct ath_node *an = ATH_NODE(ni); local
4827 struct ath_tid *atid = &an->an_tid[tid];
4909 ath_tx_update_baw(sc, an, atid, bf);
4954 tap = ath_tx_get_tx_tid(an, tid);
5054 ath_tx_update_baw(sc, an, atid, bf);
5166 struct ath_node *an = ATH_NODE(ni); local
5168 struct ath_tid *atid = &an->an_tid[tid];
5267 ath_tx_update_baw(sc, an, atid, bf);
5318 ath_tx_update_baw(sc, an, atid, bf);
5369 ath_tx_tid_swq_depth_bytes(struct ath_softc *sc, struct ath_node *an, argument
5378 tap = ath_tx_get_tx_tid(an, tid->tid);
5411 if (an->an_leak_count) {
5425 ath_tx_tid_hw_queue_aggr(struct ath_softc *sc, struct ath_node *an, argument
5443 tap = ath_tx_get_tx_tid(an, tid->tid);
5519 swq_pktbytes = ath_tx_tid_swq_depth_bytes(sc, an, tid);
5533 status = ath_tx_form_aggr(sc, an, tid, &bf_q);
5656 ath_tx_tid_hw_queue_norm(struct ath_softc *sc, struct ath_node *an, argument
5663 __func__, an, tid->tid);
5668 if (ath_tx_ampdu_pending(sc, an, tid->tid))
5671 if (ath_tx_ampdu_running(sc, an, tid->tid))
5810 if (ath_tx_ampdu_running(sc, tid->an, tid->tid))
5811 ath_tx_tid_hw_queue_aggr(sc, tid->an, tid);
5813 ath_tx_tid_hw_queue_norm(sc, tid->an, tid);
5855 ath_tx_get_tx_tid(struct ath_node *an, int tid) argument
5857 struct ieee80211_node *ni = &an->an_node;
5871 ath_tx_ampdu_running(struct ath_softc *sc, struct ath_node *an, int tid) argument
5878 tap = ath_tx_get_tx_tid(an, tid);
5889 ath_tx_ampdu_pending(struct ath_softc *sc, struct ath_node *an, int tid) argument
5896 tap = ath_tx_get_tx_tid(an, tid);
5921 struct ath_node *an = ATH_NODE(ni); local
5922 struct ath_tid *atid = &an->an_tid[tid];
5999 struct ath_node *an = ATH_NODE(ni); local
6000 struct ath_tid *atid = &an->an_tid[tid];
6045 struct ath_node *an = ATH_NODE(ni); local
6046 struct ath_tid *atid = &an->an_tid[tid];
6095 ath_tx_tid_cleanup(sc, an, tid, &bf_cq);
6119 ath_tx_node_reassoc(struct ath_softc *sc, struct ath_node *an) argument
6132 tid = &an->an_tid[i];
6138 an->an_node.ni_macaddr,
6147 ath_tx_tid_cleanup(sc, an, i, &bf_cq);
6180 struct ath_node *an = ATH_NODE(ni); local
6181 struct ath_tid *atid = &an->an_tid[tid];
6253 struct ath_node *an = ATH_NODE(ni); local
6254 struct ath_tid *atid = &an->an_tid[tid];
6280 ath_tx_node_is_asleep(struct ath_softc *sc, struct ath_node *an) argument
6285 return (an->an_is_powersave);
6307 ath_tx_node_sleep(struct ath_softc *sc, struct ath_node *an) argument
6318 if (an->an_is_powersave) {
6321 __func__, an->an_node.ni_macaddr, ":");
6327 atid = &an->an_tid[tid];
6334 an->an_is_powersave = 1;
6344 ath_tx_node_wakeup(struct ath_softc *sc, struct ath_node *an) argument
6355 if (an->an_is_powersave == 0) {
6359 __func__, an);
6364 an->an_is_powersave = 0;
6368 an->an_leak_count = 0;
6371 atid = &an->an_tid[tid];