#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"
static void ath11k_dp_htt_htc_tx_complete(struct ath11k_base *ab,
struct sk_buff *skb)
{ … }
void ath11k_dp_peer_cleanup(struct ath11k *ar, int vdev_id, const u8 *addr)
{ … }
int ath11k_dp_peer_setup(struct ath11k *ar, int vdev_id, const u8 *addr)
{ … }
void ath11k_dp_srng_cleanup(struct ath11k_base *ab, struct dp_srng *ring)
{ … }
static int ath11k_dp_srng_find_ring_in_mask(int ring_num, const u8 *grp_mask)
{ … }
static int ath11k_dp_srng_calculate_msi_group(struct ath11k_base *ab,
enum hal_ring_type type, int ring_num)
{ … }
static void ath11k_dp_srng_msi_setup(struct ath11k_base *ab,
struct hal_srng_params *ring_params,
enum hal_ring_type type, int ring_num)
{ … }
int ath11k_dp_srng_setup(struct ath11k_base *ab, struct dp_srng *ring,
enum hal_ring_type type, int ring_num,
int mac_id, int num_entries)
{ … }
void ath11k_dp_stop_shadow_timers(struct ath11k_base *ab)
{ … }
static void ath11k_dp_srng_common_cleanup(struct ath11k_base *ab)
{ … }
static int ath11k_dp_srng_common_setup(struct ath11k_base *ab)
{ … }
static void ath11k_dp_scatter_idle_link_desc_cleanup(struct ath11k_base *ab)
{ … }
static int ath11k_dp_scatter_idle_link_desc_setup(struct ath11k_base *ab,
int size,
u32 n_link_desc_bank,
u32 n_link_desc,
u32 last_bank_sz)
{ … }
static void
ath11k_dp_link_desc_bank_free(struct ath11k_base *ab,
struct dp_link_desc_bank *link_desc_banks)
{ … }
static int ath11k_dp_link_desc_bank_alloc(struct ath11k_base *ab,
struct dp_link_desc_bank *desc_bank,
int n_link_desc_bank,
int last_bank_sz)
{ … }
void ath11k_dp_link_desc_cleanup(struct ath11k_base *ab,
struct dp_link_desc_bank *desc_bank,
u32 ring_type, struct dp_srng *ring)
{ … }
static int ath11k_wbm_idle_ring_setup(struct ath11k_base *ab, u32 *n_link_desc)
{ … }
int ath11k_dp_link_desc_setup(struct ath11k_base *ab,
struct dp_link_desc_bank *link_desc_banks,
u32 ring_type, struct hal_srng *srng,
u32 n_link_desc)
{ … }
int ath11k_dp_service_srng(struct ath11k_base *ab,
struct ath11k_ext_irq_grp *irq_grp,
int budget)
{ … }
EXPORT_SYMBOL(…);
void ath11k_dp_pdev_free(struct ath11k_base *ab)
{ … }
void ath11k_dp_pdev_pre_alloc(struct ath11k_base *ab)
{ … }
int ath11k_dp_pdev_alloc(struct ath11k_base *ab)
{ … }
int ath11k_dp_htt_connect(struct ath11k_dp *dp)
{ … }
static void ath11k_dp_update_vdev_search(struct ath11k_vif *arvif)
{ … }
void ath11k_dp_vdev_tx_attach(struct ath11k *ar, struct ath11k_vif *arvif)
{ … }
static int ath11k_dp_tx_pending_cleanup(int buf_id, void *skb, void *ctx)
{ … }
void ath11k_dp_free(struct ath11k_base *ab)
{ … }
int ath11k_dp_alloc(struct ath11k_base *ab)
{ … }
static void ath11k_dp_shadow_timer_handler(struct timer_list *t)
{ … }
void ath11k_dp_shadow_start_timer(struct ath11k_base *ab,
struct hal_srng *srng,
struct ath11k_hp_update_timer *update_timer)
{ … }
void ath11k_dp_shadow_stop_timer(struct ath11k_base *ab,
struct ath11k_hp_update_timer *update_timer)
{ … }
void ath11k_dp_shadow_init_timer(struct ath11k_base *ab,
struct ath11k_hp_update_timer *update_timer,
u32 interval, u32 ring_id)
{ … }