#include <crypto/hash.h>
#include "core.h"
#include "dp_tx.h"
#include "hal_tx.h"
#include "hif.h"
#include "debug.h"
#include "dp_rx.h"
#include "peer.h"
#include "dp_mon.h"
enum ath12k_dp_desc_type { … };
static void ath12k_dp_htt_htc_tx_complete(struct ath12k_base *ab,
struct sk_buff *skb)
{ … }
void ath12k_dp_peer_cleanup(struct ath12k *ar, int vdev_id, const u8 *addr)
{ … }
int ath12k_dp_peer_setup(struct ath12k *ar, int vdev_id, const u8 *addr)
{ … }
void ath12k_dp_srng_cleanup(struct ath12k_base *ab, struct dp_srng *ring)
{ … }
static int ath12k_dp_srng_find_ring_in_mask(int ring_num, const u8 *grp_mask)
{ … }
static int ath12k_dp_srng_calculate_msi_group(struct ath12k_base *ab,
enum hal_ring_type type, int ring_num)
{ … }
static void ath12k_dp_srng_msi_setup(struct ath12k_base *ab,
struct hal_srng_params *ring_params,
enum hal_ring_type type, int ring_num)
{ … }
int ath12k_dp_srng_setup(struct ath12k_base *ab, struct dp_srng *ring,
enum hal_ring_type type, int ring_num,
int mac_id, int num_entries)
{ … }
static
u32 ath12k_dp_tx_get_vdev_bank_config(struct ath12k_base *ab, struct ath12k_vif *arvif)
{ … }
static int ath12k_dp_tx_get_bank_profile(struct ath12k_base *ab, struct ath12k_vif *arvif,
struct ath12k_dp *dp)
{ … }
void ath12k_dp_tx_put_bank_profile(struct ath12k_dp *dp, u8 bank_id)
{ … }
static void ath12k_dp_deinit_bank_profiles(struct ath12k_base *ab)
{ … }
static int ath12k_dp_init_bank_profiles(struct ath12k_base *ab)
{ … }
static void ath12k_dp_srng_common_cleanup(struct ath12k_base *ab)
{ … }
static int ath12k_dp_srng_common_setup(struct ath12k_base *ab)
{ … }
static void ath12k_dp_scatter_idle_link_desc_cleanup(struct ath12k_base *ab)
{ … }
static int ath12k_dp_scatter_idle_link_desc_setup(struct ath12k_base *ab,
int size,
u32 n_link_desc_bank,
u32 n_link_desc,
u32 last_bank_sz)
{ … }
static void
ath12k_dp_link_desc_bank_free(struct ath12k_base *ab,
struct dp_link_desc_bank *link_desc_banks)
{ … }
static int ath12k_dp_link_desc_bank_alloc(struct ath12k_base *ab,
struct dp_link_desc_bank *desc_bank,
int n_link_desc_bank,
int last_bank_sz)
{ … }
void ath12k_dp_link_desc_cleanup(struct ath12k_base *ab,
struct dp_link_desc_bank *desc_bank,
u32 ring_type, struct dp_srng *ring)
{ … }
static int ath12k_wbm_idle_ring_setup(struct ath12k_base *ab, u32 *n_link_desc)
{ … }
int ath12k_dp_link_desc_setup(struct ath12k_base *ab,
struct dp_link_desc_bank *link_desc_banks,
u32 ring_type, struct hal_srng *srng,
u32 n_link_desc)
{ … }
int ath12k_dp_service_srng(struct ath12k_base *ab,
struct ath12k_ext_irq_grp *irq_grp,
int budget)
{ … }
void ath12k_dp_pdev_free(struct ath12k_base *ab)
{ … }
void ath12k_dp_pdev_pre_alloc(struct ath12k_base *ab)
{ … }
bool ath12k_dp_wmask_compaction_rx_tlv_supported(struct ath12k_base *ab)
{ … }
void ath12k_dp_hal_rx_desc_init(struct ath12k_base *ab)
{ … }
static void ath12k_dp_service_mon_ring(struct timer_list *t)
{ … }
static void ath12k_dp_mon_reap_timer_init(struct ath12k_base *ab)
{ … }
int ath12k_dp_pdev_alloc(struct ath12k_base *ab)
{ … }
int ath12k_dp_htt_connect(struct ath12k_dp *dp)
{ … }
static void ath12k_dp_update_vdev_search(struct ath12k_vif *arvif)
{ … }
void ath12k_dp_vdev_tx_attach(struct ath12k *ar, struct ath12k_vif *arvif)
{ … }
static void ath12k_dp_cc_cleanup(struct ath12k_base *ab)
{ … }
static void ath12k_dp_reoq_lut_cleanup(struct ath12k_base *ab)
{ … }
void ath12k_dp_free(struct ath12k_base *ab)
{ … }
void ath12k_dp_cc_config(struct ath12k_base *ab)
{ … }
static u32 ath12k_dp_cc_cookie_gen(u16 ppt_idx, u16 spt_idx)
{ … }
static inline void *ath12k_dp_cc_get_desc_addr_ptr(struct ath12k_base *ab,
u16 ppt_idx, u16 spt_idx)
{ … }
struct ath12k_rx_desc_info *ath12k_dp_get_rx_desc(struct ath12k_base *ab,
u32 cookie)
{ … }
struct ath12k_tx_desc_info *ath12k_dp_get_tx_desc(struct ath12k_base *ab,
u32 cookie)
{ … }
static int ath12k_dp_cc_desc_init(struct ath12k_base *ab)
{ … }
static int ath12k_dp_cmem_init(struct ath12k_base *ab,
struct ath12k_dp *dp,
enum ath12k_dp_desc_type type)
{ … }
static int ath12k_dp_cc_init(struct ath12k_base *ab)
{ … }
static int ath12k_dp_reoq_lut_setup(struct ath12k_base *ab)
{ … }
static enum hal_rx_buf_return_buf_manager
ath12k_dp_get_idle_link_rbm(struct ath12k_base *ab)
{ … }
int ath12k_dp_alloc(struct ath12k_base *ab)
{ … }