#include "core.h"
#include "hif.h"
#include "debug.h"
static void ath10k_htc_control_tx_complete(struct ath10k *ar,
struct sk_buff *skb)
{ … }
static struct sk_buff *ath10k_htc_build_tx_ctrl_skb(void *ar)
{ … }
static inline void ath10k_htc_restore_tx_skb(struct ath10k_htc *htc,
struct sk_buff *skb)
{ … }
void ath10k_htc_notify_tx_completion(struct ath10k_htc_ep *ep,
struct sk_buff *skb)
{ … }
EXPORT_SYMBOL(…);
static void ath10k_htc_prepare_tx_skb(struct ath10k_htc_ep *ep,
struct sk_buff *skb)
{ … }
static int ath10k_htc_consume_credit(struct ath10k_htc_ep *ep,
unsigned int len,
bool consume)
{ … }
static void ath10k_htc_release_credit(struct ath10k_htc_ep *ep, unsigned int len)
{ … }
int ath10k_htc_send(struct ath10k_htc *htc,
enum ath10k_htc_ep_id eid,
struct sk_buff *skb)
{ … }
void ath10k_htc_tx_completion_handler(struct ath10k *ar, struct sk_buff *skb)
{ … }
EXPORT_SYMBOL(…);
static void
ath10k_htc_process_credit_report(struct ath10k_htc *htc,
const struct ath10k_htc_credit_report *report,
int len,
enum ath10k_htc_ep_id eid)
{ … }
static int
ath10k_htc_process_lookahead(struct ath10k_htc *htc,
const struct ath10k_htc_lookahead_report *report,
int len,
enum ath10k_htc_ep_id eid,
void *next_lookaheads,
int *next_lookaheads_len)
{ … }
static int
ath10k_htc_process_lookahead_bundle(struct ath10k_htc *htc,
const struct ath10k_htc_lookahead_bundle *report,
int len,
enum ath10k_htc_ep_id eid,
void *next_lookaheads,
int *next_lookaheads_len)
{ … }
int ath10k_htc_process_trailer(struct ath10k_htc *htc,
u8 *buffer,
int length,
enum ath10k_htc_ep_id src_eid,
void *next_lookaheads,
int *next_lookaheads_len)
{ … }
EXPORT_SYMBOL(…);
void ath10k_htc_rx_completion_handler(struct ath10k *ar, struct sk_buff *skb)
{ … }
EXPORT_SYMBOL(…);
static void ath10k_htc_control_rx_complete(struct ath10k *ar,
struct sk_buff *skb)
{ … }
static const char *htc_service_name(enum ath10k_htc_svc_id id)
{ … }
static void ath10k_htc_reset_endpoint_states(struct ath10k_htc *htc)
{ … }
static u8 ath10k_htc_get_credit_allocation(struct ath10k_htc *htc,
u16 service_id)
{ … }
static int ath10k_htc_send_bundle(struct ath10k_htc_ep *ep,
struct sk_buff *bundle_skb,
struct sk_buff_head *tx_save_head)
{ … }
static void ath10k_htc_send_one_skb(struct ath10k_htc_ep *ep, struct sk_buff *skb)
{ … }
static int ath10k_htc_send_bundle_skbs(struct ath10k_htc_ep *ep)
{ … }
static void ath10k_htc_bundle_tx_work(struct work_struct *work)
{ … }
static void ath10k_htc_tx_complete_work(struct work_struct *work)
{ … }
int ath10k_htc_send_hl(struct ath10k_htc *htc,
enum ath10k_htc_ep_id eid,
struct sk_buff *skb)
{ … }
void ath10k_htc_setup_tx_req(struct ath10k_htc_ep *ep)
{ … }
void ath10k_htc_stop_hl(struct ath10k *ar)
{ … }
int ath10k_htc_wait_target(struct ath10k_htc *htc)
{ … }
void ath10k_htc_change_tx_credit_flow(struct ath10k_htc *htc,
enum ath10k_htc_ep_id eid,
bool enable)
{ … }
int ath10k_htc_connect_service(struct ath10k_htc *htc,
struct ath10k_htc_svc_conn_req *conn_req,
struct ath10k_htc_svc_conn_resp *conn_resp)
{ … }
struct sk_buff *ath10k_htc_alloc_skb(struct ath10k *ar, int size)
{ … }
static void ath10k_htc_pktlog_process_rx(struct ath10k *ar, struct sk_buff *skb)
{ … }
static int ath10k_htc_pktlog_connect(struct ath10k *ar)
{ … }
static bool ath10k_htc_pktlog_svc_supported(struct ath10k *ar)
{ … }
int ath10k_htc_start(struct ath10k_htc *htc)
{ … }
int ath10k_htc_init(struct ath10k *ar)
{ … }