Lines Matching refs:ar

45 	struct ath6kl *ar = ath6kl_priv(dev);
57 for (i = 0; i < ar->node_num; i++) {
58 if (memcmp(eth_hdr->h_dest, ar->node_map[i].mac_addr,
61 ar->node_map[i].tx_pend++;
62 return ar->node_map[i].ep_id;
65 if ((ep_map == -1) && !ar->node_map[i].tx_pend)
70 ep_map = ar->node_num;
71 ar->node_num++;
72 if (ar->node_num > MAX_NODE_NUM)
76 memcpy(ar->node_map[ep_map].mac_addr, eth_hdr->h_dest, ETH_ALEN);
79 if (!ar->tx_pending[i]) {
80 ar->node_map[ep_map].ep_id = i;
89 ar->node_map[ep_map].ep_id = ar->next_ep_id;
90 ar->next_ep_id++;
91 if (ar->next_ep_id > ENDPOINT_5)
92 ar->next_ep_id = ENDPOINT_2;
97 ar->node_map[ep_map].tx_pend++;
99 return ar->node_map[ep_map].ep_id;
107 struct ath6kl *ar = vif->ar;
166 ath6kl_wmi_set_apsd_bfrd_traf(ar->wmi,
181 struct ath6kl *ar = vif->ar;
203 ath6kl_wmi_set_pvb_cmd(ar->wmi,
215 struct ath6kl *ar = vif->ar;
222 if (ar->sta_list[ctr].sta_flags & STA_PS_SLEEP) {
236 spin_lock_bh(&ar->mcastpsq_lock);
238 skb_queue_empty(&ar->mcastpsq);
239 skb_queue_tail(&ar->mcastpsq, skb);
240 spin_unlock_bh(&ar->mcastpsq_lock);
248 ath6kl_wmi_set_pvb_cmd(ar->wmi,
258 spin_lock_bh(&ar->mcastpsq_lock);
259 if (!skb_queue_empty(&ar->mcastpsq))
261 spin_unlock_bh(&ar->mcastpsq_lock);
289 struct ath6kl *ar = devt;
295 if (WARN_ON_ONCE(ar->state == ATH6KL_STATE_WOW)) {
306 spin_lock_bh(&ar->lock);
312 if (test_bit(WMI_CTRL_EP_FULL, &ar->flag) && (eid == ar->ctrl_ep)) {
321 cookie = ath6kl_alloc_cookie(ar);
325 spin_unlock_bh(&ar->lock);
330 ar->tx_pending[eid]++;
332 if (eid != ar->ctrl_ep)
333 ar->total_tx_data_pend++;
335 spin_unlock_bh(&ar->lock);
347 ath6kl_htc_tx(ar->htc_target, &cookie->htc_pkt);
358 struct ath6kl *ar = ath6kl_priv(dev);
381 if (WARN_ON_ONCE(ar->state != ATH6KL_STATE_ON))
384 if (!test_bit(WMI_READY, &ar->flag))
393 if (test_bit(WMI_ENABLED, &ar->flag)) {
408 if (ath6kl_wmi_dix_2_dot3(ar->wmi, skb)) {
427 ret = ath6kl_wmi_data_hdr_add(ar->wmi, skb,
439 ar->ibss_ps_enable && test_bit(CONNECTED, &vif->flags))
443 ret = ath6kl_wmi_implicit_create_pstream(ar->wmi,
453 spin_lock_bh(&ar->lock);
458 eid = ar->ac2ep_map[ac];
462 spin_unlock_bh(&ar->lock);
467 cookie = ath6kl_alloc_cookie(ar);
470 spin_unlock_bh(&ar->lock);
475 ar->tx_pending[eid]++;
476 ar->total_tx_data_pend++;
478 spin_unlock_bh(&ar->lock);
511 ath6kl_htc_tx(ar->htc_target, &cookie->htc_pkt);
527 struct ath6kl *ar = devt;
531 eid = ar->ac2ep_map[traffic_class];
533 if (!test_bit(WMI_ENABLED, &ar->flag))
536 spin_lock_bh(&ar->lock);
538 ar->ac_stream_active[traffic_class] = active;
545 if (ar->ac_stream_pri_map[traffic_class] >
546 ar->hiac_stream_active_pri)
548 ar->hiac_stream_active_pri =
549 ar->ac_stream_pri_map[traffic_class];
556 if (ar->hiac_stream_active_pri ==
557 ar->ac_stream_pri_map[traffic_class]) {
563 ar->hiac_stream_active_pri = 0;
566 if (ar->ac_stream_active[i] &&
567 (ar->ac_stream_pri_map[i] >
568 ar->hiac_stream_active_pri))
573 ar->hiac_stream_active_pri =
574 ar->ac_stream_pri_map[i];
579 spin_unlock_bh(&ar->lock);
583 ath6kl_htc_activity_changed(ar->htc_target, eid, active);
589 struct ath6kl *ar = target->dev->ar;
594 if (endpoint == ar->ctrl_ep) {
601 set_bit(WMI_CTRL_EP_FULL, &ar->flag);
603 ath6kl_recovery_err_notify(ar, ATH6KL_FW_EP_FULL);
614 if (ar->ac_stream_pri_map[ar->ep2ac_map[endpoint]] <
615 ar->hiac_stream_active_pri &&
616 ar->cookie_count <=
625 spin_lock_bh(&ar->list_lock);
626 list_for_each_entry(vif, &ar->vif_list, list) {
629 spin_unlock_bh(&ar->list_lock);
637 spin_unlock_bh(&ar->list_lock);
646 struct ath6kl *ar = vif->ar;
652 if (!ar->ibss_ps_enable)
655 if (eid == ar->ctrl_ep)
662 ar->node_map[map_no].tx_pend--;
664 if (ar->node_map[map_no].tx_pend)
667 if (map_no != (ar->node_num - 1))
670 for (i = ar->node_num; i > 0; i--) {
671 if (ar->node_map[i - 1].tx_pend)
674 memset(&ar->node_map[i - 1], 0,
676 ar->node_num--;
683 struct ath6kl *ar = target->dev->ar;
699 spin_lock_bh(&ar->lock);
722 ath6kl_free_cookie(ar, ath6kl_cookie);
729 ath6kl_free_cookie(ar, ath6kl_cookie);
733 ar->tx_pending[eid]--;
735 if (eid != ar->ctrl_ep)
736 ar->total_tx_data_pend--;
738 if (eid == ar->ctrl_ep) {
739 if (test_bit(WMI_CTRL_EP_FULL, &ar->flag))
740 clear_bit(WMI_CTRL_EP_FULL, &ar->flag);
742 if (ar->tx_pending[eid] == 0)
746 if (eid == ar->ctrl_ep) {
754 vif = ath6kl_get_vif_by_index(ar, if_idx);
756 ath6kl_free_cookie(ar, ath6kl_cookie);
787 ath6kl_free_cookie(ar, ath6kl_cookie);
793 spin_unlock_bh(&ar->lock);
798 spin_lock_bh(&ar->list_lock);
799 list_for_each_entry(vif, &ar->vif_list, list) {
802 spin_unlock_bh(&ar->list_lock);
804 spin_lock_bh(&ar->list_lock);
807 spin_unlock_bh(&ar->list_lock);
810 wake_up(&ar->event_wq);
815 void ath6kl_tx_data_cleanup(struct ath6kl *ar)
821 ath6kl_htc_flush_txep(ar->htc_target, ar->ac2ep_map[i],
876 struct ath6kl *ar = target->dev->ar;
884 ath6kl_htc_get_rxbuf_num(ar->htc_target, endpoint);
913 ath6kl_htc_add_rxbuf_multiple(ar->htc_target, &queue);
916 void ath6kl_refill_amsdu_rxbufs(struct ath6kl *ar, int count)
936 spin_lock_bh(&ar->lock);
937 list_add_tail(&packet->list, &ar->amsdu_rx_buffer_queue);
938 spin_unlock_bh(&ar->lock);
951 struct ath6kl *ar = target->dev->ar;
963 spin_lock_bh(&ar->lock);
965 if (list_empty(&ar->amsdu_rx_buffer_queue)) {
966 spin_unlock_bh(&ar->lock);
971 packet = list_first_entry(&ar->amsdu_rx_buffer_queue,
974 list_for_each(pkt_pos, &ar->amsdu_rx_buffer_queue)
978 spin_unlock_bh(&ar->lock);
985 ath6kl_refill_amsdu_rxbufs(ar, refill_cnt);
1235 struct ath6kl *ar = vif->ar;
1293 ath6kl_wmi_set_apsd_bfrd_traf(ar->wmi,
1303 struct ath6kl *ar = target->dev->ar;
1323 "%s: ar=0x%p eid=%d, skb=0x%p, data=0x%p, len=0x%x status:%d",
1324 __func__, ar, ept, skb, packet->buf,
1338 if (ept == ar->ctrl_ep) {
1339 if (test_bit(WMI_ENABLED, &ar->flag)) {
1340 ath6kl_check_wow_status(ar);
1341 ath6kl_wmi_control_rx(ar->wmi, skb);
1351 vif = ath6kl_get_vif_by_index(ar, if_idx);
1370 if (!test_bit(WMI_ENABLED, &ar->flag)) {
1377 ath6kl_check_wow_status(ar);
1472 ath6kl_wmi_send_mgmt_cmd(ar->wmi,
1501 ar->wmi,
1506 ath6kl_wmi_set_pvb_cmd(ar->wmi, vif->fw_vif_idx,
1547 status = ath6kl_wmi_dot11_hdr_remove(ar->wmi, skb);
1582 if (conn && ar->intra_bss) {
1585 } else if (conn && !ar->intra_bss) {
1709 sta = ath6kl_find_sta_by_aid(vif->ar, aid);
1802 sta = ath6kl_find_sta_by_aid(vif->ar, aid);
1839 void ath6kl_cleanup_amsdu_rxbufs(struct ath6kl *ar)
1843 spin_lock_bh(&ar->lock);
1844 if (list_empty(&ar->amsdu_rx_buffer_queue)) {
1845 spin_unlock_bh(&ar->lock);
1849 list_for_each_entry_safe(packet, tmp_pkt, &ar->amsdu_rx_buffer_queue,
1852 spin_unlock_bh(&ar->lock);
1854 spin_lock_bh(&ar->lock);
1857 spin_unlock_bh(&ar->lock);