diff options
author | Michal Kazior <michal.kazior@tieto.com> | 2016-03-06 16:14:25 +0200 |
---|---|---|
committer | Kalle Valo <kvalo@qca.qualcomm.com> | 2016-03-06 16:14:25 +0200 |
commit | 6421969f248fdf9d8cd38353a617ed7cc5ddab94 (patch) | |
tree | a9bd97b680fb3b45df32bd7f1c2f4a127e8139c4 /drivers/net/wireless/ath/ath10k/htt.h | |
parent | a30c7d009ed56df43f09ab9af11e0bdd3a3f2a3f (diff) | |
download | talos-obmc-linux-6421969f248fdf9d8cd38353a617ed7cc5ddab94.tar.gz talos-obmc-linux-6421969f248fdf9d8cd38353a617ed7cc5ddab94.zip |
ath10k: refactor tx pending management
Tx pending counter logic assumed that the sk_buff
is already known and hence was performed in HTT
functions themselves.
However, for the sake of future wake_tx_queue()
usage the driver must be able to tell whether it
can submit more frames to firmware before it
dequeues frame from ieee80211_txq (and thus long
before HTT Tx functions are called) because once a
frame is dequeued it cannot be requeud back to
mac80211.
This prepares the driver for future changes.
Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath10k/htt.h')
-rw-r--r-- | drivers/net/wireless/ath/ath10k/htt.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath10k/htt.h b/drivers/net/wireless/ath/ath10k/htt.h index 13391ea4422d..cb6d4fd687da 100644 --- a/drivers/net/wireless/ath/ath10k/htt.h +++ b/drivers/net/wireless/ath/ath10k/htt.h @@ -1753,7 +1753,12 @@ int ath10k_htt_h2t_aggr_cfg_msg(struct ath10k_htt *htt, u8 max_subfrms_amsdu); void ath10k_htt_hif_tx_complete(struct ath10k *ar, struct sk_buff *skb); -void __ath10k_htt_tx_dec_pending(struct ath10k_htt *htt, bool limit_mgmt_desc); +void ath10k_htt_tx_dec_pending(struct ath10k_htt *htt, + bool is_mgmt); +int ath10k_htt_tx_inc_pending(struct ath10k_htt *htt, + bool is_mgmt, + bool is_presp); + int ath10k_htt_tx_alloc_msdu_id(struct ath10k_htt *htt, struct sk_buff *skb); void ath10k_htt_tx_free_msdu_id(struct ath10k_htt *htt, u16 msdu_id); int ath10k_htt_mgmt_tx(struct ath10k_htt *htt, struct sk_buff *); |