Lines Matching defs:ar

14 static void ath10k_report_offchan_tx(struct ath10k *ar, struct sk_buff *skb)
21 if (ath10k_mac_tx_frm_has_freq(ar))
29 spin_lock_bh(&ar->data_lock);
30 if (ar->offchan_tx_skb != skb) {
31 ath10k_warn(ar, "completed old offchannel frame\n");
35 complete(&ar->offchan_tx_completed);
36 ar->offchan_tx_skb = NULL; /* just for sanity */
38 ath10k_dbg(ar, ATH10K_DBG_HTT, "completed offchannel skb %pK\n", skb);
40 spin_unlock_bh(&ar->data_lock);
47 struct ath10k *ar = htt->ar;
48 struct device *dev = ar->dev;
56 ath10k_dbg(ar, ATH10K_DBG_HTT,
61 ath10k_warn(ar, "warning: msdu_id %d too big, ignoring\n",
69 ath10k_warn(ar, "received tx completion for invalid msdu_id: %d\n",
94 if (ar->bus_param.dev_type != ATH10K_DEV_TYPE_HL)
97 ath10k_report_offchan_tx(htt->ar, msdu);
103 trace_ath10k_txrx_tx_unref(ar, tx_done->msdu_id);
141 ieee80211_tx_status_ext(htt->ar->hw, &status);
150 struct ath10k_peer *ath10k_peer_find(struct ath10k *ar, int vdev_id,
155 lockdep_assert_held(&ar->data_lock);
157 list_for_each_entry(peer, &ar->peers, list) {
169 struct ath10k_peer *ath10k_peer_find_by_id(struct ath10k *ar, int peer_id)
176 lockdep_assert_held(&ar->data_lock);
178 list_for_each_entry(peer, &ar->peers, list)
185 static int ath10k_wait_for_peer_common(struct ath10k *ar, int vdev_id,
190 time_left = wait_event_timeout(ar->peer_mapping_wq, ({
193 spin_lock_bh(&ar->data_lock);
194 mapped = !!ath10k_peer_find(ar, vdev_id, addr);
195 spin_unlock_bh(&ar->data_lock);
198 test_bit(ATH10K_FLAG_CRASH_FLUSH, &ar->dev_flags));
207 int ath10k_wait_for_peer_created(struct ath10k *ar, int vdev_id, const u8 *addr)
209 return ath10k_wait_for_peer_common(ar, vdev_id, addr, true);
212 int ath10k_wait_for_peer_deleted(struct ath10k *ar, int vdev_id, const u8 *addr)
214 return ath10k_wait_for_peer_common(ar, vdev_id, addr, false);
220 struct ath10k *ar = htt->ar;
224 ath10k_warn(ar,
230 spin_lock_bh(&ar->data_lock);
231 peer = ath10k_peer_find(ar, ev->vdev_id, ev->addr);
239 list_add(&peer->list, &ar->peers);
240 wake_up(&ar->peer_mapping_wq);
243 ath10k_dbg(ar, ATH10K_DBG_HTT, "htt peer map vdev %d peer %pM id %d\n",
246 WARN_ON(ar->peer_map[ev->peer_id] && (ar->peer_map[ev->peer_id] != peer));
247 ar->peer_map[ev->peer_id] = peer;
250 spin_unlock_bh(&ar->data_lock);
256 struct ath10k *ar = htt->ar;
260 ath10k_warn(ar,
266 spin_lock_bh(&ar->data_lock);
267 peer = ath10k_peer_find_by_id(ar, ev->peer_id);
269 ath10k_warn(ar, "peer-unmap-event: unknown peer id %d\n",
274 ath10k_dbg(ar, ATH10K_DBG_HTT, "htt peer unmap vdev %d peer %pM id %d\n",
277 ar->peer_map[ev->peer_id] = NULL;
283 wake_up(&ar->peer_mapping_wq);
287 spin_unlock_bh(&ar->data_lock);