Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
cmd.h File Reference
#include "wl1251.h"
#include <net/cfg80211.h>

Go to the source code of this file.

Data Structures

struct  wl1251_cmd_header
 
struct  wl1251_command
 
struct  cmd_read_write_memory
 
struct  wl1251_scan_parameters
 
struct  wl1251_scan_ch_parameters
 
struct  wl1251_cmd_scan
 
struct  cmd_join
 
struct  cmd_enabledisable_path
 
struct  wl1251_cmd_packet_template
 
struct  wl1251_tim
 
struct  wl1251_cmd_vbm_update
 
struct  wl1251_cmd_ps_params
 
struct  wl1251_cmd_trigger_scan_to
 
struct  wl1251_cmd_set_keys
 

Macros

#define WL1251_COMMAND_TIMEOUT   2000
 
#define MAX_CMD_PARAMS   572
 
#define MAX_READ_SIZE   256
 
#define CMDMBOX_HEADER_LEN   4
 
#define CMDMBOX_INFO_ELEM_HEADER_LEN   4
 
#define WL1251_SCAN_MIN_DURATION   30000
 
#define WL1251_SCAN_MAX_DURATION   60000
 
#define WL1251_SCAN_NUM_PROBES   3
 
#define SCAN_MAX_NUM_OF_CHANNELS   16
 
#define JOIN_CMD_CTRL_TX_FLUSH   0x80 /* Firmware flushes all Tx */
 
#define JOIN_CMD_CTRL_EARLY_WAKEUP_ENABLE   0x01 /* Early wakeup time */
 
#define WL1251_MAX_TEMPLATE_SIZE   300
 
#define TIM_ELE_ID   5
 
#define PARTIAL_VBM_MAX   251
 
#define NUM_ACCESS_CATEGORIES_COPY   4
 
#define MAX_KEY_SIZE   32
 
#define DF_ENCRYPTION_DISABLE   0x01
 
#define DF_SNIFF_MODE_ENABLE   0x80
 

Enumerations

enum  wl1251_commands {
  CMD_RESET = 0, CMD_INTERROGATE = 1, CMD_CONFIGURE = 2, CMD_ENABLE_RX = 3,
  CMD_ENABLE_TX = 4, CMD_DISABLE_RX = 5, CMD_DISABLE_TX = 6, CMD_SCAN = 8,
  CMD_STOP_SCAN = 9, CMD_VBM = 10, CMD_START_JOIN = 11, CMD_SET_KEYS = 12,
  CMD_READ_MEMORY = 13, CMD_WRITE_MEMORY = 14, CMD_BEACON = 19, CMD_PROBE_RESP = 20,
  CMD_NULL_DATA = 21, CMD_PROBE_REQ = 22, CMD_TEST = 23, CMD_RADIO_CALIBRATE = 25,
  CMD_ENABLE_RX_PATH = 27, CMD_NOISE_HIST = 28, CMD_RX_RESET = 29, CMD_PS_POLL = 30,
  CMD_QOS_NULL_DATA = 31, CMD_LNA_CONTROL = 32, CMD_SET_BCN_MODE = 33, CMD_MEASUREMENT = 34,
  CMD_STOP_MEASUREMENT = 35, CMD_DISCONNECT = 36, CMD_SET_PS_MODE = 37, CMD_CHANNEL_SWITCH = 38,
  CMD_STOP_CHANNEL_SWICTH = 39, CMD_AP_DISCOVERY = 40, CMD_STOP_AP_DISCOVERY = 41, CMD_SPS_SCAN = 42,
  CMD_STOP_SPS_SCAN = 43, CMD_HEALTH_CHECK = 45, CMD_DEBUG = 46, CMD_TRIGGER_SCAN_TO = 47,
  NUM_COMMANDS, MAX_COMMAND_ID = 0xFFFF
}
 
enum  {
  CMD_MAILBOX_IDLE = 0, CMD_STATUS_SUCCESS = 1, CMD_STATUS_UNKNOWN_CMD = 2, CMD_STATUS_UNKNOWN_IE = 3,
  CMD_STATUS_REJECT_MEAS_SG_ACTIVE = 11, CMD_STATUS_RX_BUSY = 13, CMD_STATUS_INVALID_PARAM = 14, CMD_STATUS_TEMPLATE_TOO_LARGE = 15,
  CMD_STATUS_OUT_OF_MEMORY = 16, CMD_STATUS_STA_TABLE_FULL = 17, CMD_STATUS_RADIO_ERROR = 18, CMD_STATUS_WRONG_NESTING = 19,
  CMD_STATUS_TIMEOUT = 21, CMD_STATUS_FW_RESET = 22, MAX_COMMAND_STATUS = 0xff
}
 
enum  { BSS_TYPE_IBSS = 0, BSS_TYPE_STA_BSS = 2, BSS_TYPE_AP_BSS = 3, MAX_BSS_TYPE = 0xFF }
 
enum  wl1251_cmd_ps_mode { CHIP_ACTIVE_MODE, CHIP_POWER_SAVE_MODE }
 
enum  wl1251_cmd_key_action { KEY_ADD_OR_REPLACE = 1, KEY_REMOVE = 2, KEY_SET_ID = 3, MAX_KEY_ACTION = 0xffff }
 
enum  wl1251_cmd_key_type {
  KEY_WEP_DEFAULT = 0, KEY_WEP_ADDR = 1, KEY_AES_GROUP = 4, KEY_AES_PAIRWISE = 5,
  KEY_WEP_GROUP = 6, KEY_TKIP_MIC_GROUP = 10, KEY_TKIP_MIC_PAIRWISE = 11
}
 

Functions

int wl1251_cmd_send (struct wl1251 *wl, u16 type, void *buf, size_t buf_len)
 
int wl1251_cmd_test (struct wl1251 *wl, void *buf, size_t buf_len, u8 answer)
 
int wl1251_cmd_interrogate (struct wl1251 *wl, u16 id, void *buf, size_t len)
 
int wl1251_cmd_configure (struct wl1251 *wl, u16 id, void *buf, size_t len)
 
int wl1251_cmd_vbm (struct wl1251 *wl, u8 identity, void *bitmap, u16 bitmap_len, u8 bitmap_control)
 
int wl1251_cmd_data_path (struct wl1251 *wl, u8 channel, bool enable)
 
int wl1251_cmd_join (struct wl1251 *wl, u8 bss_type, u8 channel, u16 beacon_interval, u8 dtim_interval)
 
int wl1251_cmd_ps_mode (struct wl1251 *wl, u8 ps_mode)
 
int wl1251_cmd_read_memory (struct wl1251 *wl, u32 addr, void *answer, size_t len)
 
int wl1251_cmd_template_set (struct wl1251 *wl, u16 cmd_id, void *buf, size_t buf_len)
 
int wl1251_cmd_scan (struct wl1251 *wl, u8 *ssid, size_t ssid_len, struct ieee80211_channel *channels[], unsigned int n_channels, unsigned int n_probes)
 
int wl1251_cmd_trigger_scan_to (struct wl1251 *wl, u32 timeout)
 

Variables

struct wl1251_cmd_header __packed
 

Macro Definition Documentation

#define CMDMBOX_HEADER_LEN   4

Definition at line 167 of file cmd.h.

#define CMDMBOX_INFO_ELEM_HEADER_LEN   4

Definition at line 168 of file cmd.h.

#define DF_ENCRYPTION_DISABLE   0x01

Definition at line 347 of file cmd.h.

#define DF_SNIFF_MODE_ENABLE   0x80

Definition at line 349 of file cmd.h.

#define JOIN_CMD_CTRL_EARLY_WAKEUP_ENABLE   0x01 /* Early wakeup time */

Definition at line 239 of file cmd.h.

#define JOIN_CMD_CTRL_TX_FLUSH   0x80 /* Firmware flushes all Tx */

Definition at line 238 of file cmd.h.

#define MAX_CMD_PARAMS   572

Definition at line 100 of file cmd.h.

#define MAX_KEY_SIZE   32

Definition at line 344 of file cmd.h.

#define MAX_READ_SIZE   256

Definition at line 149 of file cmd.h.

#define NUM_ACCESS_CATEGORIES_COPY   4

Definition at line 343 of file cmd.h.

#define PARTIAL_VBM_MAX   251

Definition at line 296 of file cmd.h.

#define SCAN_MAX_NUM_OF_CHANNELS   16

Definition at line 222 of file cmd.h.

#define TIM_ELE_ID   5

Definition at line 295 of file cmd.h.

#define WL1251_COMMAND_TIMEOUT   2000

Definition at line 52 of file cmd.h.

#define WL1251_MAX_TEMPLATE_SIZE   300

Definition at line 286 of file cmd.h.

#define WL1251_SCAN_MAX_DURATION   60000

Definition at line 171 of file cmd.h.

#define WL1251_SCAN_MIN_DURATION   30000

Definition at line 170 of file cmd.h.

#define WL1251_SCAN_NUM_PROBES   3

Definition at line 173 of file cmd.h.

Enumeration Type Documentation

anonymous enum
Enumerator:
CMD_MAILBOX_IDLE 
CMD_STATUS_SUCCESS 
CMD_STATUS_UNKNOWN_CMD 
CMD_STATUS_UNKNOWN_IE 
CMD_STATUS_REJECT_MEAS_SG_ACTIVE 
CMD_STATUS_RX_BUSY 
CMD_STATUS_INVALID_PARAM 
CMD_STATUS_TEMPLATE_TOO_LARGE 
CMD_STATUS_OUT_OF_MEMORY 
CMD_STATUS_STA_TABLE_FULL 
CMD_STATUS_RADIO_ERROR 
CMD_STATUS_WRONG_NESTING 
CMD_STATUS_TIMEOUT 
CMD_STATUS_FW_RESET 
MAX_COMMAND_STATUS 

Definition at line 114 of file cmd.h.

anonymous enum
Enumerator:
BSS_TYPE_IBSS 
BSS_TYPE_STA_BSS 
BSS_TYPE_AP_BSS 
MAX_BSS_TYPE 

Definition at line 231 of file cmd.h.

Enumerator:
KEY_ADD_OR_REPLACE 
KEY_REMOVE 
KEY_SET_ID 
MAX_KEY_ACTION 

Definition at line 351 of file cmd.h.

Enumerator:
KEY_WEP_DEFAULT 
KEY_WEP_ADDR 
KEY_AES_GROUP 
KEY_AES_PAIRWISE 
KEY_WEP_GROUP 
KEY_TKIP_MIC_GROUP 
KEY_TKIP_MIC_PAIRWISE 

Definition at line 358 of file cmd.h.

Enumerator:
CHIP_ACTIVE_MODE 
CHIP_POWER_SAVE_MODE 

Definition at line 315 of file cmd.h.

Enumerator:
CMD_RESET 
CMD_INTERROGATE 
CMD_CONFIGURE 
CMD_ENABLE_RX 
CMD_ENABLE_TX 
CMD_DISABLE_RX 
CMD_DISABLE_TX 
CMD_SCAN 
CMD_STOP_SCAN 
CMD_VBM 
CMD_START_JOIN 
CMD_SET_KEYS 
CMD_READ_MEMORY 
CMD_WRITE_MEMORY 
CMD_BEACON 
CMD_PROBE_RESP 
CMD_NULL_DATA 
CMD_PROBE_REQ 
CMD_TEST 
CMD_RADIO_CALIBRATE 
CMD_ENABLE_RX_PATH 
CMD_NOISE_HIST 
CMD_RX_RESET 
CMD_PS_POLL 
CMD_QOS_NULL_DATA 
CMD_LNA_CONTROL 
CMD_SET_BCN_MODE 
CMD_MEASUREMENT 
CMD_STOP_MEASUREMENT 
CMD_DISCONNECT 
CMD_SET_PS_MODE 
CMD_CHANNEL_SWITCH 
CMD_STOP_CHANNEL_SWICTH 
CMD_AP_DISCOVERY 
CMD_STOP_AP_DISCOVERY 
CMD_SPS_SCAN 
CMD_STOP_SPS_SCAN 
CMD_HEALTH_CHECK 
CMD_DEBUG 
CMD_TRIGGER_SCAN_TO 
NUM_COMMANDS 
MAX_COMMAND_ID 

Definition at line 54 of file cmd.h.

Function Documentation

int wl1251_cmd_configure ( struct wl1251 wl,
u16  id,
void buf,
size_t  len 
)

write acx value to firmware

: wl struct : acx id : buffer containing acx, including all headers, must work with dma : length of buf

Definition at line 147 of file cmd.c.

int wl1251_cmd_data_path ( struct wl1251 wl,
u8  channel,
bool  enable 
)

Definition at line 206 of file cmd.c.

int wl1251_cmd_interrogate ( struct wl1251 wl,
u16  id,
void buf,
size_t  len 
)

read acx from firmware

: wl struct : acx id : buffer for the response, including all headers, must work with dma : length of buf

Definition at line 109 of file cmd.c.

int wl1251_cmd_join ( struct wl1251 wl,
u8  bss_type,
u8  channel,
u16  beacon_interval,
u8  dtim_interval 
)

Definition at line 255 of file cmd.c.

int wl1251_cmd_ps_mode ( struct wl1251 wl,
u8  ps_mode 
)

Definition at line 300 of file cmd.c.

int wl1251_cmd_read_memory ( struct wl1251 wl,
u32  addr,
void answer,
size_t  len 
)

Definition at line 331 of file cmd.c.

int wl1251_cmd_scan ( struct wl1251 wl,
u8 ssid,
size_t  ssid_len,
struct ieee80211_channel channels[],
unsigned int  n_channels,
unsigned int  n_probes 
)

Definition at line 406 of file cmd.c.

int wl1251_cmd_send ( struct wl1251 wl,
u16  id,
void buf,
size_t  len 
)

send command to firmware

: wl struct : command id : buffer containing the command, must work with dma : length of the buffer

Definition at line 21 of file cmd.c.

int wl1251_cmd_template_set ( struct wl1251 wl,
u16  cmd_id,
void buf,
size_t  buf_len 
)

Definition at line 371 of file cmd.c.

int wl1251_cmd_test ( struct wl1251 wl,
void buf,
size_t  buf_len,
u8  answer 
)

send test command to firmware

: wl struct : buffer containing the command, with all headers, must work with dma : length of the buffer : is answer needed

Definition at line 68 of file cmd.c.

int wl1251_cmd_trigger_scan_to ( struct wl1251 wl,
u32  timeout 
)

Definition at line 465 of file cmd.c.

int wl1251_cmd_vbm ( struct wl1251 wl,
u8  identity,
void bitmap,
u16  bitmap_len,
u8  bitmap_control 
)

Definition at line 168 of file cmd.c.

Variable Documentation