Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
pub.h File Reference
#include <linux/bcma/bcma.h>
#include <brcmu_wifi.h>
#include "types.h"
#include "defs.h"

Go to the source code of this file.

Data Structures

struct  brcm_rateset
struct  brcms_c_rateset
struct  brcms_bss_info
struct  brcms_pub
struct  brcms_antselcfg


#define BRCMS_NUMRATES   16 /* max # of rates in a rateset */
#define PHY_TYPE_A   0 /* Phy type A */
#define PHY_TYPE_G   2 /* Phy type G */
#define PHY_TYPE_N   4 /* Phy type N */
#define PHY_TYPE_LP   5 /* Phy type Low Power A/B/G */
#define PHY_TYPE_SSN   6 /* Phy type Single Stream N */
#define PHY_TYPE_LCN   8 /* Phy type Single Stream N */
#define PHY_TYPE_LCNXN   9 /* Phy type 2-stream N */
#define PHY_TYPE_HT   7 /* Phy type 3-Stream N */
#define BRCMS_10_MHZ   10 /* 10Mhz nphy channel bandwidth */
#define BRCMS_20_MHZ   20 /* 20Mhz nphy channel bandwidth */
#define BRCMS_40_MHZ   40 /* 40Mhz nphy channel bandwidth */
#define BRCMS_RSSI_MINVAL   -200 /* Low value, e.g. for forcing roam */
#define BRCMS_RSSI_NO_SIGNAL   -91 /* NDIS RSSI link quality cutoffs */
#define BRCMS_RSSI_VERY_LOW   -80 /* Very low quality cutoffs */
#define BRCMS_RSSI_LOW   -70 /* Low quality cutoffs */
#define BRCMS_RSSI_GOOD   -68 /* Good quality cutoffs */
#define BRCMS_RSSI_VERY_GOOD   -58 /* Very good quality cutoffs */
#define BRCMS_RSSI_EXCELLENT   -57 /* Excellent quality cutoffs */
#define BRCMS_TXPWR_MAX   (127) /* ~32 dBm = 1,500 mW */
#define BRCMS_RATE_FLAG   0x80 /* Flag to indicate it is a basic rate */
#define BRCMS_RATE_MASK   0x7f /* Rate value mask w/o basic rate flag */
#define ANT_RX_DIV_FORCE_0   0 /* Use antenna 0 */
#define ANT_RX_DIV_FORCE_1   1 /* Use antenna 1 */
#define ANT_RX_DIV_START_1   2 /* Choose starting with 1 */
#define ANT_RX_DIV_START_0   3 /* Choose starting with 0 */
#define ANT_RX_DIV_ENABLE   3 /* APHY bbConfig Enable RX Diversity */
#define ANT_TX_FORCE_0   0
#define ANT_TX_FORCE_1   1
#define ANT_TX_LAST_RX   3
#define ANT_TX_DEF   3
#define TXCHAIN_DEF   0x1
#define TXCHAIN_DEF_NPHY   0x3
#define TXCHAIN_DEF_HTPHY   0x7
#define RXCHAIN_DEF   0x1
#define RXCHAIN_DEF_NPHY   0x3
#define RXCHAIN_DEF_HTPHY   0x7
#define ANTSWITCH_NONE   0
#define ANTSWITCH_TYPE_1   1
#define ANTSWITCH_TYPE_2   2
#define ANTSWITCH_TYPE_3   3
#define MAX_STREAMS_SUPPORTED   4 /* max number of streams supported */
#define AMPDU_DEF_MPDU_DENSITY   6 /* default mpdu density (110 ==> 4us) */
#define MAC80211_PROMISC_BCNS   (1 << 0)
#define MAC80211_SCAN   (1 << 1)
#define ENAB_1x1   0x01
#define ENAB_2x2   0x02
#define ENAB_3x3   0x04
#define ENAB_4x4   0x08
#define SUPPORT_11N   (ENAB_1x1|ENAB_2x2)
#define SUPPORT_HT   (ENAB_1x1|ENAB_2x2|ENAB_3x3)
#define AMPDU_AGG_HOST   1
#define BRCMS_PRIO_TO_PREC(pri)   wlc_prio2prec_map[(pri) & 7]
#define BRCMS_PREC_COUNT   16 /* Max precedence level implemented */
#define BRCMS_PRIO_TO_HI_PREC(pri)
#define BRCMS_PROT_G_SPEC   1 /* SPEC g protection */
#define BRCMS_PROT_G_OVR   2 /* SPEC g prot override */
#define BRCMS_PROT_G_USER   3 /* gmode specified by user */
#define BRCMS_PROT_OVERLAP   4 /* overlap */
#define BRCMS_PROT_N_USER   10 /* nmode specified by user */
#define BRCMS_PROT_N_CFG   11 /* n protection */
#define BRCMS_PROT_N_CFG_OVR   12 /* n protection override */
#define BRCMS_PROT_N_NONGF   13 /* non-GF protection */
#define BRCMS_PROT_N_NONGF_OVR   14 /* non-GF protection override */
#define BRCMS_PROT_N_PAM_OVR   15 /* n preamble override */
#define BRCMS_PROT_N_OBSS   16 /* non-HT OBSS present */
#define GMODE_LEGACY_B   0
#define GMODE_AUTO   1
#define GMODE_ONLY   2
#define GMODE_B_DEFERRED   3
#define GMODE_LRS   5
#define GMODE_MAX   6
#define MAXBANDS   2 /* Maximum #of bands */
#define ANT_SELCFG_MAX   4




struct brcms_c_infobrcms_c_attach (struct brcms_info *wl, struct bcma_device *core, uint unit, bool piomode, uint *perr)
uint brcms_c_detach (struct brcms_c_info *wlc)
int brcms_c_up (struct brcms_c_info *wlc)
uint brcms_c_down (struct brcms_c_info *wlc)
bool brcms_c_chipmatch (struct bcma_device *core)
void brcms_c_init (struct brcms_c_info *wlc, bool mute_tx)
void brcms_c_reset (struct brcms_c_info *wlc)
void brcms_c_intrson (struct brcms_c_info *wlc)
u32 brcms_c_intrsoff (struct brcms_c_info *wlc)
void brcms_c_intrsrestore (struct brcms_c_info *wlc, u32 macintmask)
bool brcms_c_intrsupd (struct brcms_c_info *wlc)
bool brcms_c_isr (struct brcms_c_info *wlc, bool *wantdpc)
bool brcms_c_dpc (struct brcms_c_info *wlc, bool bounded)
void brcms_c_sendpkt_mac80211 (struct brcms_c_info *wlc, struct sk_buff *sdu, struct ieee80211_hw *hw)
bool brcms_c_aggregatable (struct brcms_c_info *wlc, u8 tid)
void brcms_c_protection_upd (struct brcms_c_info *wlc, uint idx, int val)
int brcms_c_get_header_len (void)
void brcms_c_set_addrmatch (struct brcms_c_info *wlc, int match_reg_offset, const u8 *addr)
void brcms_c_wme_setparams (struct brcms_c_info *wlc, u16 aci, const struct ieee80211_tx_queue_params *arg, bool suspend)
struct brcms_pubbrcms_c_pub (struct brcms_c_info *wlc)
void brcms_c_ampdu_flush (struct brcms_c_info *wlc, struct ieee80211_sta *sta, u16 tid)
void brcms_c_ampdu_tx_operational (struct brcms_c_info *wlc, u8 tid, u8 ba_wsize, uint max_rx_ampdu_bytes)
int brcms_c_module_register (struct brcms_pub *pub, const char *name, struct brcms_info *hdl, int(*down_fn)(void *handle))
int brcms_c_module_unregister (struct brcms_pub *pub, const char *name, struct brcms_info *hdl)
void brcms_c_suspend_mac_and_wait (struct brcms_c_info *wlc)
void brcms_c_enable_mac (struct brcms_c_info *wlc)
void brcms_c_associate_upd (struct brcms_c_info *wlc, bool state)
void brcms_c_scan_start (struct brcms_c_info *wlc)
void brcms_c_scan_stop (struct brcms_c_info *wlc)
int brcms_c_get_curband (struct brcms_c_info *wlc)
void brcms_c_wait_for_tx_completion (struct brcms_c_info *wlc, bool drop)
int brcms_c_set_channel (struct brcms_c_info *wlc, u16 channel)
int brcms_c_set_rate_limit (struct brcms_c_info *wlc, u16 srl, u16 lrl)
void brcms_c_get_current_rateset (struct brcms_c_info *wlc, struct brcm_rateset *currs)
int brcms_c_set_rateset (struct brcms_c_info *wlc, struct brcm_rateset *rs)
int brcms_c_set_beacon_period (struct brcms_c_info *wlc, u16 period)
u16 brcms_c_get_phy_type (struct brcms_c_info *wlc, int phyidx)
void brcms_c_set_shortslot_override (struct brcms_c_info *wlc, s8 sslot_override)
void brcms_c_set_beacon_listen_interval (struct brcms_c_info *wlc, u8 interval)
int brcms_c_set_tx_power (struct brcms_c_info *wlc, int txpwr)
int brcms_c_get_tx_power (struct brcms_c_info *wlc)
bool brcms_c_check_radio_disabled (struct brcms_c_info *wlc)
void brcms_c_mute (struct brcms_c_info *wlc, bool on)


const u8 wlc_prio2prec_map []

Macro Definition Documentation

#define AMPDU_AGG_HOST   1

Definition at line 201 of file pub.h.

#define AMPDU_DEF_MPDU_DENSITY   6 /* default mpdu density (110 ==> 4us) */

Definition at line 122 of file pub.h.


Definition at line 66 of file pub.h.

#define ANT_RX_DIV_ENABLE   3 /* APHY bbConfig Enable RX Diversity */

Definition at line 64 of file pub.h.

#define ANT_RX_DIV_FORCE_0   0 /* Use antenna 0 */

Definition at line 60 of file pub.h.

#define ANT_RX_DIV_FORCE_1   1 /* Use antenna 1 */

Definition at line 61 of file pub.h.

#define ANT_RX_DIV_START_0   3 /* Choose starting with 0 */

Definition at line 63 of file pub.h.

#define ANT_RX_DIV_START_1   2 /* Choose starting with 1 */

Definition at line 62 of file pub.h.

#define ANT_SELCFG_MAX   4

Definition at line 299 of file pub.h.

#define ANT_TX_DEF   3

Definition at line 76 of file pub.h.

#define ANT_TX_FORCE_0   0

Definition at line 70 of file pub.h.

#define ANT_TX_FORCE_1   1

Definition at line 72 of file pub.h.

#define ANT_TX_LAST_RX   3

Definition at line 74 of file pub.h.

#define ANTSWITCH_NONE   0

Definition at line 92 of file pub.h.

#define ANTSWITCH_TYPE_1   1

Definition at line 94 of file pub.h.

#define ANTSWITCH_TYPE_2   2

Definition at line 96 of file pub.h.

#define ANTSWITCH_TYPE_3   3

Definition at line 98 of file pub.h.

#define BRCMS_10_MHZ   10 /* 10Mhz nphy channel bandwidth */

Definition at line 38 of file pub.h.

#define BRCMS_20_MHZ   20 /* 20Mhz nphy channel bandwidth */

Definition at line 39 of file pub.h.

#define BRCMS_40_MHZ   40 /* 40Mhz nphy channel bandwidth */

Definition at line 40 of file pub.h.

#define BRCMS_NUMRATES   16 /* max # of rates in a rateset */

Definition at line 25 of file pub.h.


Definition at line 212 of file pub.h.

#define BRCMS_PREC_COUNT   16 /* Max precedence level implemented */

Definition at line 209 of file pub.h.

#define BRCMS_PRIO_TO_HI_PREC (   pri)

Definition at line 219 of file pub.h.

#define BRCMS_PRIO_TO_PREC (   pri)    wlc_prio2prec_map[(pri) & 7]

Definition at line 207 of file pub.h.

#define BRCMS_PROT_G_OVR   2 /* SPEC g prot override */

Definition at line 242 of file pub.h.

#define BRCMS_PROT_G_SPEC   1 /* SPEC g protection */

Definition at line 241 of file pub.h.

#define BRCMS_PROT_G_USER   3 /* gmode specified by user */

Definition at line 243 of file pub.h.

#define BRCMS_PROT_N_CFG   11 /* n protection */

Definition at line 246 of file pub.h.

#define BRCMS_PROT_N_CFG_OVR   12 /* n protection override */

Definition at line 247 of file pub.h.

#define BRCMS_PROT_N_NONGF   13 /* non-GF protection */

Definition at line 248 of file pub.h.

#define BRCMS_PROT_N_NONGF_OVR   14 /* non-GF protection override */

Definition at line 249 of file pub.h.

#define BRCMS_PROT_N_OBSS   16 /* non-HT OBSS present */

Definition at line 251 of file pub.h.

#define BRCMS_PROT_N_PAM_OVR   15 /* n preamble override */

Definition at line 250 of file pub.h.

#define BRCMS_PROT_N_USER   10 /* nmode specified by user */

Definition at line 245 of file pub.h.

#define BRCMS_PROT_OVERLAP   4 /* overlap */

Definition at line 244 of file pub.h.

#define BRCMS_RATE_FLAG   0x80 /* Flag to indicate it is a basic rate */

Definition at line 56 of file pub.h.

#define BRCMS_RATE_MASK   0x7f /* Rate value mask w/o basic rate flag */

Definition at line 57 of file pub.h.

#define BRCMS_RSSI_EXCELLENT   -57 /* Excellent quality cutoffs */

Definition at line 48 of file pub.h.

#define BRCMS_RSSI_GOOD   -68 /* Good quality cutoffs */

Definition at line 46 of file pub.h.

#define BRCMS_RSSI_LOW   -70 /* Low quality cutoffs */

Definition at line 45 of file pub.h.

#define BRCMS_RSSI_MINVAL   -200 /* Low value, e.g. for forcing roam */

Definition at line 42 of file pub.h.

#define BRCMS_RSSI_NO_SIGNAL   -91 /* NDIS RSSI link quality cutoffs */

Definition at line 43 of file pub.h.

#define BRCMS_RSSI_VERY_GOOD   -58 /* Very good quality cutoffs */

Definition at line 47 of file pub.h.

#define BRCMS_RSSI_VERY_LOW   -80 /* Very low quality cutoffs */

Definition at line 44 of file pub.h.

#define BRCMS_TXPWR_MAX   (127) /* ~32 dBm = 1,500 mW */

Definition at line 53 of file pub.h.

#define ENAB_1x1   0x01

Definition at line 193 of file pub.h.

#define ENAB_2x2   0x02

Definition at line 194 of file pub.h.

#define ENAB_3x3   0x04

Definition at line 195 of file pub.h.

#define ENAB_4x4   0x08

Definition at line 196 of file pub.h.

#define GMODE_AUTO   1

Definition at line 286 of file pub.h.

#define GMODE_B_DEFERRED   3

Definition at line 288 of file pub.h.

#define GMODE_LEGACY_B   0

Definition at line 285 of file pub.h.

#define GMODE_LRS   5

Definition at line 290 of file pub.h.

#define GMODE_MAX   6

Definition at line 291 of file pub.h.

#define GMODE_ONLY   2

Definition at line 287 of file pub.h.


Definition at line 289 of file pub.h.


Definition at line 294 of file pub.h.

#define MAC80211_PROMISC_BCNS   (1 << 0)

Definition at line 137 of file pub.h.

#define MAC80211_SCAN   (1 << 1)

Definition at line 138 of file pub.h.

#define MAX_STREAMS_SUPPORTED   4 /* max number of streams supported */

Definition at line 102 of file pub.h.

#define MAXBANDS   2 /* Maximum #of bands */

Definition at line 296 of file pub.h.

#define PHY_TYPE_A   0 /* Phy type A */

Definition at line 28 of file pub.h.

#define PHY_TYPE_G   2 /* Phy type G */

Definition at line 29 of file pub.h.

#define PHY_TYPE_HT   7 /* Phy type 3-Stream N */

Definition at line 35 of file pub.h.

#define PHY_TYPE_LCN   8 /* Phy type Single Stream N */

Definition at line 33 of file pub.h.

#define PHY_TYPE_LCNXN   9 /* Phy type 2-stream N */

Definition at line 34 of file pub.h.

#define PHY_TYPE_LP   5 /* Phy type Low Power A/B/G */

Definition at line 31 of file pub.h.

#define PHY_TYPE_N   4 /* Phy type N */

Definition at line 30 of file pub.h.

#define PHY_TYPE_SSN   6 /* Phy type Single Stream N */

Definition at line 32 of file pub.h.


Definition at line 100 of file pub.h.

#define RXCHAIN_DEF   0x1

Definition at line 86 of file pub.h.

#define RXCHAIN_DEF_HTPHY   0x7

Definition at line 90 of file pub.h.

#define RXCHAIN_DEF_NPHY   0x3

Definition at line 88 of file pub.h.

#define SUPPORT_11N   (ENAB_1x1|ENAB_2x2)

Definition at line 197 of file pub.h.

#define SUPPORT_HT   (ENAB_1x1|ENAB_2x2|ENAB_3x3)

Definition at line 198 of file pub.h.

#define TXCHAIN_DEF   0x1

Definition at line 80 of file pub.h.

#define TXCHAIN_DEF_HTPHY   0x7

Definition at line 84 of file pub.h.

#define TXCHAIN_DEF_NPHY   0x3

Definition at line 82 of file pub.h.

Enumeration Type Documentation

enum wlc_par_id

Definition at line 181 of file pub.h.

Function Documentation

bool brcms_c_aggregatable ( struct brcms_c_info wlc,
u8  tid 

Definition at line 1157 of file ampdu.c.

void brcms_c_ampdu_flush ( struct brcms_c_info wlc,
struct ieee80211_sta sta,
u16  tid 

Definition at line 1214 of file ampdu.c.

void brcms_c_ampdu_tx_operational ( struct brcms_c_info wlc,
u8  tid,
u8  ba_wsize,
uint  max_rx_ampdu_bytes 

Definition at line 474 of file ampdu.c.

void brcms_c_associate_upd ( struct brcms_c_info wlc,
bool  state 

Definition at line 7948 of file main.c.

struct brcms_c_info* brcms_c_attach ( struct brcms_info wl,
struct bcma_device core,
uint  unit,
bool  piomode,
uint perr 

Definition at line 8330 of file main.c.

bool brcms_c_check_radio_disabled ( struct brcms_c_info wlc)

Definition at line 4213 of file main.c.

bool brcms_c_chipmatch ( struct bcma_device core)

Definition at line 5822 of file main.c.

uint brcms_c_detach ( struct brcms_c_info wlc)

Definition at line 4987 of file main.c.

uint brcms_c_down ( struct brcms_c_info wlc)

Definition at line 5311 of file main.c.

bool brcms_c_dpc ( struct brcms_c_info wlc,
bool  bounded 

Definition at line 8138 of file main.c.

void brcms_c_enable_mac ( struct brcms_c_info wlc)

Definition at line 2693 of file main.c.

int brcms_c_get_curband ( struct brcms_c_info wlc)

Definition at line 7972 of file main.c.

void brcms_c_get_current_rateset ( struct brcms_c_info wlc,
struct brcm_rateset currs 

Definition at line 5612 of file main.c.

int brcms_c_get_header_len ( void  )

Definition at line 7801 of file main.c.

u16 brcms_c_get_phy_type ( struct brcms_c_info wlc,
int  phyidx 

Definition at line 5669 of file main.c.

int brcms_c_get_tx_power ( struct brcms_c_info wlc)

Definition at line 8012 of file main.c.

void brcms_c_init ( struct brcms_c_info wlc,
bool  mute_tx 

Definition at line 8226 of file main.c.

u32 brcms_c_intrsoff ( struct brcms_c_info wlc)

Definition at line 2380 of file main.c.

void brcms_c_intrson ( struct brcms_c_info wlc)

Definition at line 2373 of file main.c.

void brcms_c_intrsrestore ( struct brcms_c_info wlc,
u32  macintmask 

Definition at line 2399 of file main.c.

bool brcms_c_intrsupd ( struct brcms_c_info wlc)

Definition at line 2571 of file main.c.

bool brcms_c_isr ( struct brcms_c_info wlc,
bool wantdpc 

Definition at line 2594 of file main.c.

int brcms_c_module_register ( struct brcms_pub pub,
const char name,
struct brcms_info hdl,
int(*)(void *handle down_fn 

Definition at line 5705 of file main.c.

int brcms_c_module_unregister ( struct brcms_pub pub,
const char name,
struct brcms_info hdl 

Definition at line 5727 of file main.c.

void brcms_c_mute ( struct brcms_c_info wlc,
bool  on 

Definition at line 2502 of file main.c.

void brcms_c_protection_upd ( struct brcms_c_info wlc,
uint  idx,
int  val 

Definition at line 4019 of file main.c.

struct brcms_pub* brcms_c_pub ( struct brcms_c_info wlc)

Definition at line 4416 of file main.c.

void brcms_c_reset ( struct brcms_c_info wlc)

Definition at line 3145 of file main.c.

void brcms_c_scan_start ( struct brcms_c_info wlc)

Definition at line 7938 of file main.c.

void brcms_c_scan_stop ( struct brcms_c_info wlc)

Definition at line 7943 of file main.c.

void brcms_c_sendpkt_mac80211 ( struct brcms_c_info wlc,
struct sk_buff sdu,
struct ieee80211_hw hw 

Definition at line 7276 of file main.c.

void brcms_c_set_addrmatch ( struct brcms_c_info wlc,
int  match_reg_offset,
const u8 addr 

Definition at line 7927 of file main.c.

void brcms_c_set_beacon_listen_interval ( struct brcms_c_info wlc,
u8  interval 

Definition at line 7996 of file main.c.

int brcms_c_set_beacon_period ( struct brcms_c_info wlc,
u16  period 

Definition at line 5659 of file main.c.

int brcms_c_set_channel ( struct brcms_c_info wlc,
u16  channel 

Definition at line 5558 of file main.c.

int brcms_c_set_rate_limit ( struct brcms_c_info wlc,
u16  srl,
u16  lrl 

Definition at line 5588 of file main.c.

int brcms_c_set_rateset ( struct brcms_c_info wlc,
struct brcm_rateset rs 

Definition at line 5627 of file main.c.

void brcms_c_set_shortslot_override ( struct brcms_c_info wlc,
s8  sslot_override 

Definition at line 5674 of file main.c.

int brcms_c_set_tx_power ( struct brcms_c_info wlc,
int  txpwr 

Definition at line 8003 of file main.c.

void brcms_c_suspend_mac_and_wait ( struct brcms_c_info wlc)

Definition at line 2624 of file main.c.

int brcms_c_up ( struct brcms_c_info wlc)

Definition at line 5134 of file main.c.

void brcms_c_wait_for_tx_completion ( struct brcms_c_info wlc,
bool  drop 

Definition at line 7977 of file main.c.

void brcms_c_wme_setparams ( struct brcms_c_info wlc,
u16  aci,
const struct ieee80211_tx_queue_params arg,
bool  suspend 

Definition at line 4083 of file main.c.

Variable Documentation

const u8 wlc_prio2prec_map[]

Definition at line 324 of file main.c.