Lines Matching refs:tx_info
265 static u8 wfx_tx_get_retry_policy_id(struct wfx_vif *wvif, struct ieee80211_tx_info *tx_info) in wfx_tx_get_retry_policy_id() argument
270 ret = wfx_tx_policy_get(wvif, tx_info->driver_rates, &tx_policy_renew); in wfx_tx_get_retry_policy_id()
282 static int wfx_tx_get_frame_format(struct ieee80211_tx_info *tx_info) in wfx_tx_get_frame_format() argument
284 if (!(tx_info->driver_rates[0].flags & IEEE80211_TX_RC_MCS)) in wfx_tx_get_frame_format()
286 else if (!(tx_info->driver_rates[0].flags & IEEE80211_TX_RC_GREEN_FIELD)) in wfx_tx_get_frame_format()
309 struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb); in wfx_tx_inner() local
310 struct ieee80211_key_conf *hw_key = tx_info->control.hw_key; in wfx_tx_inner()
317 wfx_tx_fixup_rates(tx_info->driver_rates); in wfx_tx_inner()
320 memset(tx_info->rate_driver_data, 0, sizeof(struct wfx_tx_priv)); in wfx_tx_inner()
322 tx_priv = (struct wfx_tx_priv *)tx_info->rate_driver_data; in wfx_tx_inner()
356 req->retry_policy_index = wfx_tx_get_retry_policy_id(wvif, tx_info); in wfx_tx_inner()
357 req->frame_format = wfx_tx_get_frame_format(tx_info); in wfx_tx_inner()
358 if (tx_info->driver_rates[0].flags & IEEE80211_TX_RC_SHORT_GI) in wfx_tx_inner()
360 if (tx_info->flags & IEEE80211_TX_CTL_SEND_AFTER_DTIM) in wfx_tx_inner()
365 if (tx_info->flags & IEEE80211_TX_CTL_SEND_AFTER_DTIM) in wfx_tx_inner()
376 struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb); in wfx_tx() local
384 if (tx_info->control.vif) in wfx_tx()
385 wvif = (struct wfx_vif *)tx_info->control.vif->drv_priv; in wfx_tx()
422 static void wfx_tx_fill_rates(struct wfx_dev *wdev, struct ieee80211_tx_info *tx_info, in wfx_tx_fill_rates() argument
433 rate = &tx_info->status.rates[i]; in wfx_tx_fill_rates()
461 struct ieee80211_tx_info *tx_info; in wfx_tx_confirm_cb() local
471 tx_info = IEEE80211_SKB_CB(skb); in wfx_tx_confirm_cb()
480 wfx_tx_fill_rates(wdev, tx_info, arg); in wfx_tx_confirm_cb()
485 memset(tx_info->rate_driver_data, 0, sizeof(tx_info->rate_driver_data)); in wfx_tx_confirm_cb()
486 memset(tx_info->pad, 0, sizeof(tx_info->pad)); in wfx_tx_confirm_cb()
489 tx_info->status.tx_time = le32_to_cpu(arg->media_delay) - in wfx_tx_confirm_cb()
491 if (tx_info->flags & IEEE80211_TX_CTL_NO_ACK) in wfx_tx_confirm_cb()
492 tx_info->flags |= IEEE80211_TX_STAT_NOACK_TRANSMITTED; in wfx_tx_confirm_cb()
494 tx_info->flags |= IEEE80211_TX_STAT_ACK; in wfx_tx_confirm_cb()
497 if (tx_info->flags & IEEE80211_TX_CTL_SEND_AFTER_DTIM) { in wfx_tx_confirm_cb()
501 tx_info->flags |= IEEE80211_TX_STAT_TX_FILTERED; in wfx_tx_confirm_cb()