#ifndef HTC_H
#define HTC_H
#include "common.h"
#define HTC_FLAGS_NEED_CREDIT_UPDATE …
#define HTC_FLAGS_SEND_BUNDLE …
#define HTC_FLAGS_TX_FIXUP_NETBUF …
#define HTC_FLG_RX_UNUSED …
#define HTC_FLG_RX_TRAILER …
#define HTC_FLG_RX_BNDL_CNT …
#define HTC_FLG_RX_BNDL_CNT_S …
#define HTC_HDR_LENGTH …
#define HTC_MAX_PAYLOAD_LENGTH …
#define HTC_MSG_READY_ID …
#define HTC_MSG_CONN_SVC_ID …
#define HTC_MSG_CONN_SVC_RESP_ID …
#define HTC_MSG_SETUP_COMPLETE_ID …
#define HTC_MSG_SETUP_COMPLETE_EX_ID …
#define HTC_MAX_CTRL_MSG_LEN …
#define HTC_VERSION_2P0 …
#define HTC_VERSION_2P1 …
#define HTC_SERVICE_META_DATA_MAX_LENGTH …
#define HTC_CONN_FLGS_THRESH_LVL_QUAT …
#define HTC_CONN_FLGS_THRESH_LVL_HALF …
#define HTC_CONN_FLGS_THRESH_LVL_THREE_QUAT …
#define HTC_CONN_FLGS_REDUCE_CRED_DRIB …
#define HTC_CONN_FLGS_THRESH_MASK …
#define HTC_CONN_FLGS_DISABLE_CRED_FLOW_CTRL …
#define HTC_CONN_FLGS_SET_RECV_ALLOC_SHIFT …
#define HTC_CONN_FLGS_SET_RECV_ALLOC_MASK …
#define HTC_SERVICE_SUCCESS …
#define HTC_SERVICE_NOT_FOUND …
#define HTC_SERVICE_FAILED …
#define HTC_SERVICE_NO_RESOURCES …
#define HTC_SERVICE_NO_MORE_EP …
#define HTC_RECORD_NULL …
#define HTC_RECORD_CREDITS …
#define HTC_RECORD_LOOKAHEAD …
#define HTC_RECORD_LOOKAHEAD_BUNDLE …
#define HTC_SETUP_COMP_FLG_RX_BNDL_EN …
#define HTC_SETUP_COMP_FLG_DISABLE_TX_CREDIT_FLOW …
#define MAKE_SERVICE_ID(group, index) …
#define HTC_CTRL_RSVD_SVC …
#define WMI_CONTROL_SVC …
#define WMI_DATA_BE_SVC …
#define WMI_DATA_BK_SVC …
#define WMI_DATA_VI_SVC …
#define WMI_DATA_VO_SVC …
#define WMI_MAX_SERVICES …
#define WMM_NUM_AC …
#define HTC_TX_PACKET_TAG_ALL …
#define HTC_SERVICE_TX_PACKET_TAG …
#define HTC_TX_PACKET_TAG_USER_DEFINED …
#define HTC_RX_FLAGS_INDICATE_MORE_PKTS …
#define ENDPOINT1 …
#define HTC_MAILBOX_NUM_MAX …
#define HTC_FLGS_TX_BNDL_PAD_EN …
#define HTC_EP_ACTIVE …
#define HTC_TARGET_RESPONSE_TIMEOUT …
#define HTC_TARGET_RESPONSE_POLL_WAIT …
#define HTC_TARGET_RESPONSE_POLL_COUNT …
#define HTC_TARGET_DEBUG_INTR_MASK …
#define HTC_TARGET_CREDIT_INTR_MASK …
#define HTC_HOST_MAX_MSG_PER_BUNDLE …
#define HTC_MIN_HTC_MSGS_TO_BUNDLE …
#define HTC_RX_PKT_IGNORE_LOOKAHEAD …
#define HTC_RX_PKT_REFRESH_HDR …
#define HTC_RX_PKT_PART_OF_BUNDLE …
#define HTC_RX_PKT_NO_RECYCLE …
#define NUM_CONTROL_BUFFERS …
#define NUM_CONTROL_TX_BUFFERS …
#define NUM_CONTROL_RX_BUFFERS …
#define HTC_RECV_WAIT_BUFFERS …
#define HTC_OP_STATE_STOPPING …
#define HTC_OP_STATE_SETUP_COMPLETE …
struct htc_frame_hdr { … } __packed;
struct htc_ready_msg { … } __packed;
struct htc_ready_ext_msg { … } __packed;
struct htc_conn_service_msg { … } __packed;
struct htc_conn_service_resp { … } __packed;
struct htc_setup_comp_msg { … } __packed;
struct htc_setup_comp_ext_msg { … } __packed;
struct htc_record_hdr { … } __packed;
struct htc_credit_report { … } __packed;
struct htc_lookahead_report { … } __packed;
struct htc_bundle_lkahd_rpt { … } __packed;
enum htc_service_grp_ids { … };
enum htc_endpoint_id { … };
struct htc_tx_packet_info { … };
struct htc_rx_packet_info { … };
struct htc_target;
struct htc_packet { … };
enum htc_send_full_action { … };
struct htc_ep_callbacks { … };
struct htc_service_connect_req { … };
struct htc_service_connect_resp { … };
struct htc_endpoint_credit_dist { … };
enum htc_credit_dist_reason { … };
struct ath6kl_htc_credit_info { … };
struct htc_endpoint_stats { … };
struct htc_endpoint { … };
struct htc_control_buffer { … };
struct htc_pipe_txcredit_alloc { … };
enum htc_send_queue_result { … };
struct ath6kl_htc_ops { … };
struct ath6kl_device;
struct htc_target { … };
int ath6kl_htc_rxmsg_pending_handler(struct htc_target *target,
u32 msg_look_ahead, int *n_pkts);
static inline void set_htc_pkt_info(struct htc_packet *packet, void *context,
u8 *buf, unsigned int len,
enum htc_endpoint_id eid, u16 tag)
{ … }
static inline void htc_rxpkt_reset(struct htc_packet *packet)
{ … }
static inline void set_htc_rxpkt_info(struct htc_packet *packet, void *context,
u8 *buf, unsigned long len,
enum htc_endpoint_id eid)
{ … }
static inline int get_queue_depth(struct list_head *queue)
{ … }
void ath6kl_htc_pipe_attach(struct ath6kl *ar);
void ath6kl_htc_mbox_attach(struct ath6kl *ar);
#endif