Lines Matching refs:tx_info

213 	struct ieee80211_tx_info *tx_info;
217 tx_info = IEEE80211_SKB_CB(skb);
218 return (struct wfx_tx_priv *)tx_info->rate_driver_data;
295 static u8 wfx_tx_get_retry_policy_id(struct wfx_vif *wvif, struct ieee80211_tx_info *tx_info)
300 ret = wfx_tx_policy_get(wvif, tx_info->driver_rates, &tx_policy_renew);
312 static int wfx_tx_get_frame_format(struct ieee80211_tx_info *tx_info)
314 if (!(tx_info->driver_rates[0].flags & IEEE80211_TX_RC_MCS))
316 else if (!(tx_info->driver_rates[0].flags & IEEE80211_TX_RC_GREEN_FIELD))
339 struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb);
340 struct ieee80211_key_conf *hw_key = tx_info->control.hw_key;
347 wfx_tx_fixup_rates(tx_info->driver_rates);
349 /* From now tx_info->control is unusable */
350 memset(tx_info->rate_driver_data, 0, sizeof(struct wfx_tx_priv));
352 tx_priv = (struct wfx_tx_priv *)tx_info->rate_driver_data;
365 if (tx_info->flags & IEEE80211_TX_CTL_TX_OFFCHAN)
389 if (tx_info->flags & IEEE80211_TX_CTL_TX_OFFCHAN) {
395 req->retry_policy_index = wfx_tx_get_retry_policy_id(wvif, tx_info);
396 req->frame_format = wfx_tx_get_frame_format(tx_info);
398 if (tx_info->driver_rates[0].flags & IEEE80211_TX_RC_SHORT_GI)
400 if (tx_info->flags & IEEE80211_TX_CTL_SEND_AFTER_DTIM)
405 if (tx_info->flags & IEEE80211_TX_CTL_SEND_AFTER_DTIM)
416 struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb);
424 if (tx_info->control.vif)
425 wvif = (struct wfx_vif *)tx_info->control.vif->drv_priv;
462 static void wfx_tx_fill_rates(struct wfx_dev *wdev, struct ieee80211_tx_info *tx_info,
473 rate = &tx_info->status.rates[i];
482 dev_dbg(wdev->dev, "inconsistent tx_info rates: %d != %d\n",
501 struct ieee80211_tx_info *tx_info;
511 tx_info = IEEE80211_SKB_CB(skb);
518 /* Note that wfx_pending_get_pkt_us_delay() get data from tx_info */
520 wfx_tx_fill_rates(wdev, tx_info, arg);
523 /* From now, you can touch to tx_info->status, but do not touch to tx_priv anymore */
525 memset(tx_info->rate_driver_data, 0, sizeof(tx_info->rate_driver_data));
526 memset(tx_info->pad, 0, sizeof(tx_info->pad));
529 tx_info->status.tx_time = le32_to_cpu(arg->media_delay) -
531 if (tx_info->flags & IEEE80211_TX_CTL_NO_ACK)
532 tx_info->flags |= IEEE80211_TX_STAT_NOACK_TRANSMITTED;
534 tx_info->flags |= IEEE80211_TX_STAT_ACK;
537 if (tx_info->flags & IEEE80211_TX_CTL_SEND_AFTER_DTIM) {
541 tx_info->flags |= IEEE80211_TX_STAT_TX_FILTERED;