Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
4965-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 "common.h"
#include "4965.h"

Go to the source code of this file.

Macros

#define IL4965_RS_NAME   "iwl-4965-rs"
 
#define NUM_TRY_BEFORE_ANT_TOGGLE   1
 
#define IL_NUMBER_TRY   1
 
#define IL_HT_NUMBER_TRY   3
 
#define RATE_MAX_WINDOW   62 /* # tx in history win */
 
#define RATE_MIN_FAILURE_TH   6 /* min failures to calc tpt */
 
#define RATE_MIN_SUCCESS_TH   8 /* min successes to calc tpt */
 
#define IL_MISSED_RATE_MAX   15
 
#define RATE_SCALE_FLUSH_INTVL   (3*HZ)
 
#define IL_DECLARE_RATE_INFO(r, s, ip, in, rp, rn, pp, np)
 
#define MCS_IDX_PER_STREAM   (8)
 

Functions

void il4965_rs_rate_init (struct il_priv *il, struct ieee80211_sta *sta, u8 sta_id)
 
int il4965_rate_control_register (void)
 
void il4965_rate_control_unregister (void)
 

Variables

struct il_rate_info il_rates [RATE_COUNT]
 

Macro Definition Documentation

#define IL4965_RS_NAME   "iwl-4965-rs"

Definition at line 41 of file 4965-rs.c.

#define IL_DECLARE_RATE_INFO (   r,
  s,
  ip,
  in,
  rp,
  rn,
  pp,
  np 
)
Value:
[RATE_##r##M_IDX] = { RATE_##r##M_PLCP, \
RATE_SISO_##s##M_PLCP, \
RATE_MIMO2_##s##M_PLCP,\
RATE_##r##M_IEEE, \
RATE_##ip##M_IDX, \
RATE_##in##M_IDX, \
RATE_##rp##M_IDX, \
RATE_##rn##M_IDX, \
RATE_##pp##M_IDX, \
RATE_##np##M_IDX }

Definition at line 77 of file 4965-rs.c.

#define IL_HT_NUMBER_TRY   3

Definition at line 45 of file 4965-rs.c.

#define IL_MISSED_RATE_MAX   15

Definition at line 52 of file 4965-rs.c.

#define IL_NUMBER_TRY   1

Definition at line 44 of file 4965-rs.c.

#define MCS_IDX_PER_STREAM   (8)

Definition at line 221 of file 4965-rs.c.

#define NUM_TRY_BEFORE_ANT_TOGGLE   1

Definition at line 43 of file 4965-rs.c.

#define RATE_MAX_WINDOW   62 /* # tx in history win */

Definition at line 47 of file 4965-rs.c.

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

Definition at line 48 of file 4965-rs.c.

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

Definition at line 49 of file 4965-rs.c.

#define RATE_SCALE_FLUSH_INTVL   (3*HZ)

Definition at line 54 of file 4965-rs.c.

Function Documentation

int il4965_rate_control_register ( void  )

il_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 il_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 2827 of file 4965-rs.c.

void il4965_rate_control_unregister ( void  )

il_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 2833 of file 4965-rs.c.

void il4965_rs_rate_init ( struct il_priv il,
struct ieee80211_sta sta,
u8  sta_id 
)

Definition at line 2291 of file 4965-rs.c.

Variable Documentation

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

Definition at line 97 of file 4965-rs.c.