Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
core.h File Reference
#include <linux/etherdevice.h>
#include <linux/rtnetlink.h>
#include <linux/firmware.h>
#include <linux/sched.h>
#include <linux/circ_buf.h>
#include <net/cfg80211.h>
#include "htc.h"
#include "wmi.h"
#include "bmi.h"
#include "target.h"

Go to the source code of this file.

Data Structures

struct  ath6kl_fw_ie
 
struct  skb_hold_q
 
struct  rxtid
 
struct  rxtid_stats
 
struct  aggr_info_conn
 
struct  aggr_info
 
struct  ath6kl_wep_key
 
struct  ath6kl_key
 
struct  ath6kl_node_mapping
 
struct  ath6kl_cookie
 
struct  ath6kl_mgmt_buff
 
struct  ath6kl_sta
 
struct  ath6kl_version
 
struct  ath6kl_bmi
 
struct  target_stats
 
struct  ath6kl_mbox_info
 
struct  ath6kl_req_key
 
struct  ath6kl_mc_filter
 
struct  ath6kl_htcap
 
struct  ath6kl_vif
 
struct  ath6kl
 
struct  ath6kl::ath6kl_hw
 
struct  ath6kl::ath6kl_hw::ath6kl_hw_fw
 

Macros

#define MAX_ATH6KL   1
 
#define ATH6KL_MAX_RX_BUFFERS   16
 
#define ATH6KL_BUFFER_SIZE   1664
 
#define ATH6KL_MAX_AMSDU_RX_BUFFERS   4
 
#define ATH6KL_AMSDU_REFILL_THRESHOLD   3
 
#define ATH6KL_AMSDU_BUFFER_SIZE   (WMI_MAX_AMSDU_RX_DATA_FRAME_LENGTH + 128)
 
#define MAX_MSDU_SUBFRAME_PAYLOAD_LEN   1508
 
#define MIN_MSDU_SUBFRAME_PAYLOAD_LEN   46
 
#define USER_SAVEDKEYS_STAT_INIT   0
 
#define USER_SAVEDKEYS_STAT_RUN   1
 
#define ATH6KL_TX_TIMEOUT   10
 
#define ATH6KL_MAX_ENDPOINTS   4
 
#define MAX_NODE_NUM   15
 
#define ATH6KL_APSD_ALL_FRAME   0xFFFF
 
#define ATH6KL_APSD_NUM_OF_AC   0x4
 
#define ATH6KL_APSD_FRAME_MASK   0xF
 
#define ATH6KL_HTC_ALIGN_BYTES   3
 
#define MAX_DEF_COOKIE_NUM   180
 
#define MAX_HI_COOKIE_NUM   18 /* 10% of MAX_COOKIE_NUM */
 
#define MAX_COOKIE_NUM   (MAX_DEF_COOKIE_NUM + MAX_HI_COOKIE_NUM)
 
#define MAX_DEFAULT_SEND_QUEUE_DEPTH   (MAX_DEF_COOKIE_NUM / WMM_NUM_AC)
 
#define DISCON_TIMER_INTVAL   10000 /* in msec */
 
#define ATH6KL_FG_SCAN_INTERVAL   50 /* in ms */
 
#define ATH6KL_FIRMWARE_MAGIC   "QCA-ATH6KL"
 
#define ATH6KL_CAPABILITY_LEN   (ALIGN(ATH6KL_FW_CAPABILITY_MAX, 32) / 32)
 
#define ATH6KL_FW_API2_FILE   "fw-2.bin"
 
#define ATH6KL_FW_API3_FILE   "fw-3.bin"
 
#define AR6003_HW_1_0_VERSION   0x300002ba
 
#define AR6003_HW_2_0_VERSION   0x30000384
 
#define AR6003_HW_2_0_PATCH_DOWNLOAD_ADDRESS   0x57e910
 
#define AR6003_HW_2_0_FW_DIR   "ath6k/AR6003/hw2.0"
 
#define AR6003_HW_2_0_OTP_FILE   "otp.bin.z77"
 
#define AR6003_HW_2_0_FIRMWARE_FILE   "athwlan.bin.z77"
 
#define AR6003_HW_2_0_TCMD_FIRMWARE_FILE   "athtcmd_ram.bin"
 
#define AR6003_HW_2_0_PATCH_FILE   "data.patch.bin"
 
#define AR6003_HW_2_0_BOARD_DATA_FILE   AR6003_HW_2_0_FW_DIR "/bdata.bin"
 
#define AR6003_HW_2_0_DEFAULT_BOARD_DATA_FILE   AR6003_HW_2_0_FW_DIR "/bdata.SD31.bin"
 
#define AR6003_HW_2_1_1_VERSION   0x30000582
 
#define AR6003_HW_2_1_1_FW_DIR   "ath6k/AR6003/hw2.1.1"
 
#define AR6003_HW_2_1_1_OTP_FILE   "otp.bin"
 
#define AR6003_HW_2_1_1_FIRMWARE_FILE   "athwlan.bin"
 
#define AR6003_HW_2_1_1_TCMD_FIRMWARE_FILE   "athtcmd_ram.bin"
 
#define AR6003_HW_2_1_1_UTF_FIRMWARE_FILE   "utf.bin"
 
#define AR6003_HW_2_1_1_TESTSCRIPT_FILE   "nullTestFlow.bin"
 
#define AR6003_HW_2_1_1_PATCH_FILE   "data.patch.bin"
 
#define AR6003_HW_2_1_1_BOARD_DATA_FILE   AR6003_HW_2_1_1_FW_DIR "/bdata.bin"
 
#define AR6003_HW_2_1_1_DEFAULT_BOARD_DATA_FILE   AR6003_HW_2_1_1_FW_DIR "/bdata.SD31.bin"
 
#define AR6004_HW_1_0_VERSION   0x30000623
 
#define AR6004_HW_1_0_FW_DIR   "ath6k/AR6004/hw1.0"
 
#define AR6004_HW_1_0_FIRMWARE_FILE   "fw.ram.bin"
 
#define AR6004_HW_1_0_BOARD_DATA_FILE   AR6004_HW_1_0_FW_DIR "/bdata.bin"
 
#define AR6004_HW_1_0_DEFAULT_BOARD_DATA_FILE   AR6004_HW_1_0_FW_DIR "/bdata.DB132.bin"
 
#define AR6004_HW_1_1_VERSION   0x30000001
 
#define AR6004_HW_1_1_FW_DIR   "ath6k/AR6004/hw1.1"
 
#define AR6004_HW_1_1_FIRMWARE_FILE   "fw.ram.bin"
 
#define AR6004_HW_1_1_BOARD_DATA_FILE   AR6004_HW_1_1_FW_DIR "/bdata.bin"
 
#define AR6004_HW_1_1_DEFAULT_BOARD_DATA_FILE   AR6004_HW_1_1_FW_DIR "/bdata.DB132.bin"
 
#define AR6004_HW_1_2_VERSION   0x300007e8
 
#define AR6004_HW_1_2_FW_DIR   "ath6k/AR6004/hw1.2"
 
#define AR6004_HW_1_2_FIRMWARE_FILE   "fw.ram.bin"
 
#define AR6004_HW_1_2_BOARD_DATA_FILE   AR6004_HW_1_2_FW_DIR "/bdata.bin"
 
#define AR6004_HW_1_2_DEFAULT_BOARD_DATA_FILE   AR6004_HW_1_2_FW_DIR "/bdata.bin"
 
#define STA_PS_AWAKE   BIT(0)
 
#define STA_PS_SLEEP   BIT(1)
 
#define STA_PS_POLLED   BIT(2)
 
#define STA_PS_APSD_TRIGGER   BIT(3)
 
#define STA_PS_APSD_EOSP   BIT(4)
 
#define ATH6KL_CONTROL_PKT_TAG   HTC_TX_PACKET_TAG_USER_DEFINED
 
#define ATH6KL_DATA_PKT_TAG   (ATH6KL_CONTROL_PKT_TAG + 1)
 
#define AR6003_CUST_DATA_SIZE   16
 
#define AGGR_WIN_IDX(x, y)   ((x) % (y))
 
#define AGGR_INCR_IDX(x, y)   AGGR_WIN_IDX(((x) + 1), (y))
 
#define AGGR_DCRM_IDX(x, y)   AGGR_WIN_IDX(((x) - 1), (y))
 
#define ATH6KL_MAX_SEQ_NO   0xFFF
 
#define ATH6KL_NEXT_SEQ_NO(x)   (((x) + 1) & ATH6KL_MAX_SEQ_NO)
 
#define NUM_OF_TIDS   8
 
#define AGGR_SZ_DEFAULT   8
 
#define AGGR_WIN_SZ_MIN   2
 
#define AGGR_WIN_SZ_MAX   8
 
#define TID_WINDOW_SZ(_x)   ((_x) << 1)
 
#define AGGR_NUM_OF_FREE_NETBUFS   16
 
#define AGGR_RX_TIMEOUT   100 /* in ms */
 
#define WMI_TIMEOUT   (2 * HZ)
 
#define MBOX_YIELD_LIMIT   99
 
#define ATH6KL_DEFAULT_LISTEN_INTVAL   100 /* in TUs */
 
#define ATH6KL_DEFAULT_BMISS_TIME   1500
 
#define ATH6KL_MAX_WOW_LISTEN_INTL   300 /* in TUs */
 
#define ATH6KL_MAX_BMISS_TIME   5000
 
#define ATH6KL_CONF_IGNORE_ERP_BARKER   BIT(0)
 
#define ATH6KL_CONF_IGNORE_PS_FAIL_EVT_IN_SCAN   BIT(1)
 
#define ATH6KL_CONF_ENABLE_11N   BIT(2)
 
#define ATH6KL_CONF_ENABLE_TX_BURST   BIT(3)
 
#define ATH6KL_CONF_UART_DEBUG   BIT(4)
 
#define P2P_WILDCARD_SSID_LEN   7 /* DIRECT- */
 
#define ATH6KL_KEY_SEQ_LEN   8
 
#define ATH6KL_KEYBUF_SIZE   16
 
#define ATH6KL_MICBUF_SIZE   (8+8) /* space for both tx and rx */
 
#define ATH6KL_KEY_XMIT   0x01
 
#define ATH6KL_KEY_RECV   0x02
 
#define ATH6KL_KEY_DEFAULT   0x80 /* default xmit key */
 
#define ATH6K_MAX_MC_FILTERS_PER_LIST   7
 
#define ATH6KL_VIF_MAX   3
 
#define WOW_LIST_ID   0
 
#define WOW_HOST_REQ_DELAY   500 /* ms */
 
#define ATH6KL_SCHED_SCAN_RESULT_DELAY   5000 /* ms */
 
#define AR_MCAST_FILTER_MAC_ADDR_SIZE   4
 

Enumerations

enum  ath6kl_fw_ie_type {
  ATH6KL_FW_IE_FW_VERSION = 0, ATH6KL_FW_IE_TIMESTAMP = 1, ATH6KL_FW_IE_OTP_IMAGE = 2, ATH6KL_FW_IE_FW_IMAGE = 3,
  ATH6KL_FW_IE_PATCH_IMAGE = 4, ATH6KL_FW_IE_RESERVED_RAM_SIZE = 5, ATH6KL_FW_IE_CAPABILITIES = 6, ATH6KL_FW_IE_PATCH_ADDR = 7,
  ATH6KL_FW_IE_BOARD_ADDR = 8, ATH6KL_FW_IE_VIF_MAX = 9
}
 
enum  ath6kl_fw_capability {
  ATH6KL_FW_CAPABILITY_HOST_P2P = 0, ATH6KL_FW_CAPABILITY_SCHED_SCAN = 1, ATH6KL_FW_CAPABILITY_STA_P2PDEV_DUPLEX, ATH6KL_FW_CAPABILITY_INACTIVITY_TIMEOUT,
  ATH6KL_FW_CAPABILITY_RSN_CAP_OVERRIDE, ATH6KL_FW_CAPABILITY_WOW_MULTICAST_FILTER, ATH6KL_FW_CAPABILITY_BMISS_ENHANCE, ATH6KL_FW_CAPABILITY_SCHED_SCAN_MATCH_LIST,
  ATH6KL_FW_CAPABILITY_MAX
}
 
enum  ath6kl_hw_flags { ATH6KL_HW_FLAG_64BIT_RATES = BIT(0) }
 
enum  wlan_low_pwr_state { WLAN_POWER_STATE_ON, WLAN_POWER_STATE_CUT_PWR, WLAN_POWER_STATE_DEEP_SLEEP, WLAN_POWER_STATE_WOW }
 
enum  sme_state { SME_DISCONNECTED, SME_CONNECTING, SME_CONNECTED }
 
enum  ath6kl_hif_type { ATH6KL_HIF_TYPE_SDIO, ATH6KL_HIF_TYPE_USB }
 
enum  ath6kl_htc_type { ATH6KL_HTC_TYPE_MBOX, ATH6KL_HTC_TYPE_PIPE }
 
enum  ath6kl_vif_state {
  CONNECTED, CONNECT_PEND, WMM_ENABLED, NETQ_STOPPED,
  DTIM_EXPIRED, NETDEV_REGISTERED, CLEAR_BSSFILTER_ON_BEACON, DTIM_PERIOD_AVAIL,
  WLAN_ENABLED, STATS_UPDATE_PEND, HOST_SLEEP_MODE_CMD_PROCESSED, NETDEV_MCAST_ALL_ON,
  NETDEV_MCAST_ALL_OFF
}
 
enum  ath6kl_dev_state {
  WMI_ENABLED, WMI_READY, WMI_CTRL_EP_FULL, TESTMODE,
  DESTROY_IN_PROGRESS, SKIP_SCAN, ROAM_TBL_PEND, FIRST_BOOT
}
 
enum  ath6kl_state {
  ATH6KL_STATE_OFF, ATH6KL_STATE_ON, ATH6KL_STATE_SUSPENDING, ATH6KL_STATE_RESUMING,
  ATH6KL_STATE_DEEPSLEEP, ATH6KL_STATE_CUTPOWER, ATH6KL_STATE_WOW, ATH6KL_STATE_SCHED_SCAN
}
 

Functions

int ath6kl_configure_target (struct ath6kl *ar)
 
void ath6kl_detect_error (unsigned long ptr)
 
void disconnect_timer_handler (unsigned long ptr)
 
void init_netdev (struct net_device *dev)
 
void ath6kl_cookie_init (struct ath6kl *ar)
 
void ath6kl_cookie_cleanup (struct ath6kl *ar)
 
void ath6kl_rx (struct htc_target *target, struct htc_packet *packet)
 
void ath6kl_tx_complete (struct htc_target *context, struct list_head *packet_queue)
 
enum htc_send_full_action ath6kl_tx_queue_full (struct htc_target *target, struct htc_packet *packet)
 
void ath6kl_stop_txrx (struct ath6kl *ar)
 
void ath6kl_cleanup_amsdu_rxbufs (struct ath6kl *ar)
 
int ath6kl_diag_write32 (struct ath6kl *ar, u32 address, __le32 value)
 
int ath6kl_diag_write (struct ath6kl *ar, u32 address, void *data, u32 length)
 
int ath6kl_diag_read32 (struct ath6kl *ar, u32 address, u32 *value)
 
int ath6kl_diag_read (struct ath6kl *ar, u32 address, void *data, u32 length)
 
int ath6kl_read_fwlogs (struct ath6kl *ar)
 
void ath6kl_init_profile_info (struct ath6kl_vif *vif)
 
void ath6kl_tx_data_cleanup (struct ath6kl *ar)
 
struct ath6kl_cookieath6kl_alloc_cookie (struct ath6kl *ar)
 
void ath6kl_free_cookie (struct ath6kl *ar, struct ath6kl_cookie *cookie)
 
int ath6kl_data_tx (struct sk_buff *skb, struct net_device *dev)
 
struct aggr_infoaggr_init (struct ath6kl_vif *vif)
 
void aggr_conn_init (struct ath6kl_vif *vif, struct aggr_info *aggr_info, struct aggr_info_conn *aggr_conn)
 
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_packetath6kl_alloc_amsdu_rxbuf (struct htc_target *target, enum htc_endpoint_id endpoint, int len)
 
void aggr_module_destroy (struct aggr_info *aggr_info)
 
void aggr_reset_state (struct aggr_info_conn *aggr_conn)
 
struct ath6kl_staath6kl_find_sta (struct ath6kl_vif *vif, u8 *node_addr)
 
struct ath6kl_staath6kl_find_sta_by_aid (struct ath6kl *ar, u8 aid)
 
void ath6kl_ready_event (void *devt, u8 *datap, u32 sw_ver, u32 abi_ver, enum wmi_phy_cap cap)
 
int ath6kl_control_tx (void *devt, struct sk_buff *skb, enum htc_endpoint_id eid)
 
void ath6kl_connect_event (struct ath6kl_vif *vif, u16 channel, u8 *bssid, u16 listen_int, u16 beacon_int, enum network_type net_type, u8 beacon_ie_len, u8 assoc_req_len, u8 assoc_resp_len, u8 *assoc_info)
 
void ath6kl_connect_ap_mode_bss (struct ath6kl_vif *vif, u16 channel)
 
void ath6kl_connect_ap_mode_sta (struct ath6kl_vif *vif, u16 aid, u8 *mac_addr, u8 keymgmt, u8 ucipher, u8 auth, u8 assoc_req_len, u8 *assoc_info, u8 apsd_info)
 
void ath6kl_disconnect_event (struct ath6kl_vif *vif, u8 reason, u8 *bssid, u8 assoc_resp_len, u8 *assoc_info, u16 prot_reason_status)
 
void ath6kl_tkip_micerr_event (struct ath6kl_vif *vif, u8 keyid, bool ismcast)
 
void ath6kl_txpwr_rx_evt (void *devt, u8 tx_pwr)
 
void ath6kl_scan_complete_evt (struct ath6kl_vif *vif, int status)
 
void ath6kl_tgt_stats_event (struct ath6kl_vif *vif, u8 *ptr, u32 len)
 
void ath6kl_indicate_tx_activity (void *devt, u8 traffic_class, bool active)
 
enum htc_endpoint_id ath6kl_ac2_endpoint_id (void *devt, u8 ac)
 
void ath6kl_pspoll_event (struct ath6kl_vif *vif, u8 aid)
 
void ath6kl_dtimexpiry_event (struct ath6kl_vif *vif)
 
void ath6kl_disconnect (struct ath6kl_vif *vif)
 
void aggr_recv_delba_req_evt (struct ath6kl_vif *vif, u8 tid)
 
void aggr_recv_addba_req_evt (struct ath6kl_vif *vif, u8 tid, u16 seq_no, u8 win_sz)
 
void ath6kl_wakeup_event (void *dev)
 
void ath6kl_reset_device (struct ath6kl *ar, u32 target_type, bool wait_fot_compltn, bool cold_reset)
 
void ath6kl_init_control_info (struct ath6kl_vif *vif)
 
struct ath6kl_vifath6kl_vif_first (struct ath6kl *ar)
 
void ath6kl_cleanup_vif (struct ath6kl_vif *vif, bool wmi_ready)
 
int ath6kl_init_hw_start (struct ath6kl *ar)
 
int ath6kl_init_hw_stop (struct ath6kl *ar)
 
int ath6kl_init_fetch_firmwares (struct ath6kl *ar)
 
int ath6kl_init_hw_params (struct ath6kl *ar)
 
void ath6kl_check_wow_status (struct ath6kl *ar)
 
void ath6kl_core_tx_complete (struct ath6kl *ar, struct sk_buff *skb)
 
void ath6kl_core_rx_complete (struct ath6kl *ar, struct sk_buff *skb, u8 pipe)
 
struct ath6klath6kl_core_create (struct device *dev)
 
int ath6kl_core_init (struct ath6kl *ar, enum ath6kl_htc_type htc_type)
 
void ath6kl_core_cleanup (struct ath6kl *ar)
 
void ath6kl_core_destroy (struct ath6kl *ar)
 

Macro Definition Documentation

#define AGGR_DCRM_IDX (   x,
  y 
)    AGGR_WIN_IDX(((x) - 1), (y))

Definition at line 204 of file core.h.

#define AGGR_INCR_IDX (   x,
  y 
)    AGGR_WIN_IDX(((x) + 1), (y))

Definition at line 203 of file core.h.

#define AGGR_NUM_OF_FREE_NETBUFS   16

Definition at line 216 of file core.h.

#define AGGR_RX_TIMEOUT   100 /* in ms */

Definition at line 218 of file core.h.

#define AGGR_SZ_DEFAULT   8

Definition at line 209 of file core.h.

#define AGGR_WIN_IDX (   x,
  y 
)    ((x) % (y))

Definition at line 202 of file core.h.

#define AGGR_WIN_SZ_MAX   8

Definition at line 212 of file core.h.

#define AGGR_WIN_SZ_MIN   2

Definition at line 211 of file core.h.

#define AR6003_CUST_DATA_SIZE   16

Definition at line 200 of file core.h.

#define AR6003_HW_1_0_VERSION   0x300002ba

Definition at line 138 of file core.h.

#define AR6003_HW_2_0_BOARD_DATA_FILE   AR6003_HW_2_0_FW_DIR "/bdata.bin"

Definition at line 148 of file core.h.

#define AR6003_HW_2_0_DEFAULT_BOARD_DATA_FILE   AR6003_HW_2_0_FW_DIR "/bdata.SD31.bin"

Definition at line 149 of file core.h.

#define AR6003_HW_2_0_FIRMWARE_FILE   "athwlan.bin.z77"

Definition at line 145 of file core.h.

#define AR6003_HW_2_0_FW_DIR   "ath6k/AR6003/hw2.0"

Definition at line 143 of file core.h.

#define AR6003_HW_2_0_OTP_FILE   "otp.bin.z77"

Definition at line 144 of file core.h.

#define AR6003_HW_2_0_PATCH_DOWNLOAD_ADDRESS   0x57e910

Definition at line 142 of file core.h.

#define AR6003_HW_2_0_PATCH_FILE   "data.patch.bin"

Definition at line 147 of file core.h.

#define AR6003_HW_2_0_TCMD_FIRMWARE_FILE   "athtcmd_ram.bin"

Definition at line 146 of file core.h.

#define AR6003_HW_2_0_VERSION   0x30000384

Definition at line 141 of file core.h.

#define AR6003_HW_2_1_1_BOARD_DATA_FILE   AR6003_HW_2_1_1_FW_DIR "/bdata.bin"

Definition at line 161 of file core.h.

#define AR6003_HW_2_1_1_DEFAULT_BOARD_DATA_FILE   AR6003_HW_2_1_1_FW_DIR "/bdata.SD31.bin"

Definition at line 162 of file core.h.

#define AR6003_HW_2_1_1_FIRMWARE_FILE   "athwlan.bin"

Definition at line 156 of file core.h.

#define AR6003_HW_2_1_1_FW_DIR   "ath6k/AR6003/hw2.1.1"

Definition at line 154 of file core.h.

#define AR6003_HW_2_1_1_OTP_FILE   "otp.bin"

Definition at line 155 of file core.h.

#define AR6003_HW_2_1_1_PATCH_FILE   "data.patch.bin"

Definition at line 160 of file core.h.

#define AR6003_HW_2_1_1_TCMD_FIRMWARE_FILE   "athtcmd_ram.bin"

Definition at line 157 of file core.h.

#define AR6003_HW_2_1_1_TESTSCRIPT_FILE   "nullTestFlow.bin"

Definition at line 159 of file core.h.

#define AR6003_HW_2_1_1_UTF_FIRMWARE_FILE   "utf.bin"

Definition at line 158 of file core.h.

#define AR6003_HW_2_1_1_VERSION   0x30000582

Definition at line 153 of file core.h.

#define AR6004_HW_1_0_BOARD_DATA_FILE   AR6004_HW_1_0_FW_DIR "/bdata.bin"

Definition at line 169 of file core.h.

#define AR6004_HW_1_0_DEFAULT_BOARD_DATA_FILE   AR6004_HW_1_0_FW_DIR "/bdata.DB132.bin"

Definition at line 170 of file core.h.

#define AR6004_HW_1_0_FIRMWARE_FILE   "fw.ram.bin"

Definition at line 168 of file core.h.

#define AR6004_HW_1_0_FW_DIR   "ath6k/AR6004/hw1.0"

Definition at line 167 of file core.h.

#define AR6004_HW_1_0_VERSION   0x30000623

Definition at line 166 of file core.h.

#define AR6004_HW_1_1_BOARD_DATA_FILE   AR6004_HW_1_1_FW_DIR "/bdata.bin"

Definition at line 177 of file core.h.

#define AR6004_HW_1_1_DEFAULT_BOARD_DATA_FILE   AR6004_HW_1_1_FW_DIR "/bdata.DB132.bin"

Definition at line 178 of file core.h.

#define AR6004_HW_1_1_FIRMWARE_FILE   "fw.ram.bin"

Definition at line 176 of file core.h.

#define AR6004_HW_1_1_FW_DIR   "ath6k/AR6004/hw1.1"

Definition at line 175 of file core.h.

#define AR6004_HW_1_1_VERSION   0x30000001

Definition at line 174 of file core.h.

#define AR6004_HW_1_2_BOARD_DATA_FILE   AR6004_HW_1_2_FW_DIR "/bdata.bin"

Definition at line 185 of file core.h.

#define AR6004_HW_1_2_DEFAULT_BOARD_DATA_FILE   AR6004_HW_1_2_FW_DIR "/bdata.bin"

Definition at line 186 of file core.h.

#define AR6004_HW_1_2_FIRMWARE_FILE   "fw.ram.bin"

Definition at line 184 of file core.h.

#define AR6004_HW_1_2_FW_DIR   "ath6k/AR6004/hw1.2"

Definition at line 183 of file core.h.

#define AR6004_HW_1_2_VERSION   0x300007e8

Definition at line 182 of file core.h.

#define AR_MCAST_FILTER_MAC_ADDR_SIZE   4

Definition at line 696 of file core.h.

#define ATH6K_MAX_MC_FILTERS_PER_LIST   7

Definition at line 506 of file core.h.

#define ATH6KL_AMSDU_BUFFER_SIZE   (WMI_MAX_AMSDU_RX_DATA_FRAME_LENGTH + 128)

Definition at line 37 of file core.h.

#define ATH6KL_AMSDU_REFILL_THRESHOLD   3

Definition at line 36 of file core.h.

#define ATH6KL_APSD_ALL_FRAME   0xFFFF

Definition at line 48 of file core.h.

#define ATH6KL_APSD_FRAME_MASK   0xF

Definition at line 50 of file core.h.

#define ATH6KL_APSD_NUM_OF_AC   0x4

Definition at line 49 of file core.h.

#define ATH6KL_BUFFER_SIZE   1664

Definition at line 34 of file core.h.

#define ATH6KL_CAPABILITY_LEN   (ALIGN(ATH6KL_FW_CAPABILITY_MAX, 32) / 32)

Definition at line 122 of file core.h.

#define ATH6KL_CONF_ENABLE_11N   BIT(2)

Definition at line 240 of file core.h.

#define ATH6KL_CONF_ENABLE_TX_BURST   BIT(3)

Definition at line 241 of file core.h.

#define ATH6KL_CONF_IGNORE_ERP_BARKER   BIT(0)

Definition at line 238 of file core.h.

#define ATH6KL_CONF_IGNORE_PS_FAIL_EVT_IN_SCAN   BIT(1)

Definition at line 239 of file core.h.

#define ATH6KL_CONF_UART_DEBUG   BIT(4)

Definition at line 242 of file core.h.

#define ATH6KL_CONTROL_PKT_TAG   HTC_TX_PACKET_TAG_USER_DEFINED

Definition at line 197 of file core.h.

#define ATH6KL_DATA_PKT_TAG   (ATH6KL_CONTROL_PKT_TAG + 1)

Definition at line 198 of file core.h.

#define ATH6KL_DEFAULT_BMISS_TIME   1500

Definition at line 225 of file core.h.

#define ATH6KL_DEFAULT_LISTEN_INTVAL   100 /* in TUs */

Definition at line 224 of file core.h.

#define ATH6KL_FG_SCAN_INTERVAL   50 /* in ms */

Definition at line 65 of file core.h.

#define ATH6KL_FIRMWARE_MAGIC   "QCA-ATH6KL"

Definition at line 68 of file core.h.

#define ATH6KL_FW_API2_FILE   "fw-2.bin"

Definition at line 134 of file core.h.

#define ATH6KL_FW_API3_FILE   "fw-3.bin"

Definition at line 135 of file core.h.

#define ATH6KL_HTC_ALIGN_BYTES   3

Definition at line 53 of file core.h.

#define ATH6KL_KEY_DEFAULT   0x80 /* default xmit key */

Definition at line 484 of file core.h.

#define ATH6KL_KEY_RECV   0x02

Definition at line 483 of file core.h.

#define ATH6KL_KEY_SEQ_LEN   8

Definition at line 321 of file core.h.

#define ATH6KL_KEY_XMIT   0x01

Definition at line 482 of file core.h.

#define ATH6KL_KEYBUF_SIZE   16

Definition at line 479 of file core.h.

#define ATH6KL_MAX_AMSDU_RX_BUFFERS   4

Definition at line 35 of file core.h.

#define ATH6KL_MAX_BMISS_TIME   5000

Definition at line 227 of file core.h.

#define ATH6KL_MAX_ENDPOINTS   4

Definition at line 45 of file core.h.

#define ATH6KL_MAX_RX_BUFFERS   16

Definition at line 33 of file core.h.

#define ATH6KL_MAX_SEQ_NO   0xFFF

Definition at line 205 of file core.h.

#define ATH6KL_MAX_WOW_LISTEN_INTL   300 /* in TUs */

Definition at line 226 of file core.h.

#define ATH6KL_MICBUF_SIZE   (8+8) /* space for both tx and rx */

Definition at line 480 of file core.h.

#define ATH6KL_NEXT_SEQ_NO (   x)    (((x) + 1) & ATH6KL_MAX_SEQ_NO)

Definition at line 206 of file core.h.

#define ATH6KL_SCHED_SCAN_RESULT_DELAY   5000 /* ms */

Definition at line 600 of file core.h.

#define ATH6KL_TX_TIMEOUT   10

Definition at line 44 of file core.h.

#define ATH6KL_VIF_MAX   3

Definition at line 522 of file core.h.

#define DISCON_TIMER_INTVAL   10000 /* in msec */

Definition at line 62 of file core.h.

#define MAX_ATH6KL   1

Definition at line 32 of file core.h.

#define MAX_COOKIE_NUM   (MAX_DEF_COOKIE_NUM + MAX_HI_COOKIE_NUM)

Definition at line 58 of file core.h.

#define MAX_DEF_COOKIE_NUM   180

Definition at line 56 of file core.h.

#define MAX_DEFAULT_SEND_QUEUE_DEPTH   (MAX_DEF_COOKIE_NUM / WMM_NUM_AC)

Definition at line 60 of file core.h.

#define MAX_HI_COOKIE_NUM   18 /* 10% of MAX_COOKIE_NUM */

Definition at line 57 of file core.h.

#define MAX_MSDU_SUBFRAME_PAYLOAD_LEN   1508

Definition at line 38 of file core.h.

#define MAX_NODE_NUM   15

Definition at line 46 of file core.h.

#define MBOX_YIELD_LIMIT   99

Definition at line 222 of file core.h.

#define MIN_MSDU_SUBFRAME_PAYLOAD_LEN   46

Definition at line 39 of file core.h.

#define NUM_OF_TIDS   8

Definition at line 208 of file core.h.

#define P2P_WILDCARD_SSID_LEN   7 /* DIRECT- */

Definition at line 244 of file core.h.

#define STA_PS_APSD_EOSP   BIT(4)

Definition at line 194 of file core.h.

#define STA_PS_APSD_TRIGGER   BIT(3)

Definition at line 193 of file core.h.

#define STA_PS_AWAKE   BIT(0)

Definition at line 190 of file core.h.

#define STA_PS_POLLED   BIT(2)

Definition at line 192 of file core.h.

#define STA_PS_SLEEP   BIT(1)

Definition at line 191 of file core.h.

#define TID_WINDOW_SZ (   _x)    ((_x) << 1)

Definition at line 214 of file core.h.

#define USER_SAVEDKEYS_STAT_INIT   0

Definition at line 41 of file core.h.

#define USER_SAVEDKEYS_STAT_RUN   1

Definition at line 42 of file core.h.

#define WMI_TIMEOUT   (2 * HZ)

Definition at line 220 of file core.h.

#define WOW_HOST_REQ_DELAY   500 /* ms */

Definition at line 598 of file core.h.

#define WOW_LIST_ID   0

Definition at line 597 of file core.h.

Enumeration Type Documentation

Enumerator:
WMI_ENABLED 
WMI_READY 
WMI_CTRL_EP_FULL 
TESTMODE 
DESTROY_IN_PROGRESS 
SKIP_SCAN 
ROAM_TBL_PEND 
FIRST_BOOT 

Definition at line 603 of file core.h.

Enumerator:
ATH6KL_FW_CAPABILITY_HOST_P2P 
ATH6KL_FW_CAPABILITY_SCHED_SCAN 
ATH6KL_FW_CAPABILITY_STA_P2PDEV_DUPLEX 
ATH6KL_FW_CAPABILITY_INACTIVITY_TIMEOUT 
ATH6KL_FW_CAPABILITY_RSN_CAP_OVERRIDE 
ATH6KL_FW_CAPABILITY_WOW_MULTICAST_FILTER 
ATH6KL_FW_CAPABILITY_BMISS_ENHANCE 
ATH6KL_FW_CAPABILITY_SCHED_SCAN_MATCH_LIST 
ATH6KL_FW_CAPABILITY_MAX 

Definition at line 83 of file core.h.

Enumerator:
ATH6KL_FW_IE_FW_VERSION 
ATH6KL_FW_IE_TIMESTAMP 
ATH6KL_FW_IE_OTP_IMAGE 
ATH6KL_FW_IE_FW_IMAGE 
ATH6KL_FW_IE_PATCH_IMAGE 
ATH6KL_FW_IE_RESERVED_RAM_SIZE 
ATH6KL_FW_IE_CAPABILITIES 
ATH6KL_FW_IE_PATCH_ADDR 
ATH6KL_FW_IE_BOARD_ADDR 
ATH6KL_FW_IE_VIF_MAX 

Definition at line 70 of file core.h.

Enumerator:
ATH6KL_HIF_TYPE_SDIO 
ATH6KL_HIF_TYPE_USB 

Definition at line 495 of file core.h.

Enumerator:
ATH6KL_HTC_TYPE_MBOX 
ATH6KL_HTC_TYPE_PIPE 

Definition at line 500 of file core.h.

Enumerator:
ATH6KL_HW_FLAG_64BIT_RATES 

Definition at line 130 of file core.h.

Enumerator:
ATH6KL_STATE_OFF 
ATH6KL_STATE_ON 
ATH6KL_STATE_SUSPENDING 
ATH6KL_STATE_RESUMING 
ATH6KL_STATE_DEEPSLEEP 
ATH6KL_STATE_CUTPOWER 
ATH6KL_STATE_WOW 
ATH6KL_STATE_SCHED_SCAN 

Definition at line 614 of file core.h.

Enumerator:
CONNECTED 
CONNECT_PEND 
WMM_ENABLED 
NETQ_STOPPED 
DTIM_EXPIRED 
NETDEV_REGISTERED 
CLEAR_BSSFILTER_ON_BEACON 
DTIM_PERIOD_AVAIL 
WLAN_ENABLED 
STATS_UPDATE_PEND 
HOST_SLEEP_MODE_CMD_PROCESSED 
NETDEV_MCAST_ALL_ON 
NETDEV_MCAST_ALL_OFF 

Definition at line 525 of file core.h.

enum sme_state
Enumerator:
SME_DISCONNECTED 
SME_CONNECTING 
SME_CONNECTED 

Definition at line 253 of file core.h.

Enumerator:
WLAN_POWER_STATE_ON 
WLAN_POWER_STATE_CUT_PWR 
WLAN_POWER_STATE_DEEP_SLEEP 
WLAN_POWER_STATE_WOW 

Definition at line 246 of file core.h.

Function Documentation

void aggr_conn_init ( struct ath6kl_vif vif,
struct aggr_info aggr_info,
struct aggr_info_conn aggr_conn 
)

Definition at line 1725 of file txrx.c.

struct aggr_info* aggr_init ( struct ath6kl_vif vif)
read

Definition at line 1750 of file txrx.c.

void aggr_module_destroy ( struct aggr_info aggr_info)

Definition at line 1841 of file txrx.c.

void aggr_recv_addba_req_evt ( struct ath6kl_vif vif,
u8  tid,
u16  seq_no,
u8  win_sz 
)

Definition at line 1676 of file txrx.c.

void aggr_recv_delba_req_evt ( struct ath6kl_vif vif,
u8  tid 
)

Definition at line 1775 of file txrx.c.

void aggr_reset_state ( struct aggr_info_conn aggr_conn)

Definition at line 1803 of file txrx.c.

enum htc_endpoint_id ath6kl_ac2_endpoint_id ( void devt,
u8  ac 
)

Definition at line 146 of file main.c.

struct htc_packet* ath6kl_alloc_amsdu_rxbuf ( struct htc_target target,
enum htc_endpoint_id  endpoint,
int  len 
)
read

Definition at line 928 of file txrx.c.

struct ath6kl_cookie* ath6kl_alloc_cookie ( struct ath6kl ar)
read

Definition at line 152 of file main.c.

void ath6kl_check_wow_status ( struct ath6kl ar)

Definition at line 2535 of file cfg80211.c.

void ath6kl_cleanup_amsdu_rxbufs ( struct ath6kl ar)

Definition at line 1820 of file txrx.c.

void ath6kl_cleanup_vif ( struct ath6kl_vif vif,
bool  wmi_ready 
)

Definition at line 1655 of file init.c.

int ath6kl_configure_target ( struct ath6kl ar)

Definition at line 491 of file init.c.

void ath6kl_connect_ap_mode_bss ( struct ath6kl_vif vif,
u16  channel 
)

Definition at line 400 of file main.c.

void ath6kl_connect_ap_mode_sta ( struct ath6kl_vif vif,
u16  aid,
u8 mac_addr,
u8  keymgmt,
u8  ucipher,
u8  auth,
u8  assoc_req_len,
u8 assoc_info,
u8  apsd_info 
)

Definition at line 451 of file main.c.

void ath6kl_connect_event ( struct ath6kl_vif vif,
u16  channel,
u8 bssid,
u16  listen_int,
u16  beacon_int,
enum network_type  net_type,
u8  beacon_ie_len,
u8  assoc_req_len,
u8  assoc_resp_len,
u8 assoc_info 
)

Definition at line 638 of file main.c.

int ath6kl_control_tx ( void devt,
struct sk_buff skb,
enum htc_endpoint_id  eid 
)

Definition at line 284 of file txrx.c.

void ath6kl_cookie_cleanup ( struct ath6kl ar)

Definition at line 178 of file main.c.

void ath6kl_cookie_init ( struct ath6kl ar)

Definition at line 165 of file main.c.

void ath6kl_core_cleanup ( struct ath6kl ar)

Definition at line 290 of file core.c.

struct ath6kl* ath6kl_core_create ( struct device dev)
read

Definition at line 227 of file core.c.

void ath6kl_core_destroy ( struct ath6kl ar)

Definition at line 317 of file core.c.

int ath6kl_core_init ( struct ath6kl ar,
enum ath6kl_htc_type  htc_type 
)

Definition at line 56 of file core.c.

void ath6kl_core_rx_complete ( struct ath6kl ar,
struct sk_buff skb,
u8  pipe 
)

Definition at line 50 of file core.c.

void ath6kl_core_tx_complete ( struct ath6kl ar,
struct sk_buff skb 
)

Definition at line 44 of file core.c.

int ath6kl_data_tx ( struct sk_buff skb,
struct net_device dev 
)

Definition at line 343 of file txrx.c.

void ath6kl_detect_error ( unsigned long  ptr)
int ath6kl_diag_read ( struct ath6kl ar,
u32  address,
void data,
u32  length 
)

Definition at line 233 of file main.c.

int ath6kl_diag_read32 ( struct ath6kl ar,
u32  address,
u32 value 
)

Definition at line 200 of file main.c.

int ath6kl_diag_write ( struct ath6kl ar,
u32  address,
void data,
u32  length 
)

Definition at line 250 of file main.c.

int ath6kl_diag_write32 ( struct ath6kl ar,
u32  address,
__le32  value 
)

Definition at line 218 of file main.c.

void ath6kl_disconnect ( struct ath6kl_vif vif)

Definition at line 535 of file main.c.

void ath6kl_disconnect_event ( struct ath6kl_vif vif,
u8  reason,
u8 bssid,
u8  assoc_resp_len,
u8 assoc_info,
u16  prot_reason_status 
)

Definition at line 975 of file main.c.

void ath6kl_dtimexpiry_event ( struct ath6kl_vif vif)

Definition at line 931 of file main.c.

struct ath6kl_sta* ath6kl_find_sta ( struct ath6kl_vif vif,
u8 node_addr 
)
read

Definition at line 26 of file main.c.

struct ath6kl_sta* ath6kl_find_sta_by_aid ( struct ath6kl ar,
u8  aid 
)
read

Definition at line 44 of file main.c.

void ath6kl_free_cookie ( struct ath6kl ar,
struct ath6kl_cookie cookie 
)

Definition at line 184 of file main.c.

void ath6kl_indicate_tx_activity ( void devt,
u8  traffic_class,
bool  active 
)

Definition at line 516 of file txrx.c.

void ath6kl_init_control_info ( struct ath6kl_vif vif)

Definition at line 359 of file init.c.

int ath6kl_init_fetch_firmwares ( struct ath6kl ar)

Definition at line 1079 of file init.c.

int ath6kl_init_hw_params ( struct ath6kl ar)

Definition at line 1476 of file init.c.

int ath6kl_init_hw_start ( struct ath6kl ar)

Definition at line 1523 of file init.c.

int ath6kl_init_hw_stop ( struct ath6kl ar)

Definition at line 1633 of file init.c.

void ath6kl_init_profile_info ( struct ath6kl_vif vif)

Definition at line 189 of file init.c.

void ath6kl_pspoll_event ( struct ath6kl_vif vif,
u8  aid 
)

Definition at line 875 of file main.c.

int ath6kl_read_fwlogs ( struct ath6kl ar)

Definition at line 268 of file main.c.

void ath6kl_ready_event ( void devt,
u8 datap,
u32  sw_ver,
u32  abi_ver,
enum wmi_phy_cap  cap 
)

Definition at line 551 of file main.c.

void ath6kl_refill_amsdu_rxbufs ( struct ath6kl ar,
int  count 
)

Definition at line 900 of file txrx.c.

void ath6kl_reset_device ( struct ath6kl ar,
u32  target_type,
bool  wait_fot_compltn,
bool  cold_reset 
)

Definition at line 347 of file main.c.

void ath6kl_rx ( struct htc_target target,
struct htc_packet packet 
)

Definition at line 1282 of file txrx.c.

void ath6kl_rx_refill ( struct htc_target target,
enum htc_endpoint_id  endpoint 
)

Definition at line 861 of file txrx.c.

void ath6kl_scan_complete_evt ( struct ath6kl_vif vif,
int  status 
)

Definition at line 581 of file main.c.

void ath6kl_stop_txrx ( struct ath6kl ar)

Definition at line 1686 of file init.c.

void ath6kl_tgt_stats_event ( struct ath6kl_vif vif,
u8 ptr,
u32  len 
)

Definition at line 829 of file main.c.

void ath6kl_tkip_micerr_event ( struct ath6kl_vif vif,
u8  keyid,
bool  ismcast 
)

Definition at line 686 of file main.c.

void ath6kl_tx_complete ( struct htc_target context,
struct list_head packet_queue 
)

Definition at line 670 of file txrx.c.

void ath6kl_tx_data_cleanup ( struct ath6kl ar)

Definition at line 802 of file txrx.c.

enum htc_send_full_action ath6kl_tx_queue_full ( struct htc_target target,
struct htc_packet packet 
)

Definition at line 577 of file txrx.c.

void ath6kl_txpwr_rx_evt ( void devt,
u8  tx_pwr 
)

Definition at line 867 of file main.c.

struct ath6kl_vif* ath6kl_vif_first ( struct ath6kl ar)
read

Definition at line 1063 of file main.c.

void ath6kl_wakeup_event ( void dev)

Definition at line 860 of file main.c.

void disconnect_timer_handler ( unsigned long  ptr)

Definition at line 526 of file main.c.

void init_netdev ( struct net_device dev)

Definition at line 1286 of file main.c.