Lines Matching defs:wil

82 void wil_rx_reorder(struct wil6210_priv *wil, struct sk_buff *skb)
94 wil->txrx_ops.get_reorder_params(wil, skb, &tid, &cid, &mid, &seq,
96 sta = &wil->sta[cid];
98 wil_dbg_txrx(wil, "MID %d CID %d TID %d Seq 0x%03x mcast %01x\n",
101 vif = wil->vifs[mid];
103 wil_dbg_txrx(wil, "invalid VIF, mid %d\n", mid);
120 wil_dbg_txrx(wil, "Rx drop: dup mcast seq 0x%03x\n",
145 wil_err(wil,
152 wil_err(wil,
164 wil_dbg_txrx(wil, "Rx drop: old seq 0x%03x head 0x%03x\n",
187 wil_dbg_txrx(wil, "Rx drop: dup seq 0x%03x\n", seq);
214 void wil_rx_bar(struct wil6210_priv *wil, struct wil6210_vif *vif,
217 struct wil_sta_info *sta = &wil->sta[cid];
225 wil_err(wil, "BAR for non-existing CID %d TID %d\n", cid, tid);
229 wil_err(wil, "BAR Seq 0x%03x preceding head 0x%03x\n",
233 wil_dbg_txrx(wil, "BAR: CID %d MID %d TID %d Seq 0x%03x head 0x%03x\n",
241 struct wil_tid_ampdu_rx *wil_tid_ampdu_rx_alloc(struct wil6210_priv *wil,
265 void wil_tid_ampdu_rx_free(struct wil6210_priv *wil,
286 static u16 wil_agg_size(struct wil6210_priv *wil, u16 req_agg_wsize)
288 u16 max_agg_size = min_t(u16, wil->max_agg_wsize, wil->max_ampdu_size /
298 int wil_addba_rx_request(struct wil6210_priv *wil, u8 mid, u8 cid, u8 tid,
314 bool agg_amsdu = wil->use_enhanced_dma_hw &&
315 wil->use_rx_hw_reordering &&
316 test_bit(WMI_FW_CAPABILITY_AMSDU, wil->fw_capabilities) &&
317 wil->amsdu_en && (param_set & BIT(0));
326 if (cid >= wil->max_assoc_sta) {
327 wil_err(wil, "BACK: invalid CID %d\n", cid);
332 sta = &wil->sta[cid];
334 wil_err(wil, "BACK: CID %d not connected\n", cid);
339 wil_dbg_wmi(wil,
346 wil_dbg_misc(wil, "Suggest BACK wsize %d\n",
347 wil->max_agg_wsize);
348 agg_wsize = wil->max_agg_wsize;
350 agg_wsize = min_t(u16, wil->max_agg_wsize, req_agg_wsize);
353 rc = wil->txrx_ops.wmi_addba_rx_resp(wil, mid, cid, tid, dialog_token,
357 wil_err(wil, "do not apply ba, rc(%d)\n", rc);
362 if (!wil->use_rx_hw_reordering) {
363 r = wil_tid_ampdu_rx_alloc(wil, agg_wsize, ssn);
365 wil_tid_ampdu_rx_free(wil, sta->tid_rx[tid]);
375 int wil_addba_tx_request(struct wil6210_priv *wil, u8 ringid, u16 wsize)
377 u8 agg_wsize = wil_agg_size(wil, wsize);
379 struct wil_ring_tx_data *txdata = &wil->ring_tx_data[ringid];
383 wil_dbg_misc(wil, "ADDBA for vring[%d] already in progress\n",
388 wil_dbg_misc(wil,
394 rc = wmi_addba(wil, txdata->mid, ringid, agg_wsize, agg_timeout);
396 wil_err(wil, "wmi_addba failed, rc (%d)", rc);