#include <linux/dma-mapping.h>
#include "hal_tx.h"
#include "debug.h"
#include "hal_desc.h"
#include "hif.h"
static const struct hal_srng_config hw_srng_config_template[] = …;
static int ath11k_hal_alloc_cont_rdp(struct ath11k_base *ab)
{ … }
static void ath11k_hal_free_cont_rdp(struct ath11k_base *ab)
{ … }
static int ath11k_hal_alloc_cont_wrp(struct ath11k_base *ab)
{ … }
static void ath11k_hal_free_cont_wrp(struct ath11k_base *ab)
{ … }
static void ath11k_hal_ce_dst_setup(struct ath11k_base *ab,
struct hal_srng *srng, int ring_num)
{ … }
static void ath11k_hal_srng_dst_hw_init(struct ath11k_base *ab,
struct hal_srng *srng)
{ … }
static void ath11k_hal_srng_src_hw_init(struct ath11k_base *ab,
struct hal_srng *srng)
{ … }
static void ath11k_hal_srng_hw_init(struct ath11k_base *ab,
struct hal_srng *srng)
{ … }
static int ath11k_hal_srng_get_ring_id(struct ath11k_base *ab,
enum hal_ring_type type,
int ring_num, int mac_id)
{ … }
int ath11k_hal_srng_get_entrysize(struct ath11k_base *ab, u32 ring_type)
{ … }
int ath11k_hal_srng_get_max_entries(struct ath11k_base *ab, u32 ring_type)
{ … }
void ath11k_hal_srng_get_params(struct ath11k_base *ab, struct hal_srng *srng,
struct hal_srng_params *params)
{ … }
dma_addr_t ath11k_hal_srng_get_hp_addr(struct ath11k_base *ab,
struct hal_srng *srng)
{ … }
dma_addr_t ath11k_hal_srng_get_tp_addr(struct ath11k_base *ab,
struct hal_srng *srng)
{ … }
u32 ath11k_hal_ce_get_desc_size(enum hal_ce_desc type)
{ … }
void ath11k_hal_ce_src_set_desc(void *buf, dma_addr_t paddr, u32 len, u32 id,
u8 byte_swap_data)
{ … }
void ath11k_hal_ce_dst_set_desc(void *buf, dma_addr_t paddr)
{ … }
u32 ath11k_hal_ce_dst_status_get_length(void *buf)
{ … }
void ath11k_hal_set_link_desc_addr(struct hal_wbm_link_desc *desc, u32 cookie,
dma_addr_t paddr)
{ … }
u32 *ath11k_hal_srng_dst_peek(struct ath11k_base *ab, struct hal_srng *srng)
{ … }
static u32 *ath11k_hal_srng_dst_peek_with_dma(struct ath11k_base *ab,
struct hal_srng *srng, dma_addr_t *paddr)
{ … }
static void ath11k_hal_srng_prefetch_desc(struct ath11k_base *ab,
struct hal_srng *srng)
{ … }
u32 *ath11k_hal_srng_dst_get_next_entry(struct ath11k_base *ab,
struct hal_srng *srng)
{ … }
int ath11k_hal_srng_dst_num_free(struct ath11k_base *ab, struct hal_srng *srng,
bool sync_hw_ptr)
{ … }
int ath11k_hal_srng_src_num_free(struct ath11k_base *ab, struct hal_srng *srng,
bool sync_hw_ptr)
{ … }
u32 *ath11k_hal_srng_src_get_next_entry(struct ath11k_base *ab,
struct hal_srng *srng)
{ … }
u32 *ath11k_hal_srng_src_reap_next(struct ath11k_base *ab,
struct hal_srng *srng)
{ … }
u32 *ath11k_hal_srng_src_get_next_reaped(struct ath11k_base *ab,
struct hal_srng *srng)
{ … }
u32 *ath11k_hal_srng_src_next_peek(struct ath11k_base *ab, struct hal_srng *srng)
{ … }
u32 *ath11k_hal_srng_src_peek(struct ath11k_base *ab, struct hal_srng *srng)
{ … }
void ath11k_hal_srng_access_begin(struct ath11k_base *ab, struct hal_srng *srng)
{ … }
void ath11k_hal_srng_access_end(struct ath11k_base *ab, struct hal_srng *srng)
{ … }
void ath11k_hal_setup_link_idle_list(struct ath11k_base *ab,
struct hal_wbm_idle_scatter_list *sbuf,
u32 nsbufs, u32 tot_link_desc,
u32 end_offset)
{ … }
int ath11k_hal_srng_setup(struct ath11k_base *ab, enum hal_ring_type type,
int ring_num, int mac_id,
struct hal_srng_params *params)
{ … }
static void ath11k_hal_srng_update_hp_tp_addr(struct ath11k_base *ab,
int shadow_cfg_idx,
enum hal_ring_type ring_type,
int ring_num)
{ … }
int ath11k_hal_srng_update_shadow_config(struct ath11k_base *ab,
enum hal_ring_type ring_type,
int ring_num)
{ … }
void ath11k_hal_srng_shadow_config(struct ath11k_base *ab)
{ … }
void ath11k_hal_srng_get_shadow_config(struct ath11k_base *ab,
u32 **cfg, u32 *len)
{ … }
void ath11k_hal_srng_shadow_update_hp_tp(struct ath11k_base *ab,
struct hal_srng *srng)
{ … }
static int ath11k_hal_srng_create_config(struct ath11k_base *ab)
{ … }
static void ath11k_hal_register_srng_key(struct ath11k_base *ab)
{ … }
static void ath11k_hal_unregister_srng_key(struct ath11k_base *ab)
{ … }
int ath11k_hal_srng_init(struct ath11k_base *ab)
{ … }
EXPORT_SYMBOL(…);
void ath11k_hal_srng_deinit(struct ath11k_base *ab)
{ … }
EXPORT_SYMBOL(…);
void ath11k_hal_dump_srng_stats(struct ath11k_base *ab)
{ … }