Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
rs.c File Reference
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/skbuff.h>
#include <linux/slab.h>
#include <net/mac80211.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/delay.h>
#include <linux/workqueue.h>
#include "dev.h"
#include "agn.h"

Go to the source code of this file.

Macros

#define RS_NAME   "iwl-agn-rs"
 
#define NUM_TRY_BEFORE_ANT_TOGGLE   1
 
#define IWL_NUMBER_TRY   1
 
#define IWL_HT_NUMBER_TRY   3
 
#define IWL_RATE_MAX_WINDOW   62 /* # tx in history window */
 
#define IWL_RATE_MIN_FAILURE_TH   6 /* min failures to calc tpt */
 
#define IWL_RATE_MIN_SUCCESS_TH   8 /* min successes to calc tpt */
 
#define IWL_MISSED_RATE_MAX   15
 
#define IWL_RATE_SCALE_FLUSH_INTVL   (3*HZ)
 
#define IWL_DECLARE_RATE_INFO(r, s, ip, in, rp, rn, pp, np)
 
#define MCS_INDEX_PER_STREAM   (8)
 

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 IWL_DECLARE_RATE_INFO (   r,
  s,
  ip,
  in,
  rp,
  rn,
  pp,
  np 
)
Value:
[IWL_RATE_##r##M_INDEX] = { IWL_RATE_##r##M_PLCP, \
IWL_RATE_SISO_##s##M_PLCP, \
IWL_RATE_MIMO2_##s##M_PLCP,\
IWL_RATE_MIMO3_##s##M_PLCP,\
IWL_RATE_##r##M_IEEE, \
IWL_RATE_##ip##M_INDEX, \
IWL_RATE_##in##M_INDEX, \
IWL_RATE_##rp##M_INDEX, \
IWL_RATE_##rn##M_INDEX, \
IWL_RATE_##pp##M_INDEX, \
IWL_RATE_##np##M_INDEX }

Definition at line 77 of file rs.c.

#define IWL_HT_NUMBER_TRY   3

Definition at line 45 of file rs.c.

#define IWL_MISSED_RATE_MAX   15

Definition at line 52 of file rs.c.

#define IWL_NUMBER_TRY   1

Definition at line 44 of file rs.c.

#define IWL_RATE_MAX_WINDOW   62 /* # tx in history window */

Definition at line 47 of file rs.c.

#define IWL_RATE_MIN_FAILURE_TH   6 /* min failures to calc tpt */

Definition at line 48 of file rs.c.

#define IWL_RATE_MIN_SUCCESS_TH   8 /* min successes to calc tpt */

Definition at line 49 of file rs.c.

#define IWL_RATE_SCALE_FLUSH_INTVL   (3*HZ)

Definition at line 54 of file rs.c.

#define MCS_INDEX_PER_STREAM   (8)

Definition at line 243 of file rs.c.

#define NUM_TRY_BEFORE_ANT_TOGGLE   1

Definition at line 43 of file rs.c.

#define RS_NAME   "iwl-agn-rs"

Definition at line 41 of file rs.c.

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

Initial value:
= {
IWL_DECLARE_RATE_INFO(1, INV, INV, 2, INV, 2, INV, 2),
IWL_DECLARE_RATE_INFO(2, INV, 1, 5, 1, 5, 1, 5),
IWL_DECLARE_RATE_INFO(5, INV, 2, 6, 2, 11, 2, 11),
IWL_DECLARE_RATE_INFO(11, INV, 9, 12, 9, 12, 5, 18),
IWL_DECLARE_RATE_INFO(6, 6, 5, 9, 5, 11, 5, 11),
IWL_DECLARE_RATE_INFO(9, 6, 6, 11, 6, 11, 5, 11),
IWL_DECLARE_RATE_INFO(12, 12, 11, 18, 11, 18, 11, 18),
IWL_DECLARE_RATE_INFO(18, 18, 12, 24, 12, 24, 11, 24),
IWL_DECLARE_RATE_INFO(24, 24, 18, 36, 18, 36, 18, 36),
IWL_DECLARE_RATE_INFO(36, 36, 24, 48, 24, 48, 24, 48),
IWL_DECLARE_RATE_INFO(48, 48, 36, 54, 36, 54, 36, 54),
IWL_DECLARE_RATE_INFO(54, 54, 48, INV, 48, INV, 48, INV),
IWL_DECLARE_RATE_INFO(60, 60, 48, INV, 48, INV, 48, INV),
}

Definition at line 98 of file rs.c.