Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
htc.h File Reference
#include "common.h"

Go to the source code of this file.

Data Structures

struct  htc_frame_hdr
 
struct  htc_ready_msg
 
struct  htc_ready_ext_msg
 
struct  htc_conn_service_msg
 
struct  htc_conn_service_resp
 
struct  htc_setup_comp_msg
 
struct  htc_setup_comp_ext_msg
 
struct  htc_record_hdr
 
struct  htc_credit_report
 
struct  htc_lookahead_report
 
struct  htc_bundle_lkahd_rpt
 
struct  htc_tx_packet_info
 
struct  htc_rx_packet_info
 
struct  htc_packet
 
struct  htc_ep_callbacks
 
struct  htc_service_connect_req
 
struct  htc_service_connect_resp
 
struct  htc_endpoint_credit_dist
 
struct  ath6kl_htc_credit_info
 
struct  htc_endpoint_stats
 
struct  htc_endpoint
 
struct  htc_control_buffer
 
struct  htc_pipe_txcredit_alloc
 
struct  ath6kl_htc_ops
 
struct  htc_target
 

Macros

#define HTC_FLAGS_NEED_CREDIT_UPDATE   (1 << 0)
 
#define HTC_FLAGS_SEND_BUNDLE   (1 << 1)
 
#define HTC_FLAGS_TX_FIXUP_NETBUF   (1 << 2)
 
#define HTC_FLG_RX_UNUSED   (1 << 0)
 
#define HTC_FLG_RX_TRAILER   (1 << 1)
 
#define HTC_FLG_RX_BNDL_CNT   (0xF0)
 
#define HTC_FLG_RX_BNDL_CNT_S   4
 
#define HTC_HDR_LENGTH   (sizeof(struct htc_frame_hdr))
 
#define HTC_MAX_PAYLOAD_LENGTH   (4096 - sizeof(struct htc_frame_hdr))
 
#define HTC_MSG_READY_ID   1
 
#define HTC_MSG_CONN_SVC_ID   2
 
#define HTC_MSG_CONN_SVC_RESP_ID   3
 
#define HTC_MSG_SETUP_COMPLETE_ID   4
 
#define HTC_MSG_SETUP_COMPLETE_EX_ID   5
 
#define HTC_MAX_CTRL_MSG_LEN   256
 
#define HTC_VERSION_2P0   0x00
 
#define HTC_VERSION_2P1   0x01
 
#define HTC_SERVICE_META_DATA_MAX_LENGTH   128
 
#define HTC_CONN_FLGS_THRESH_LVL_QUAT   0x0
 
#define HTC_CONN_FLGS_THRESH_LVL_HALF   0x1
 
#define HTC_CONN_FLGS_THRESH_LVL_THREE_QUAT   0x2
 
#define HTC_CONN_FLGS_REDUCE_CRED_DRIB   0x4
 
#define HTC_CONN_FLGS_THRESH_MASK   0x3
 
#define HTC_CONN_FLGS_DISABLE_CRED_FLOW_CTRL   (1 << 3)
 
#define HTC_CONN_FLGS_SET_RECV_ALLOC_SHIFT   8
 
#define HTC_CONN_FLGS_SET_RECV_ALLOC_MASK   0xFF00
 
#define HTC_SERVICE_SUCCESS   0
 
#define HTC_SERVICE_NOT_FOUND   1
 
#define HTC_SERVICE_FAILED   2
 
#define HTC_SERVICE_NO_RESOURCES   3
 
#define HTC_SERVICE_NO_MORE_EP   4
 
#define HTC_RECORD_NULL   0
 
#define HTC_RECORD_CREDITS   1
 
#define HTC_RECORD_LOOKAHEAD   2
 
#define HTC_RECORD_LOOKAHEAD_BUNDLE   3
 
#define HTC_SETUP_COMP_FLG_RX_BNDL_EN   (1 << 0)
 
#define HTC_SETUP_COMP_FLG_DISABLE_TX_CREDIT_FLOW   (1 << 1)
 
#define MAKE_SERVICE_ID(group, index)   (int)(((int)group << 8) | (int)(index))
 
#define HTC_CTRL_RSVD_SVC   MAKE_SERVICE_ID(RSVD_SERVICE_GROUP, 1)
 
#define WMI_CONTROL_SVC   MAKE_SERVICE_ID(WMI_SERVICE_GROUP, 0)
 
#define WMI_DATA_BE_SVC   MAKE_SERVICE_ID(WMI_SERVICE_GROUP, 1)
 
#define WMI_DATA_BK_SVC   MAKE_SERVICE_ID(WMI_SERVICE_GROUP, 2)
 
#define WMI_DATA_VI_SVC   MAKE_SERVICE_ID(WMI_SERVICE_GROUP, 3)
 
#define WMI_DATA_VO_SVC   MAKE_SERVICE_ID(WMI_SERVICE_GROUP, 4)
 
#define WMI_MAX_SERVICES   5
 
#define WMM_NUM_AC   4
 
#define HTC_TX_PACKET_TAG_ALL   0
 
#define HTC_SERVICE_TX_PACKET_TAG   1
 
#define HTC_TX_PACKET_TAG_USER_DEFINED   (HTC_SERVICE_TX_PACKET_TAG + 9)
 
#define HTC_RX_FLAGS_INDICATE_MORE_PKTS   (1 << 0)
 
#define ENDPOINT1   0
 
#define HTC_MAILBOX_NUM_MAX   4
 
#define HTC_FLGS_TX_BNDL_PAD_EN   (1 << 0)
 
#define HTC_EP_ACTIVE   ((u32) (1u << 31))
 
#define HTC_TARGET_RESPONSE_TIMEOUT   2000 /* in ms */
 
#define HTC_TARGET_RESPONSE_POLL_WAIT   10
 
#define HTC_TARGET_RESPONSE_POLL_COUNT   200
 
#define HTC_TARGET_DEBUG_INTR_MASK   0x01
 
#define HTC_TARGET_CREDIT_INTR_MASK   0xF0
 
#define HTC_HOST_MAX_MSG_PER_BUNDLE   8
 
#define HTC_MIN_HTC_MSGS_TO_BUNDLE   2
 
#define HTC_RX_PKT_IGNORE_LOOKAHEAD   (1 << 0)
 
#define HTC_RX_PKT_REFRESH_HDR   (1 << 1)
 
#define HTC_RX_PKT_PART_OF_BUNDLE   (1 << 2)
 
#define HTC_RX_PKT_NO_RECYCLE   (1 << 3)
 
#define NUM_CONTROL_BUFFERS   8
 
#define NUM_CONTROL_TX_BUFFERS   2
 
#define NUM_CONTROL_RX_BUFFERS   (NUM_CONTROL_BUFFERS - NUM_CONTROL_TX_BUFFERS)
 
#define HTC_RECV_WAIT_BUFFERS   (1 << 0)
 
#define HTC_OP_STATE_STOPPING   (1 << 0)
 
#define HTC_OP_STATE_SETUP_COMPLETE   (1 << 1)
 

Enumerations

enum  htc_service_grp_ids { RSVD_SERVICE_GROUP = 0, WMI_SERVICE_GROUP = 1, HTC_TEST_GROUP = 254, HTC_SERVICE_GROUP_LAST = 255 }
 
enum  htc_endpoint_id {
  ENDPOINT_UNUSED = -1, ENDPOINT_0 = 0, ENDPOINT_1 = 1, ENDPOINT_2 = 2,
  ENDPOINT_3, ENDPOINT_4, ENDPOINT_5, ENDPOINT_6,
  ENDPOINT_7, ENDPOINT_8, ENDPOINT_MAX, ENDPOINT_UNUSED = -1,
  ENDPOINT0 = 0, ENDPOINT1 = 1, ENDPOINT2 = 2, ENDPOINT3 = 3,
  ENDPOINT4 = 4, ENDPOINT5 = 5, ENDPOINT6 = 6, ENDPOINT7 = 7,
  ENDPOINT8 = 8, ENDPOINT_MAX = 22
}
 
enum  htc_send_full_action { HTC_SEND_FULL_KEEP = 0, HTC_SEND_FULL_DROP = 1 }
 
enum  htc_credit_dist_reason { HTC_CREDIT_DIST_SEND_COMPLETE = 0, HTC_CREDIT_DIST_ACTIVITY_CHANGE = 1, HTC_CREDIT_DIST_SEEK_CREDITS }
 
enum  htc_send_queue_result { HTC_SEND_QUEUE_OK = 0, HTC_SEND_QUEUE_DROP = 1 }
 

Functions

int ath6kl_htc_rxmsg_pending_handler (struct htc_target *target, u32 msg_look_ahead, int *n_pkts)
 
void ath6kl_htc_pipe_attach (struct ath6kl *ar)
 
void ath6kl_htc_mbox_attach (struct ath6kl *ar)
 

Variables

struct htc_frame_hdr __packed
 

Macro Definition Documentation

#define ENDPOINT1   0

Definition at line 108 of file htc.h.

#define HTC_CONN_FLGS_DISABLE_CRED_FLOW_CTRL   (1 << 3)

Definition at line 61 of file htc.h.

#define HTC_CONN_FLGS_REDUCE_CRED_DRIB   0x4

Definition at line 58 of file htc.h.

#define HTC_CONN_FLGS_SET_RECV_ALLOC_MASK   0xFF00

Definition at line 63 of file htc.h.

#define HTC_CONN_FLGS_SET_RECV_ALLOC_SHIFT   8

Definition at line 62 of file htc.h.

#define HTC_CONN_FLGS_THRESH_LVL_HALF   0x1

Definition at line 56 of file htc.h.

#define HTC_CONN_FLGS_THRESH_LVL_QUAT   0x0

Definition at line 55 of file htc.h.

#define HTC_CONN_FLGS_THRESH_LVL_THREE_QUAT   0x2

Definition at line 57 of file htc.h.

#define HTC_CONN_FLGS_THRESH_MASK   0x3

Definition at line 59 of file htc.h.

#define HTC_CTRL_RSVD_SVC   MAKE_SERVICE_ID(RSVD_SERVICE_GROUP, 1)

Definition at line 89 of file htc.h.

#define HTC_EP_ACTIVE   ((u32) (1u << 31))

Definition at line 114 of file htc.h.

#define HTC_FLAGS_NEED_CREDIT_UPDATE   (1 << 0)

Definition at line 26 of file htc.h.

#define HTC_FLAGS_SEND_BUNDLE   (1 << 1)

Definition at line 27 of file htc.h.

#define HTC_FLAGS_TX_FIXUP_NETBUF   (1 << 2)

Definition at line 28 of file htc.h.

#define HTC_FLG_RX_BNDL_CNT   (0xF0)

Definition at line 34 of file htc.h.

#define HTC_FLG_RX_BNDL_CNT_S   4

Definition at line 35 of file htc.h.

#define HTC_FLG_RX_TRAILER   (1 << 1)

Definition at line 32 of file htc.h.

#define HTC_FLG_RX_UNUSED   (1 << 0)

Definition at line 31 of file htc.h.

#define HTC_FLGS_TX_BNDL_PAD_EN   (1 << 0)

Definition at line 113 of file htc.h.

#define HTC_HDR_LENGTH   (sizeof(struct htc_frame_hdr))

Definition at line 37 of file htc.h.

#define HTC_HOST_MAX_MSG_PER_BUNDLE   8

Definition at line 123 of file htc.h.

#define HTC_MAILBOX_NUM_MAX   4

Definition at line 110 of file htc.h.

#define HTC_MAX_CTRL_MSG_LEN   256

Definition at line 48 of file htc.h.

#define HTC_MAX_PAYLOAD_LENGTH   (4096 - sizeof(struct htc_frame_hdr))

Definition at line 38 of file htc.h.

#define HTC_MIN_HTC_MSGS_TO_BUNDLE   2

Definition at line 124 of file htc.h.

#define HTC_MSG_CONN_SVC_ID   2

Definition at line 43 of file htc.h.

#define HTC_MSG_CONN_SVC_RESP_ID   3

Definition at line 44 of file htc.h.

#define HTC_MSG_READY_ID   1

Definition at line 42 of file htc.h.

#define HTC_MSG_SETUP_COMPLETE_EX_ID   5

Definition at line 46 of file htc.h.

#define HTC_MSG_SETUP_COMPLETE_ID   4

Definition at line 45 of file htc.h.

#define HTC_OP_STATE_SETUP_COMPLETE   (1 << 1)

Definition at line 139 of file htc.h.

#define HTC_OP_STATE_STOPPING   (1 << 0)

Definition at line 138 of file htc.h.

#define HTC_RECORD_CREDITS   1

Definition at line 78 of file htc.h.

#define HTC_RECORD_LOOKAHEAD   2

Definition at line 79 of file htc.h.

#define HTC_RECORD_LOOKAHEAD_BUNDLE   3

Definition at line 80 of file htc.h.

#define HTC_RECORD_NULL   0

Definition at line 77 of file htc.h.

#define HTC_RECV_WAIT_BUFFERS   (1 << 0)

Definition at line 137 of file htc.h.

#define HTC_RX_FLAGS_INDICATE_MORE_PKTS   (1 << 0)

Definition at line 105 of file htc.h.

#define HTC_RX_PKT_IGNORE_LOOKAHEAD   (1 << 0)

Definition at line 128 of file htc.h.

#define HTC_RX_PKT_NO_RECYCLE   (1 << 3)

Definition at line 131 of file htc.h.

#define HTC_RX_PKT_PART_OF_BUNDLE   (1 << 2)

Definition at line 130 of file htc.h.

#define HTC_RX_PKT_REFRESH_HDR   (1 << 1)

Definition at line 129 of file htc.h.

#define HTC_SERVICE_FAILED   2

Definition at line 68 of file htc.h.

#define HTC_SERVICE_META_DATA_MAX_LENGTH   128

Definition at line 53 of file htc.h.

#define HTC_SERVICE_NO_MORE_EP   4

Definition at line 74 of file htc.h.

#define HTC_SERVICE_NO_RESOURCES   3

Definition at line 71 of file htc.h.

#define HTC_SERVICE_NOT_FOUND   1

Definition at line 67 of file htc.h.

#define HTC_SERVICE_SUCCESS   0

Definition at line 66 of file htc.h.

#define HTC_SERVICE_TX_PACKET_TAG   1

Definition at line 101 of file htc.h.

#define HTC_SETUP_COMP_FLG_DISABLE_TX_CREDIT_FLOW   (1 << 1)

Definition at line 83 of file htc.h.

#define HTC_SETUP_COMP_FLG_RX_BNDL_EN   (1 << 0)

Definition at line 82 of file htc.h.

#define HTC_TARGET_CREDIT_INTR_MASK   0xF0

Definition at line 121 of file htc.h.

#define HTC_TARGET_DEBUG_INTR_MASK   0x01

Definition at line 120 of file htc.h.

#define HTC_TARGET_RESPONSE_POLL_COUNT   200

Definition at line 119 of file htc.h.

#define HTC_TARGET_RESPONSE_POLL_WAIT   10

Definition at line 118 of file htc.h.

#define HTC_TARGET_RESPONSE_TIMEOUT   2000 /* in ms */

Definition at line 117 of file htc.h.

#define HTC_TX_PACKET_TAG_ALL   0

Definition at line 100 of file htc.h.

#define HTC_TX_PACKET_TAG_USER_DEFINED   (HTC_SERVICE_TX_PACKET_TAG + 9)

Definition at line 102 of file htc.h.

#define HTC_VERSION_2P0   0x00

Definition at line 50 of file htc.h.

#define HTC_VERSION_2P1   0x01

Definition at line 51 of file htc.h.

#define MAKE_SERVICE_ID (   group,
  index 
)    (int)(((int)group << 8) | (int)(index))

Definition at line 85 of file htc.h.

#define NUM_CONTROL_BUFFERS   8

Definition at line 133 of file htc.h.

#define NUM_CONTROL_RX_BUFFERS   (NUM_CONTROL_BUFFERS - NUM_CONTROL_TX_BUFFERS)

Definition at line 135 of file htc.h.

#define NUM_CONTROL_TX_BUFFERS   2

Definition at line 134 of file htc.h.

#define WMI_CONTROL_SVC   MAKE_SERVICE_ID(WMI_SERVICE_GROUP, 0)

Definition at line 90 of file htc.h.

#define WMI_DATA_BE_SVC   MAKE_SERVICE_ID(WMI_SERVICE_GROUP, 1)

Definition at line 91 of file htc.h.

#define WMI_DATA_BK_SVC   MAKE_SERVICE_ID(WMI_SERVICE_GROUP, 2)

Definition at line 92 of file htc.h.

#define WMI_DATA_VI_SVC   MAKE_SERVICE_ID(WMI_SERVICE_GROUP, 3)

Definition at line 93 of file htc.h.

#define WMI_DATA_VO_SVC   MAKE_SERVICE_ID(WMI_SERVICE_GROUP, 4)

Definition at line 94 of file htc.h.

#define WMI_MAX_SERVICES   5

Definition at line 95 of file htc.h.

#define WMM_NUM_AC   4

Definition at line 97 of file htc.h.

Enumeration Type Documentation

Enumerator:
HTC_CREDIT_DIST_SEND_COMPLETE 
HTC_CREDIT_DIST_ACTIVITY_CHANGE 
HTC_CREDIT_DIST_SEEK_CREDITS 

Definition at line 433 of file htc.h.

Enumerator:
ENDPOINT_UNUSED 
ENDPOINT_0 
ENDPOINT_1 
ENDPOINT_2 
ENDPOINT_3 
ENDPOINT_4 
ENDPOINT_5 
ENDPOINT_6 
ENDPOINT_7 
ENDPOINT_8 
ENDPOINT_MAX 
ENDPOINT_UNUSED 
ENDPOINT0 
ENDPOINT1 
ENDPOINT2 
ENDPOINT3 
ENDPOINT4 
ENDPOINT5 
ENDPOINT6 
ENDPOINT7 
ENDPOINT8 
ENDPOINT_MAX 

Definition at line 252 of file htc.h.

Enumerator:
HTC_SEND_FULL_KEEP 
HTC_SEND_FULL_DROP 

Definition at line 333 of file htc.h.

Enumerator:
HTC_SEND_QUEUE_OK 
HTC_SEND_QUEUE_DROP 

Definition at line 543 of file htc.h.

Enumerator:
RSVD_SERVICE_GROUP 
WMI_SERVICE_GROUP 
HTC_TEST_GROUP 
HTC_SERVICE_GROUP_LAST 

Definition at line 242 of file htc.h.

Function Documentation

void ath6kl_htc_mbox_attach ( struct ath6kl ar)

Definition at line 2931 of file htc_mbox.c.

void ath6kl_htc_pipe_attach ( struct ath6kl ar)

Definition at line 1705 of file htc_pipe.c.

int ath6kl_htc_rxmsg_pending_handler ( struct htc_target target,
u32  msg_look_ahead,
int n_pkts 
)

Definition at line 2138 of file htc_mbox.c.

Variable Documentation