linux/drivers/net/wireless/ath/ath10k/htt_tx.c

// SPDX-License-Identifier: ISC
/*
 * Copyright (c) 2005-2011 Atheros Communications Inc.
 * Copyright (c) 2011-2017 Qualcomm Atheros, Inc.
 * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
 */

#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)
{}