Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
ampdu.c File Reference
#include <net/mac80211.h>
#include "rate.h"
#include "scb.h"
#include "phy/phy_hal.h"
#include "antsel.h"
#include "main.h"
#include "ampdu.h"

Go to the source code of this file.

Data Structures

struct  brcms_fifo_info
 
struct  ampdu_info
 
struct  cb_del_ampdu_pars
 

Macros

#define AMPDU_MAX_MPDU   32
 
#define AMPDU_NUM_MPDU_LEGACY   16
 
#define AMPDU_TX_BA_MAX_WSIZE   64
 
#define AMPDU_TX_BA_DEF_WSIZE   64
 
#define AMPDU_RX_BA_DEF_WSIZE   64
 
#define AMPDU_RX_BA_MAX_WSIZE   64
 
#define AMPDU_MAX_DUR   5
 
#define AMPDU_DEF_RETRY_LIMIT   5
 
#define AMPDU_DEF_RR_RETRY_LIMIT   2
 
#define AMPDU_DEF_TXPKT_WEIGHT   2
 
#define AMPDU_DEF_FFPLD_RSVD   2048
 
#define AMPDU_INI_FREE   10
 
#define AMPDU_SCB_MAX_RELEASE   20
 
#define NUM_FFPLD_FIFO   4 /* number of fifo concerned by pre-loading */
 
#define FFPLD_TX_MAX_UNFL
 
#define FFPLD_MPDU_SIZE   1800 /* estimate of maximum mpdu size */
 
#define FFPLD_MAX_MCS   23 /* we don't deal with mcs 32 */
 
#define FFPLD_PLD_INCR   1000 /* increments in bytes */
 
#define FFPLD_MAX_AMPDU_CNT
 
#define AMPDU_DELIMITER_LEN   4
 
#define AMPDU_NUM_MPDU   16
 
#define TX_SEQ_TO_INDEX(seq)   ((seq) % AMPDU_TX_BA_MAX_WSIZE)
 
#define AMPDU_MAX_MPDU_OVERHEAD
 
#define MODADD_POW2(x, y, bound)   (((x) + (y)) & ((bound) - 1))
 
#define MODSUB_POW2(x, y, bound)   (((x) - (y)) & ((bound) - 1))
 

Functions

struct ampdu_infobrcms_c_ampdu_attach (struct brcms_c_info *wlc)
 
void brcms_c_ampdu_detach (struct ampdu_info *ampdu)
 
void brcms_c_ampdu_tx_operational (struct brcms_c_info *wlc, u8 tid, u8 ba_wsize, uint max_rx_ampdu_bytes)
 
int brcms_c_sendampdu (struct ampdu_info *ampdu, struct brcms_txq_info *qi, struct sk_buff **pdu, int prec)
 
void brcms_c_ampdu_dotxstatus (struct ampdu_info *ampdu, struct scb *scb, struct sk_buff *p, struct tx_status *txs)
 
void brcms_c_ampdu_macaddr_upd (struct brcms_c_info *wlc)
 
bool brcms_c_aggregatable (struct brcms_c_info *wlc, u8 tid)
 
void brcms_c_ampdu_shm_upd (struct ampdu_info *ampdu)
 
void brcms_c_ampdu_flush (struct brcms_c_info *wlc, struct ieee80211_sta *sta, u16 tid)
 

Macro Definition Documentation

#define AMPDU_DEF_FFPLD_RSVD   2048

Definition at line 46 of file ampdu.c.

#define AMPDU_DEF_RETRY_LIMIT   5

Definition at line 40 of file ampdu.c.

#define AMPDU_DEF_RR_RETRY_LIMIT   2

Definition at line 42 of file ampdu.c.

#define AMPDU_DEF_TXPKT_WEIGHT   2

Definition at line 44 of file ampdu.c.

#define AMPDU_DELIMITER_LEN   4

Definition at line 59 of file ampdu.c.

#define AMPDU_INI_FREE   10

Definition at line 48 of file ampdu.c.

#define AMPDU_MAX_DUR   5

Definition at line 38 of file ampdu.c.

#define AMPDU_MAX_MPDU   32

Definition at line 26 of file ampdu.c.

#define AMPDU_MAX_MPDU_OVERHEAD
Value:

Definition at line 67 of file ampdu.c.

#define AMPDU_NUM_MPDU   16

Definition at line 62 of file ampdu.c.

#define AMPDU_NUM_MPDU_LEGACY   16

Definition at line 28 of file ampdu.c.

#define AMPDU_RX_BA_DEF_WSIZE   64

Definition at line 34 of file ampdu.c.

#define AMPDU_RX_BA_MAX_WSIZE   64

Definition at line 36 of file ampdu.c.

#define AMPDU_SCB_MAX_RELEASE   20

Definition at line 50 of file ampdu.c.

#define AMPDU_TX_BA_DEF_WSIZE   64

Definition at line 32 of file ampdu.c.

#define AMPDU_TX_BA_MAX_WSIZE   64

Definition at line 30 of file ampdu.c.

#define FFPLD_MAX_AMPDU_CNT
Value:
5000 /* maximum number of ampdu we
* accumulate between resets.
*/

Definition at line 57 of file ampdu.c.

#define FFPLD_MAX_MCS   23 /* we don't deal with mcs 32 */

Definition at line 55 of file ampdu.c.

#define FFPLD_MPDU_SIZE   1800 /* estimate of maximum mpdu size */

Definition at line 54 of file ampdu.c.

#define FFPLD_PLD_INCR   1000 /* increments in bytes */

Definition at line 56 of file ampdu.c.

#define FFPLD_TX_MAX_UNFL
Value:
200 /* default value of the average number of ampdu
* without underflows
*/

Definition at line 53 of file ampdu.c.

#define MODADD_POW2 (   x,
  y,
  bound 
)    (((x) + (y)) & ((bound) - 1))

Definition at line 72 of file ampdu.c.

#define MODSUB_POW2 (   x,
  y,
  bound 
)    (((x) - (y)) & ((bound) - 1))

Definition at line 73 of file ampdu.c.

#define NUM_FFPLD_FIFO   4 /* number of fifo concerned by pre-loading */

Definition at line 52 of file ampdu.c.

#define TX_SEQ_TO_INDEX (   seq)    ((seq) % AMPDU_TX_BA_MAX_WSIZE)

Definition at line 64 of file ampdu.c.

Function Documentation

bool brcms_c_aggregatable ( struct brcms_c_info wlc,
u8  tid 
)

Definition at line 1157 of file ampdu.c.

struct ampdu_info* brcms_c_ampdu_attach ( struct brcms_c_info wlc)
read

Definition at line 220 of file ampdu.c.

void brcms_c_ampdu_detach ( struct ampdu_info ampdu)

Definition at line 276 of file ampdu.c.

void brcms_c_ampdu_dotxstatus ( struct ampdu_info ampdu,
struct scb scb,
struct sk_buff p,
struct tx_status txs 
)

Definition at line 1088 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_macaddr_upd ( struct brcms_c_info wlc)

Definition at line 1145 of file ampdu.c.

void brcms_c_ampdu_shm_upd ( struct ampdu_info ampdu)

Definition at line 1162 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.

int brcms_c_sendampdu ( struct ampdu_info ampdu,
struct brcms_txq_info qi,
struct sk_buff **  pdu,
int  prec 
)

Definition at line 498 of file ampdu.c.