#include <linux/etherdevice.h>
#include "htt.h"
#include "mac.h"
#include "hif.h"
#include "txrx.h"
#include "debug.h"
static u8 ath10k_htt_tx_txq_calc_size(size_t count)
{ … }
static void __ath10k_htt_tx_txq_recalc(struct ieee80211_hw *hw,
struct ieee80211_txq *txq)
{ … }
static void __ath10k_htt_tx_txq_sync(struct ath10k *ar)
{ … }
void ath10k_htt_tx_txq_recalc(struct ieee80211_hw *hw,
struct ieee80211_txq *txq)
{ … }
void ath10k_htt_tx_txq_sync(struct ath10k *ar)
{ … }
void ath10k_htt_tx_txq_update(struct ieee80211_hw *hw,
struct ieee80211_txq *txq)
{ … }
void ath10k_htt_tx_dec_pending(struct ath10k_htt *htt)
{ … }
int ath10k_htt_tx_inc_pending(struct ath10k_htt *htt)
{ … }
int ath10k_htt_tx_mgmt_inc_pending(struct ath10k_htt *htt, bool is_mgmt,
bool is_presp)
{ … }
void ath10k_htt_tx_mgmt_dec_pending(struct ath10k_htt *htt)
{ … }
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)
{ … }
static void ath10k_htt_tx_free_cont_txbuf_32(struct ath10k_htt *htt)
{ … }
static int ath10k_htt_tx_alloc_cont_txbuf_32(struct ath10k_htt *htt)
{ … }
static void ath10k_htt_tx_free_cont_txbuf_64(struct ath10k_htt *htt)
{ … }
static int ath10k_htt_tx_alloc_cont_txbuf_64(struct ath10k_htt *htt)
{ … }
static void ath10k_htt_tx_free_cont_frag_desc_32(struct ath10k_htt *htt)
{ … }
static int ath10k_htt_tx_alloc_cont_frag_desc_32(struct ath10k_htt *htt)
{ … }
static void ath10k_htt_tx_free_cont_frag_desc_64(struct ath10k_htt *htt)
{ … }
static int ath10k_htt_tx_alloc_cont_frag_desc_64(struct ath10k_htt *htt)
{ … }
static void ath10k_htt_tx_free_txq(struct ath10k_htt *htt)
{ … }
static int ath10k_htt_tx_alloc_txq(struct ath10k_htt *htt)
{ … }
static void ath10k_htt_tx_free_txdone_fifo(struct ath10k_htt *htt)
{ … }
static int ath10k_htt_tx_alloc_txdone_fifo(struct ath10k_htt *htt)
{ … }
static int ath10k_htt_tx_alloc_buf(struct ath10k_htt *htt)
{ … }
int ath10k_htt_tx_start(struct ath10k_htt *htt)
{ … }
static int ath10k_htt_tx_clean_up_pending(int msdu_id, void *skb, void *ctx)
{ … }
void ath10k_htt_tx_destroy(struct ath10k_htt *htt)
{ … }
static void ath10k_htt_flush_tx_queue(struct ath10k_htt *htt)
{ … }
void ath10k_htt_tx_stop(struct ath10k_htt *htt)
{ … }
void ath10k_htt_tx_free(struct ath10k_htt *htt)
{ … }
void ath10k_htt_op_ep_tx_credits(struct ath10k *ar)
{ … }
void ath10k_htt_htc_tx_complete(struct ath10k *ar, struct sk_buff *skb)
{ … }
void ath10k_htt_hif_tx_complete(struct ath10k *ar, struct sk_buff *skb)
{ … }
EXPORT_SYMBOL(…);
int ath10k_htt_h2t_ver_req_msg(struct ath10k_htt *htt)
{ … }
int ath10k_htt_h2t_stats_req(struct ath10k_htt *htt, u32 mask, u32 reset_mask,
u64 cookie)
{ … }
static int ath10k_htt_send_frag_desc_bank_cfg_32(struct ath10k_htt *htt)
{ … }
static int ath10k_htt_send_frag_desc_bank_cfg_64(struct ath10k_htt *htt)
{ … }
static void ath10k_htt_fill_rx_desc_offset_32(struct ath10k_hw_params *hw,
struct htt_rx_ring_setup_ring32 *rx_ring)
{ … }
static void ath10k_htt_fill_rx_desc_offset_64(struct ath10k_hw_params *hw,
struct htt_rx_ring_setup_ring64 *rx_ring)
{ … }
static int ath10k_htt_send_rx_ring_cfg_32(struct ath10k_htt *htt)
{ … }
static int ath10k_htt_send_rx_ring_cfg_64(struct ath10k_htt *htt)
{ … }
static int ath10k_htt_send_rx_ring_cfg_hl(struct ath10k_htt *htt)
{ … }
static int ath10k_htt_h2t_aggr_cfg_msg_32(struct ath10k_htt *htt,
u8 max_subfrms_ampdu,
u8 max_subfrms_amsdu)
{ … }
static int ath10k_htt_h2t_aggr_cfg_msg_v2(struct ath10k_htt *htt,
u8 max_subfrms_ampdu,
u8 max_subfrms_amsdu)
{ … }
int ath10k_htt_tx_fetch_resp(struct ath10k *ar,
__le32 token,
__le16 fetch_seq_num,
struct htt_tx_fetch_record *records,
size_t num_records)
{ … }
static u8 ath10k_htt_tx_get_vdev_id(struct ath10k *ar, struct sk_buff *skb)
{ … }
static u8 ath10k_htt_tx_get_tid(struct sk_buff *skb, bool is_eth)
{ … }
int ath10k_htt_mgmt_tx(struct ath10k_htt *htt, struct sk_buff *msdu)
{ … }
#define HTT_TX_HL_NEEDED_HEADROOM …
static int ath10k_htt_tx_hl(struct ath10k_htt *htt, enum ath10k_hw_txrx_mode txmode,
struct sk_buff *msdu)
{ … }
static int ath10k_htt_tx_32(struct ath10k_htt *htt,
enum ath10k_hw_txrx_mode txmode,
struct sk_buff *msdu)
{ … }
static int ath10k_htt_tx_64(struct ath10k_htt *htt,
enum ath10k_hw_txrx_mode txmode,
struct sk_buff *msdu)
{ … }
static const struct ath10k_htt_tx_ops htt_tx_ops_32 = …;
static const struct ath10k_htt_tx_ops htt_tx_ops_64 = …;
static const struct ath10k_htt_tx_ops htt_tx_ops_hl = …;
void ath10k_htt_set_tx_ops(struct ath10k_htt *htt)
{ … }