Lines Matching refs:tx_info
278 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
283 ret = wfx_tx_policy_get(wvif, tx_info->driver_rates, &tx_policy_renew); in wfx_tx_get_retry_policy_id()
295 static int wfx_tx_get_frame_format(struct ieee80211_tx_info *tx_info) in wfx_tx_get_frame_format() argument
297 if (!(tx_info->driver_rates[0].flags & IEEE80211_TX_RC_MCS)) in wfx_tx_get_frame_format()
299 else if (!(tx_info->driver_rates[0].flags & IEEE80211_TX_RC_GREEN_FIELD)) in wfx_tx_get_frame_format()
322 struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb); in wfx_tx_inner() local
323 struct ieee80211_key_conf *hw_key = tx_info->control.hw_key; in wfx_tx_inner()
330 wfx_tx_fixup_rates(tx_info->driver_rates); in wfx_tx_inner()
333 memset(tx_info->rate_driver_data, 0, sizeof(struct wfx_tx_priv)); in wfx_tx_inner()
335 tx_priv = (struct wfx_tx_priv *)tx_info->rate_driver_data; in wfx_tx_inner()
369 req->retry_policy_index = wfx_tx_get_retry_policy_id(wvif, tx_info); in wfx_tx_inner()
370 req->frame_format = wfx_tx_get_frame_format(tx_info); in wfx_tx_inner()
371 if (tx_info->driver_rates[0].flags & IEEE80211_TX_RC_SHORT_GI) in wfx_tx_inner()
373 if (tx_info->flags & IEEE80211_TX_CTL_SEND_AFTER_DTIM) in wfx_tx_inner()
378 if (tx_info->flags & IEEE80211_TX_CTL_SEND_AFTER_DTIM) in wfx_tx_inner()
389 struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb); in wfx_tx() local
397 if (tx_info->control.vif) in wfx_tx()
398 wvif = (struct wfx_vif *)tx_info->control.vif->drv_priv; in wfx_tx()
435 static void wfx_tx_fill_rates(struct wfx_dev *wdev, struct ieee80211_tx_info *tx_info, in wfx_tx_fill_rates() argument
446 rate = &tx_info->status.rates[i]; in wfx_tx_fill_rates()
474 struct ieee80211_tx_info *tx_info; in wfx_tx_confirm_cb() local
484 tx_info = IEEE80211_SKB_CB(skb); in wfx_tx_confirm_cb()
493 wfx_tx_fill_rates(wdev, tx_info, arg); in wfx_tx_confirm_cb()
498 memset(tx_info->rate_driver_data, 0, sizeof(tx_info->rate_driver_data)); in wfx_tx_confirm_cb()
499 memset(tx_info->pad, 0, sizeof(tx_info->pad)); in wfx_tx_confirm_cb()
502 tx_info->status.tx_time = le32_to_cpu(arg->media_delay) - in wfx_tx_confirm_cb()
504 if (tx_info->flags & IEEE80211_TX_CTL_NO_ACK) in wfx_tx_confirm_cb()
505 tx_info->flags |= IEEE80211_TX_STAT_NOACK_TRANSMITTED; in wfx_tx_confirm_cb()
507 tx_info->flags |= IEEE80211_TX_STAT_ACK; in wfx_tx_confirm_cb()
510 if (tx_info->flags & IEEE80211_TX_CTL_SEND_AFTER_DTIM) { in wfx_tx_confirm_cb()
514 tx_info->flags |= IEEE80211_TX_STAT_TX_FILTERED; in wfx_tx_confirm_cb()