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


#define AMPDU_MAX_MPDU   32
#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_FFPLD_RSVD   2048
#define AMPDU_INI_FREE   10
#define NUM_FFPLD_FIFO   4 /* number of fifo concerned by pre-loading */
#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 AMPDU_NUM_MPDU   16
#define TX_SEQ_TO_INDEX(seq)   ((seq) % AMPDU_TX_BA_MAX_WSIZE)
#define MODADD_POW2(x, y, bound)   (((x) + (y)) & ((bound) - 1))
#define MODSUB_POW2(x, y, bound)   (((x) - (y)) & ((bound) - 1))


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.


Definition at line 40 of file ampdu.c.


Definition at line 42 of file ampdu.c.


Definition at line 44 of file ampdu.c.


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.


Definition at line 67 of file ampdu.c.

#define AMPDU_NUM_MPDU   16

Definition at line 62 of file ampdu.c.


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.


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.

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.

200 /* default value of the average number of ampdu
* without underflows

Definition at line 53 of file ampdu.c.

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

Definition at line 72 of file ampdu.c.

#define MODSUB_POW2 (   x,
)    (((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)

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.