Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
rs.h File Reference
#include <net/mac80211.h>
#include "iwl-config.h"
#include "commands.h"

Go to the source code of this file.

Data Structures

struct  iwl_rate_info
 
struct  iwl_rate_mcs_info
 
struct  iwl_rate_scale_data
 
struct  iwl_scale_tbl_info
 
struct  iwl_traffic_load
 
struct  iwl_lq_sta
 

Macros

#define IWL_RATE_6M_MASK   (1 << IWL_RATE_6M_INDEX)
 
#define IWL_RATE_9M_MASK   (1 << IWL_RATE_9M_INDEX)
 
#define IWL_RATE_12M_MASK   (1 << IWL_RATE_12M_INDEX)
 
#define IWL_RATE_18M_MASK   (1 << IWL_RATE_18M_INDEX)
 
#define IWL_RATE_24M_MASK   (1 << IWL_RATE_24M_INDEX)
 
#define IWL_RATE_36M_MASK   (1 << IWL_RATE_36M_INDEX)
 
#define IWL_RATE_48M_MASK   (1 << IWL_RATE_48M_INDEX)
 
#define IWL_RATE_54M_MASK   (1 << IWL_RATE_54M_INDEX)
 
#define IWL_RATE_60M_MASK   (1 << IWL_RATE_60M_INDEX)
 
#define IWL_RATE_1M_MASK   (1 << IWL_RATE_1M_INDEX)
 
#define IWL_RATE_2M_MASK   (1 << IWL_RATE_2M_INDEX)
 
#define IWL_RATE_5M_MASK   (1 << IWL_RATE_5M_INDEX)
 
#define IWL_RATE_11M_MASK   (1 << IWL_RATE_11M_INDEX)
 
#define IWL_RATES_MASK   ((1 << IWL_RATE_COUNT) - 1)
 
#define IWL_INVALID_VALUE   -1
 
#define IWL_MIN_RSSI_VAL   -100
 
#define IWL_MAX_RSSI_VAL   0
 
#define IWL_LEGACY_FAILURE_LIMIT   160
 
#define IWL_LEGACY_SUCCESS_LIMIT   480
 
#define IWL_LEGACY_TABLE_COUNT   160
 
#define IWL_NONE_LEGACY_FAILURE_LIMIT   400
 
#define IWL_NONE_LEGACY_SUCCESS_LIMIT   4500
 
#define IWL_NONE_LEGACY_TABLE_COUNT   1500
 
#define IWL_RS_GOOD_RATIO   12800 /* 100% */
 
#define IWL_RATE_SCALE_SWITCH   10880 /* 85% */
 
#define IWL_RATE_HIGH_TH   10880 /* 85% */
 
#define IWL_RATE_INCREASE_TH   6400 /* 50% */
 
#define IWL_RATE_DECREASE_TH   1920 /* 15% */
 
#define IWL_LEGACY_SWITCH_ANTENNA1   0
 
#define IWL_LEGACY_SWITCH_ANTENNA2   1
 
#define IWL_LEGACY_SWITCH_SISO   2
 
#define IWL_LEGACY_SWITCH_MIMO2_AB   3
 
#define IWL_LEGACY_SWITCH_MIMO2_AC   4
 
#define IWL_LEGACY_SWITCH_MIMO2_BC   5
 
#define IWL_LEGACY_SWITCH_MIMO3_ABC   6
 
#define IWL_SISO_SWITCH_ANTENNA1   0
 
#define IWL_SISO_SWITCH_ANTENNA2   1
 
#define IWL_SISO_SWITCH_MIMO2_AB   2
 
#define IWL_SISO_SWITCH_MIMO2_AC   3
 
#define IWL_SISO_SWITCH_MIMO2_BC   4
 
#define IWL_SISO_SWITCH_GI   5
 
#define IWL_SISO_SWITCH_MIMO3_ABC   6
 
#define IWL_MIMO2_SWITCH_ANTENNA1   0
 
#define IWL_MIMO2_SWITCH_ANTENNA2   1
 
#define IWL_MIMO2_SWITCH_SISO_A   2
 
#define IWL_MIMO2_SWITCH_SISO_B   3
 
#define IWL_MIMO2_SWITCH_SISO_C   4
 
#define IWL_MIMO2_SWITCH_GI   5
 
#define IWL_MIMO2_SWITCH_MIMO3_ABC   6
 
#define IWL_MIMO3_SWITCH_ANTENNA1   0
 
#define IWL_MIMO3_SWITCH_ANTENNA2   1
 
#define IWL_MIMO3_SWITCH_SISO_A   2
 
#define IWL_MIMO3_SWITCH_SISO_B   3
 
#define IWL_MIMO3_SWITCH_SISO_C   4
 
#define IWL_MIMO3_SWITCH_MIMO2_AB   5
 
#define IWL_MIMO3_SWITCH_MIMO2_AC   6
 
#define IWL_MIMO3_SWITCH_MIMO2_BC   7
 
#define IWL_MIMO3_SWITCH_GI   8
 
#define IWL_MAX_11N_MIMO3_SEARCH   IWL_MIMO3_SWITCH_GI
 
#define IWL_MAX_SEARCH   IWL_MIMO2_SWITCH_MIMO3_ABC
 
#define IWL_ACTION_LIMIT   3 /* # possible actions */
 
#define LQ_SIZE   2 /* 2 mode tables: "Active" and "Search" */
 
#define IWL_AGG_TPT_THREHOLD   0
 
#define IWL_AGG_LOAD_THRESHOLD   10
 
#define IWL_AGG_ALL_TID   0xff
 
#define TID_QUEUE_CELL_SPACING   50 /*mS */
 
#define TID_QUEUE_MAX_SIZE   20
 
#define TID_ROUND_VALUE   5 /* mS */
 
#define TID_MAX_TIME_DIFF   ((TID_QUEUE_MAX_SIZE - 1) * TID_QUEUE_CELL_SPACING)
 
#define TIME_WRAP_AROUND(x, y)   (((y) > (x)) ? (y) - (x) : (0-(x)) + (y))
 
#define is_legacy(tbl)   (((tbl) == LQ_G) || ((tbl) == LQ_A))
 
#define is_siso(tbl)   ((tbl) == LQ_SISO)
 
#define is_mimo2(tbl)   ((tbl) == LQ_MIMO2)
 
#define is_mimo3(tbl)   ((tbl) == LQ_MIMO3)
 
#define is_mimo(tbl)   (is_mimo2(tbl) || is_mimo3(tbl))
 
#define is_Ht(tbl)   (is_siso(tbl) || is_mimo(tbl))
 
#define is_a_band(tbl)   ((tbl) == LQ_A)
 
#define is_g_and(tbl)   ((tbl) == LQ_G)
 
#define IWL_MAX_MCS_DISPLAY_SIZE   12
 

Enumerations

enum  {
  IWL_RATE_1M_INDEX = 0, IWL_RATE_2M_INDEX, IWL_RATE_5M_INDEX, IWL_RATE_11M_INDEX,
  IWL_RATE_6M_INDEX, IWL_RATE_9M_INDEX, IWL_RATE_12M_INDEX, IWL_RATE_18M_INDEX,
  IWL_RATE_24M_INDEX, IWL_RATE_36M_INDEX, IWL_RATE_48M_INDEX, IWL_RATE_54M_INDEX,
  IWL_RATE_60M_INDEX, IWL_RATE_COUNT, IWL_RATE_COUNT_LEGACY = IWL_RATE_COUNT - 1, IWL_RATE_INVM_INDEX = IWL_RATE_COUNT,
  IWL_RATE_INVALID = IWL_RATE_COUNT
}
 
enum  {
  IWL_RATE_6M_INDEX_TABLE = 0, IWL_RATE_9M_INDEX_TABLE, IWL_RATE_12M_INDEX_TABLE, IWL_RATE_18M_INDEX_TABLE,
  IWL_RATE_24M_INDEX_TABLE, IWL_RATE_36M_INDEX_TABLE, IWL_RATE_48M_INDEX_TABLE, IWL_RATE_54M_INDEX_TABLE,
  IWL_RATE_1M_INDEX_TABLE, IWL_RATE_2M_INDEX_TABLE, IWL_RATE_5M_INDEX_TABLE, IWL_RATE_11M_INDEX_TABLE,
  IWL_RATE_INVM_INDEX_TABLE = IWL_RATE_INVM_INDEX - 1
}
 
enum  { IWL_FIRST_OFDM_RATE = IWL_RATE_6M_INDEX, IWL_LAST_OFDM_RATE = IWL_RATE_60M_INDEX, IWL_FIRST_CCK_RATE = IWL_RATE_1M_INDEX, IWL_LAST_CCK_RATE = IWL_RATE_11M_INDEX }
 
enum  {
  IWL_RATE_6M_PLCP = 13, IWL_RATE_9M_PLCP = 15, IWL_RATE_12M_PLCP = 5, IWL_RATE_18M_PLCP = 7,
  IWL_RATE_24M_PLCP = 9, IWL_RATE_36M_PLCP = 11, IWL_RATE_48M_PLCP = 1, IWL_RATE_54M_PLCP = 3,
  IWL_RATE_60M_PLCP = 3, IWL_RATE_1M_PLCP = 10, IWL_RATE_2M_PLCP = 20, IWL_RATE_5M_PLCP = 55,
  IWL_RATE_11M_PLCP = 110
}
 
enum  {
  IWL_RATE_SISO_6M_PLCP = 0, IWL_RATE_SISO_12M_PLCP = 1, IWL_RATE_SISO_18M_PLCP = 2, IWL_RATE_SISO_24M_PLCP = 3,
  IWL_RATE_SISO_36M_PLCP = 4, IWL_RATE_SISO_48M_PLCP = 5, IWL_RATE_SISO_54M_PLCP = 6, IWL_RATE_SISO_60M_PLCP = 7,
  IWL_RATE_MIMO2_6M_PLCP = 0x8, IWL_RATE_MIMO2_12M_PLCP = 0x9, IWL_RATE_MIMO2_18M_PLCP = 0xa, IWL_RATE_MIMO2_24M_PLCP = 0xb,
  IWL_RATE_MIMO2_36M_PLCP = 0xc, IWL_RATE_MIMO2_48M_PLCP = 0xd, IWL_RATE_MIMO2_54M_PLCP = 0xe, IWL_RATE_MIMO2_60M_PLCP = 0xf,
  IWL_RATE_MIMO3_6M_PLCP = 0x10, IWL_RATE_MIMO3_12M_PLCP = 0x11, IWL_RATE_MIMO3_18M_PLCP = 0x12, IWL_RATE_MIMO3_24M_PLCP = 0x13,
  IWL_RATE_MIMO3_36M_PLCP = 0x14, IWL_RATE_MIMO3_48M_PLCP = 0x15, IWL_RATE_MIMO3_54M_PLCP = 0x16, IWL_RATE_MIMO3_60M_PLCP = 0x17,
  IWL_RATE_SISO_INVM_PLCP, IWL_RATE_MIMO2_INVM_PLCP = IWL_RATE_SISO_INVM_PLCP, IWL_RATE_MIMO3_INVM_PLCP = IWL_RATE_SISO_INVM_PLCP
}
 
enum  {
  IWL_RATE_6M_IEEE = 12, IWL_RATE_9M_IEEE = 18, IWL_RATE_12M_IEEE = 24, IWL_RATE_18M_IEEE = 36,
  IWL_RATE_24M_IEEE = 48, IWL_RATE_36M_IEEE = 72, IWL_RATE_48M_IEEE = 96, IWL_RATE_54M_IEEE = 108,
  IWL_RATE_60M_IEEE = 120, IWL_RATE_1M_IEEE = 2, IWL_RATE_2M_IEEE = 4, IWL_RATE_5M_IEEE = 11,
  IWL_RATE_11M_IEEE = 22
}
 
enum  iwl_table_type {
  LQ_NONE, LQ_G, LQ_A, LQ_SISO,
  LQ_MIMO2, LQ_MIMO3, LQ_MAX
}
 

Functions

void iwl_rs_rate_init (struct iwl_priv *priv, struct ieee80211_sta *sta, u8 sta_id)
 
int iwlagn_rate_control_register (void)
 
void iwlagn_rate_control_unregister (void)
 

Variables

struct iwl_rate_info iwl_rates [IWL_RATE_COUNT]
 

Macro Definition Documentation

#define is_a_band (   tbl)    ((tbl) == LQ_A)

Definition at line 282 of file rs.h.

#define is_g_and (   tbl)    ((tbl) == LQ_G)

Definition at line 283 of file rs.h.

#define is_Ht (   tbl)    (is_siso(tbl) || is_mimo(tbl))

Definition at line 281 of file rs.h.

#define is_legacy (   tbl)    (((tbl) == LQ_G) || ((tbl) == LQ_A))

Definition at line 276 of file rs.h.

#define is_mimo (   tbl)    (is_mimo2(tbl) || is_mimo3(tbl))

Definition at line 280 of file rs.h.

#define is_mimo2 (   tbl)    ((tbl) == LQ_MIMO2)

Definition at line 278 of file rs.h.

#define is_mimo3 (   tbl)    ((tbl) == LQ_MIMO3)

Definition at line 279 of file rs.h.

#define is_siso (   tbl)    ((tbl) == LQ_SISO)

Definition at line 277 of file rs.h.

#define IWL_ACTION_LIMIT   3 /* # possible actions */

Definition at line 249 of file rs.h.

#define IWL_AGG_ALL_TID   0xff

Definition at line 256 of file rs.h.

#define IWL_AGG_LOAD_THRESHOLD   10

Definition at line 255 of file rs.h.

#define IWL_AGG_TPT_THREHOLD   0

Definition at line 254 of file rs.h.

#define IWL_INVALID_VALUE   -1

Definition at line 181 of file rs.h.

#define IWL_LEGACY_FAILURE_LIMIT   160

Definition at line 188 of file rs.h.

#define IWL_LEGACY_SUCCESS_LIMIT   480

Definition at line 189 of file rs.h.

#define IWL_LEGACY_SWITCH_ANTENNA1   0

Definition at line 204 of file rs.h.

#define IWL_LEGACY_SWITCH_ANTENNA2   1

Definition at line 205 of file rs.h.

#define IWL_LEGACY_SWITCH_MIMO2_AB   3

Definition at line 207 of file rs.h.

#define IWL_LEGACY_SWITCH_MIMO2_AC   4

Definition at line 208 of file rs.h.

#define IWL_LEGACY_SWITCH_MIMO2_BC   5

Definition at line 209 of file rs.h.

#define IWL_LEGACY_SWITCH_MIMO3_ABC   6

Definition at line 210 of file rs.h.

#define IWL_LEGACY_SWITCH_SISO   2

Definition at line 206 of file rs.h.

#define IWL_LEGACY_TABLE_COUNT   160

Definition at line 190 of file rs.h.

#define IWL_MAX_11N_MIMO3_SEARCH   IWL_MIMO3_SWITCH_GI

Definition at line 244 of file rs.h.

#define IWL_MAX_MCS_DISPLAY_SIZE   12

Definition at line 285 of file rs.h.

#define IWL_MAX_RSSI_VAL   0

Definition at line 184 of file rs.h.

#define IWL_MAX_SEARCH   IWL_MIMO2_SWITCH_MIMO3_ABC

Definition at line 245 of file rs.h.

#define IWL_MIMO2_SWITCH_ANTENNA1   0

Definition at line 223 of file rs.h.

#define IWL_MIMO2_SWITCH_ANTENNA2   1

Definition at line 224 of file rs.h.

#define IWL_MIMO2_SWITCH_GI   5

Definition at line 228 of file rs.h.

#define IWL_MIMO2_SWITCH_MIMO3_ABC   6

Definition at line 229 of file rs.h.

#define IWL_MIMO2_SWITCH_SISO_A   2

Definition at line 225 of file rs.h.

#define IWL_MIMO2_SWITCH_SISO_B   3

Definition at line 226 of file rs.h.

#define IWL_MIMO2_SWITCH_SISO_C   4

Definition at line 227 of file rs.h.

#define IWL_MIMO3_SWITCH_ANTENNA1   0

Definition at line 233 of file rs.h.

#define IWL_MIMO3_SWITCH_ANTENNA2   1

Definition at line 234 of file rs.h.

#define IWL_MIMO3_SWITCH_GI   8

Definition at line 241 of file rs.h.

#define IWL_MIMO3_SWITCH_MIMO2_AB   5

Definition at line 238 of file rs.h.

#define IWL_MIMO3_SWITCH_MIMO2_AC   6

Definition at line 239 of file rs.h.

#define IWL_MIMO3_SWITCH_MIMO2_BC   7

Definition at line 240 of file rs.h.

#define IWL_MIMO3_SWITCH_SISO_A   2

Definition at line 235 of file rs.h.

#define IWL_MIMO3_SWITCH_SISO_B   3

Definition at line 236 of file rs.h.

#define IWL_MIMO3_SWITCH_SISO_C   4

Definition at line 237 of file rs.h.

#define IWL_MIN_RSSI_VAL   -100

Definition at line 183 of file rs.h.

#define IWL_NONE_LEGACY_FAILURE_LIMIT   400

Definition at line 192 of file rs.h.

#define IWL_NONE_LEGACY_SUCCESS_LIMIT   4500

Definition at line 193 of file rs.h.

#define IWL_NONE_LEGACY_TABLE_COUNT   1500

Definition at line 194 of file rs.h.

#define IWL_RATE_11M_MASK   (1 << IWL_RATE_11M_INDEX)

Definition at line 110 of file rs.h.

#define IWL_RATE_12M_MASK   (1 << IWL_RATE_12M_INDEX)

Definition at line 100 of file rs.h.

#define IWL_RATE_18M_MASK   (1 << IWL_RATE_18M_INDEX)

Definition at line 101 of file rs.h.

#define IWL_RATE_1M_MASK   (1 << IWL_RATE_1M_INDEX)

Definition at line 107 of file rs.h.

#define IWL_RATE_24M_MASK   (1 << IWL_RATE_24M_INDEX)

Definition at line 102 of file rs.h.

#define IWL_RATE_2M_MASK   (1 << IWL_RATE_2M_INDEX)

Definition at line 108 of file rs.h.

#define IWL_RATE_36M_MASK   (1 << IWL_RATE_36M_INDEX)

Definition at line 103 of file rs.h.

#define IWL_RATE_48M_MASK   (1 << IWL_RATE_48M_INDEX)

Definition at line 104 of file rs.h.

#define IWL_RATE_54M_MASK   (1 << IWL_RATE_54M_INDEX)

Definition at line 105 of file rs.h.

#define IWL_RATE_5M_MASK   (1 << IWL_RATE_5M_INDEX)

Definition at line 109 of file rs.h.

#define IWL_RATE_60M_MASK   (1 << IWL_RATE_60M_INDEX)

Definition at line 106 of file rs.h.

#define IWL_RATE_6M_MASK   (1 << IWL_RATE_6M_INDEX)

Definition at line 98 of file rs.h.

#define IWL_RATE_9M_MASK   (1 << IWL_RATE_9M_INDEX)

Definition at line 99 of file rs.h.

#define IWL_RATE_DECREASE_TH   1920 /* 15% */

Definition at line 201 of file rs.h.

#define IWL_RATE_HIGH_TH   10880 /* 85% */

Definition at line 199 of file rs.h.

#define IWL_RATE_INCREASE_TH   6400 /* 50% */

Definition at line 200 of file rs.h.

#define IWL_RATE_SCALE_SWITCH   10880 /* 85% */

Definition at line 198 of file rs.h.

#define IWL_RATES_MASK   ((1 << IWL_RATE_COUNT) - 1)

Definition at line 179 of file rs.h.

#define IWL_RS_GOOD_RATIO   12800 /* 100% */

Definition at line 197 of file rs.h.

#define IWL_SISO_SWITCH_ANTENNA1   0

Definition at line 213 of file rs.h.

#define IWL_SISO_SWITCH_ANTENNA2   1

Definition at line 214 of file rs.h.

#define IWL_SISO_SWITCH_GI   5

Definition at line 218 of file rs.h.

#define IWL_SISO_SWITCH_MIMO2_AB   2

Definition at line 215 of file rs.h.

#define IWL_SISO_SWITCH_MIMO2_AC   3

Definition at line 216 of file rs.h.

#define IWL_SISO_SWITCH_MIMO2_BC   4

Definition at line 217 of file rs.h.

#define IWL_SISO_SWITCH_MIMO3_ABC   6

Definition at line 219 of file rs.h.

#define LQ_SIZE   2 /* 2 mode tables: "Active" and "Search" */

Definition at line 251 of file rs.h.

#define TID_MAX_TIME_DIFF   ((TID_QUEUE_MAX_SIZE - 1) * TID_QUEUE_CELL_SPACING)

Definition at line 261 of file rs.h.

#define TID_QUEUE_CELL_SPACING   50 /*mS */

Definition at line 257 of file rs.h.

#define TID_QUEUE_MAX_SIZE   20

Definition at line 258 of file rs.h.

#define TID_ROUND_VALUE   5 /* mS */

Definition at line 259 of file rs.h.

#define TIME_WRAP_AROUND (   x,
  y 
)    (((y) > (x)) ? (y) - (x) : (0-(x)) + (y))

Definition at line 262 of file rs.h.

Enumeration Type Documentation

anonymous enum
Enumerator:
IWL_RATE_1M_INDEX 
IWL_RATE_2M_INDEX 
IWL_RATE_5M_INDEX 
IWL_RATE_11M_INDEX 
IWL_RATE_6M_INDEX 
IWL_RATE_9M_INDEX 
IWL_RATE_12M_INDEX 
IWL_RATE_18M_INDEX 
IWL_RATE_24M_INDEX 
IWL_RATE_36M_INDEX 
IWL_RATE_48M_INDEX 
IWL_RATE_54M_INDEX 
IWL_RATE_60M_INDEX 
IWL_RATE_COUNT 
IWL_RATE_COUNT_LEGACY 
IWL_RATE_INVM_INDEX 
IWL_RATE_INVALID 

Definition at line 54 of file rs.h.

anonymous enum
Enumerator:
IWL_RATE_6M_INDEX_TABLE 
IWL_RATE_9M_INDEX_TABLE 
IWL_RATE_12M_INDEX_TABLE 
IWL_RATE_18M_INDEX_TABLE 
IWL_RATE_24M_INDEX_TABLE 
IWL_RATE_36M_INDEX_TABLE 
IWL_RATE_48M_INDEX_TABLE 
IWL_RATE_54M_INDEX_TABLE 
IWL_RATE_1M_INDEX_TABLE 
IWL_RATE_2M_INDEX_TABLE 
IWL_RATE_5M_INDEX_TABLE 
IWL_RATE_11M_INDEX_TABLE 
IWL_RATE_INVM_INDEX_TABLE 

Definition at line 74 of file rs.h.

anonymous enum
Enumerator:
IWL_FIRST_OFDM_RATE 
IWL_LAST_OFDM_RATE 
IWL_FIRST_CCK_RATE 
IWL_LAST_CCK_RATE 

Definition at line 90 of file rs.h.

anonymous enum
Enumerator:
IWL_RATE_6M_PLCP 
IWL_RATE_9M_PLCP 
IWL_RATE_12M_PLCP 
IWL_RATE_18M_PLCP 
IWL_RATE_24M_PLCP 
IWL_RATE_36M_PLCP 
IWL_RATE_48M_PLCP 
IWL_RATE_54M_PLCP 
IWL_RATE_60M_PLCP 
IWL_RATE_1M_PLCP 
IWL_RATE_2M_PLCP 
IWL_RATE_5M_PLCP 
IWL_RATE_11M_PLCP 

Definition at line 113 of file rs.h.

anonymous enum
Enumerator:
IWL_RATE_SISO_6M_PLCP 
IWL_RATE_SISO_12M_PLCP 
IWL_RATE_SISO_18M_PLCP 
IWL_RATE_SISO_24M_PLCP 
IWL_RATE_SISO_36M_PLCP 
IWL_RATE_SISO_48M_PLCP 
IWL_RATE_SISO_54M_PLCP 
IWL_RATE_SISO_60M_PLCP 
IWL_RATE_MIMO2_6M_PLCP 
IWL_RATE_MIMO2_12M_PLCP 
IWL_RATE_MIMO2_18M_PLCP 
IWL_RATE_MIMO2_24M_PLCP 
IWL_RATE_MIMO2_36M_PLCP 
IWL_RATE_MIMO2_48M_PLCP 
IWL_RATE_MIMO2_54M_PLCP 
IWL_RATE_MIMO2_60M_PLCP 
IWL_RATE_MIMO3_6M_PLCP 
IWL_RATE_MIMO3_12M_PLCP 
IWL_RATE_MIMO3_18M_PLCP 
IWL_RATE_MIMO3_24M_PLCP 
IWL_RATE_MIMO3_36M_PLCP 
IWL_RATE_MIMO3_48M_PLCP 
IWL_RATE_MIMO3_54M_PLCP 
IWL_RATE_MIMO3_60M_PLCP 
IWL_RATE_SISO_INVM_PLCP 
IWL_RATE_MIMO2_INVM_PLCP 
IWL_RATE_MIMO3_INVM_PLCP 

Definition at line 132 of file rs.h.

anonymous enum
Enumerator:
IWL_RATE_6M_IEEE 
IWL_RATE_9M_IEEE 
IWL_RATE_12M_IEEE 
IWL_RATE_18M_IEEE 
IWL_RATE_24M_IEEE 
IWL_RATE_36M_IEEE 
IWL_RATE_48M_IEEE 
IWL_RATE_54M_IEEE 
IWL_RATE_60M_IEEE 
IWL_RATE_1M_IEEE 
IWL_RATE_2M_IEEE 
IWL_RATE_5M_IEEE 
IWL_RATE_11M_IEEE 

Definition at line 163 of file rs.h.

Enumerator:
LQ_NONE 
LQ_G 
LQ_A 
LQ_SISO 
LQ_MIMO2 
LQ_MIMO3 
LQ_MAX 

Definition at line 266 of file rs.h.

Function Documentation

void iwl_rs_rate_init ( struct iwl_priv priv,
struct ieee80211_sta sta,
u8  sta_id 
)

Definition at line 2822 of file rs.c.

int iwlagn_rate_control_register ( void  )

iwl_rate_control_register - Register the rate control algorithm callbacks

Since the rate control algorithm is hardware specific, there is no need or reason to place it as a stand alone module. The driver can call iwl_rate_control_register in order to register the rate control callbacks with the mac80211 subsystem. This should be performed prior to calling ieee80211_register_hw

Definition at line 3361 of file rs.c.

void iwlagn_rate_control_unregister ( void  )

iwl_rate_control_unregister - Unregister the rate control callbacks

This should be called after calling ieee80211_unregister_hw, but before the driver is unloaded.

Definition at line 3366 of file rs.c.

Variable Documentation

Definition at line 98 of file rs.c.