#define pr_fmt(fmt) …
#include "core.h"
#include "debug.h"
#include "htc-ops.h"
#include "trace.h"
#define ATH6KL_TID_MASK …
#define ATH6KL_AID_SHIFT …
static inline u8 ath6kl_get_tid(u8 tid_mux)
{ … }
static inline u8 ath6kl_get_aid(u8 tid_mux)
{ … }
static u8 ath6kl_ibss_map_epid(struct sk_buff *skb, struct net_device *dev,
u32 *map_no)
{ … }
static bool ath6kl_process_uapsdq(struct ath6kl_sta *conn,
struct ath6kl_vif *vif,
struct sk_buff *skb,
u32 *flags)
{ … }
static bool ath6kl_process_psq(struct ath6kl_sta *conn,
struct ath6kl_vif *vif,
struct sk_buff *skb,
u32 *flags)
{ … }
static bool ath6kl_powersave_ap(struct ath6kl_vif *vif, struct sk_buff *skb,
u32 *flags)
{ … }
int ath6kl_control_tx(void *devt, struct sk_buff *skb,
enum htc_endpoint_id eid)
{ … }
netdev_tx_t ath6kl_data_tx(struct sk_buff *skb, struct net_device *dev)
{ … }
void ath6kl_indicate_tx_activity(void *devt, u8 traffic_class, bool active)
{ … }
enum htc_send_full_action ath6kl_tx_queue_full(struct htc_target *target,
struct htc_packet *packet)
{ … }
static void ath6kl_tx_clear_node_map(struct ath6kl_vif *vif,
enum htc_endpoint_id eid, u32 map_no)
{ … }
void ath6kl_tx_complete(struct htc_target *target,
struct list_head *packet_queue)
{ … }
void ath6kl_tx_data_cleanup(struct ath6kl *ar)
{ … }
static void ath6kl_deliver_frames_to_nw_stack(struct net_device *dev,
struct sk_buff *skb)
{ … }
static void ath6kl_alloc_netbufs(struct sk_buff_head *q, u16 num)
{ … }
static struct sk_buff *aggr_get_free_skb(struct aggr_info *p_aggr)
{ … }
void ath6kl_rx_refill(struct htc_target *target, enum htc_endpoint_id endpoint)
{ … }
void ath6kl_refill_amsdu_rxbufs(struct ath6kl *ar, int count)
{ … }
struct htc_packet *ath6kl_alloc_amsdu_rxbuf(struct htc_target *target,
enum htc_endpoint_id endpoint,
int len)
{ … }
static void aggr_slice_amsdu(struct aggr_info *p_aggr,
struct rxtid *rxtid, struct sk_buff *skb)
{ … }
static void aggr_deque_frms(struct aggr_info_conn *agg_conn, u8 tid,
u16 seq_no, u8 order)
{ … }
static bool aggr_process_recv_frm(struct aggr_info_conn *agg_conn, u8 tid,
u16 seq_no,
bool is_amsdu, struct sk_buff *frame)
{ … }
static void ath6kl_uapsd_trigger_frame_rx(struct ath6kl_vif *vif,
struct ath6kl_sta *conn)
{ … }
void ath6kl_rx(struct htc_target *target, struct htc_packet *packet)
{ … }
static void aggr_timeout(struct timer_list *t)
{ … }
static void aggr_delete_tid_state(struct aggr_info_conn *aggr_conn, u8 tid)
{ … }
void aggr_recv_addba_req_evt(struct ath6kl_vif *vif, u8 tid_mux, u16 seq_no,
u8 win_sz)
{ … }
void aggr_conn_init(struct ath6kl_vif *vif, struct aggr_info *aggr_info,
struct aggr_info_conn *aggr_conn)
{ … }
struct aggr_info *aggr_init(struct ath6kl_vif *vif)
{ … }
void aggr_recv_delba_req_evt(struct ath6kl_vif *vif, u8 tid_mux)
{ … }
void aggr_reset_state(struct aggr_info_conn *aggr_conn)
{ … }
void ath6kl_cleanup_amsdu_rxbufs(struct ath6kl *ar)
{ … }
void aggr_module_destroy(struct aggr_info *aggr_info)
{ … }