Lines Matching refs:wcid

100 mt76_tx_status_skb_add(struct mt76_dev *dev, struct mt76_wcid *wcid,
107 if (!wcid)
120 wcid->packet_id = (wcid->packet_id + 1) & MT_PACKET_ID_MASK;
121 if (wcid->packet_id == MT_PACKET_ID_NO_ACK ||
122 wcid->packet_id == MT_PACKET_ID_NO_SKB)
123 wcid->packet_id = MT_PACKET_ID_FIRST;
125 pid = wcid->packet_id;
126 cb->wcid = wcid->idx;
138 mt76_tx_status_skb_get(struct mt76_dev *dev, struct mt76_wcid *wcid, int pktid,
146 if (wcid && cb->wcid != wcid->idx)
165 mt76_tx_status_check(struct mt76_dev *dev, struct mt76_wcid *wcid, bool flush)
170 mt76_tx_status_skb_get(dev, wcid, flush ? -1 : 0, &list);
179 struct mt76_wcid *wcid;
185 if (wcid_idx >= ARRAY_SIZE(dev->wcid))
190 wcid = rcu_dereference(dev->wcid[wcid_idx]);
191 if (wcid) {
192 pending = atomic_dec_return(&wcid->non_aql_packets);
194 atomic_cmpxchg(&wcid->non_aql_packets, pending, 0);
229 struct mt76_wcid *wcid, struct ieee80211_sta *sta,
239 idx = dev->queue_ops->tx_queue_skb(dev, qid, skb, wcid, sta);
243 wcid = (struct mt76_wcid *)sta->drv_priv;
245 q->entry[idx].wcid = wcid->idx;
246 pending = atomic_inc_return(&wcid->non_aql_packets);
255 struct mt76_wcid *wcid, struct sk_buff *skb)
281 if (wcid && !(wcid->tx_info & MT_WCID_TX_INFO_SET))
291 __mt76_tx_queue_skb(dev, qid, skb, wcid, sta, NULL);
326 struct mt76_wcid *wcid = (struct mt76_wcid *)sta->drv_priv;
335 __mt76_tx_queue_skb(dev, MT_TXQ_PSD, skb, wcid, sta, NULL);
390 struct mt76_wcid *wcid = mtxq->wcid;
397 if (test_bit(MT_WCID_FLAG_PS, &wcid->flags))
400 if (atomic_read(&wcid->non_aql_packets) >= MT_MAX_NON_AQL_PKT)
408 if (!(wcid->tx_info & MT_WCID_TX_INFO_SET))
412 idx = __mt76_tx_queue_skb(dev, qid, skb, wcid, txq->sta, &stop);
432 if (!(wcid->tx_info & MT_WCID_TX_INFO_SET))
436 idx = __mt76_tx_queue_skb(dev, qid, skb, wcid, txq->sta, &stop);
455 struct mt76_wcid *wcid;
474 wcid = mtxq->wcid;
475 if (wcid && test_bit(MT_WCID_FLAG_PS, &wcid->flags))