Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
rtl_dm.h File Reference

Go to the source code of this file.

Data Structures

struct  dig_t
 
struct  drx_path_sel
 
struct  dcmd_txcmd
 

Macros

#define OFDM_Table_Length   19
 
#define CCK_Table_length   12
 
#define DM_DIG_THRESH_HIGH   40
 
#define DM_DIG_THRESH_LOW   35
 
#define DM_FALSEALARM_THRESH_LOW   40
 
#define DM_FALSEALARM_THRESH_HIGH   1000
 
#define DM_DIG_HIGH_PWR_THRESH_HIGH   75
 
#define DM_DIG_HIGH_PWR_THRESH_LOW   70
 
#define BW_AUTO_SWITCH_HIGH_LOW   25
 
#define BW_AUTO_SWITCH_LOW_HIGH   30
 
#define DM_check_fsync_time_interval   500
 
#define DM_DIG_BACKOFF   12
 
#define DM_DIG_MAX   0x36
 
#define DM_DIG_MIN   0x1c
 
#define DM_DIG_MIN_Netcore   0x12
 
#define DM_DIG_BACKOFF_MAX   12
 
#define DM_DIG_BACKOFF_MIN   -4
 
#define RxPathSelection_SS_TH_low   30
 
#define RxPathSelection_diff_TH   18
 
#define RateAdaptiveTH_High   50
 
#define RateAdaptiveTH_Low_20M   30
 
#define RateAdaptiveTH_Low_40M   10
 
#define VeryLowRSSI   15
 
#define CTSToSelfTHVal   35
 
#define WAIotTHVal   25
 
#define E_FOR_TX_POWER_TRACK   300
 
#define TX_POWER_NEAR_FIELD_THRESH_HIGH   68
 
#define TX_POWER_NEAR_FIELD_THRESH_LOW   62
 
#define TX_POWER_ATHEROAP_THRESH_HIGH   78
 
#define TX_POWER_ATHEROAP_THRESH_LOW   72
 
#define Current_Tx_Rate_Reg   0x1e0
 
#define Initial_Tx_Rate_Reg   0x1e1
 
#define Tx_Retry_Count_Reg   0x1ac
 
#define RegC38_TH   20
 
#define TX_POWER_NEAR_FIELD_THRESH_LVL2   74
 
#define TX_POWER_NEAR_FIELD_THRESH_LVL1   67
 
#define TxHighPwrLevel_Normal   0
 
#define TxHighPwrLevel_Level1   1
 
#define TxHighPwrLevel_Level2   2
 
#define DM_Type_ByFW   0
 
#define DM_Type_ByDriver   1
 
#define DM_APInitGainChangeNotify(Event)
 

Enumerations

enum  dm_dig_sta {
  DM_STA_DIG_OFF = 0, DM_STA_DIG_ON, DM_STA_DIG_MAX, DM_STA_DIG_OFF = 0,
  DM_STA_DIG_ON, DM_STA_DIG_MAX
}
 
enum  dm_ratr_sta {
  DM_RATR_STA_HIGH = 0, DM_RATR_STA_MIDDLEHIGH = 1, DM_RATR_STA_MIDDLE = 2, DM_RATR_STA_MIDDLELOW = 3,
  DM_RATR_STA_LOW = 4, DM_RATR_STA_ULTRALOW = 5, DM_RATR_STA_MAX, DM_RATR_STA_HIGH = 0,
  DM_RATR_STA_MIDDLE = 1, DM_RATR_STA_LOW = 2, DM_RATR_STA_MAX
}
 
enum  dm_dig_op_sta {
  DIG_TYPE_THRESH_HIGH = 0, DIG_TYPE_THRESH_LOW = 1, DIG_TYPE_THRESH_HIGHPWR_HIGH = 2, DIG_TYPE_THRESH_HIGHPWR_LOW = 3,
  DIG_TYPE_DBG_MODE = 4, DIG_TYPE_RSSI = 5, DIG_TYPE_ALGORITHM = 6, DIG_TYPE_BACKOFF = 7,
  DIG_TYPE_PWDB_FACTOR = 8, DIG_TYPE_RX_GAIN_MIN = 9, DIG_TYPE_RX_GAIN_MAX = 10, DIG_TYPE_ENABLE = 20,
  DIG_TYPE_DISABLE = 30, DIG_OP_TYPE_MAX
}
 
enum  dm_dig_alg {
  DIG_ALGO_BY_FALSE_ALARM = 0, DIG_ALGO_BY_RSSI = 1, DIG_ALGO_BEFORE_CONNECT_BY_RSSI_AND_ALARM = 2, DIG_ALGO_BY_TOW_PORT = 3,
  DIG_ALGO_MAX, DIG_ALGO_BY_FALSE_ALARM = 0, DIG_ALGO_BY_RSSI = 1, DIG_ALGO_BEFORE_CONNECT_BY_RSSI_AND_ALARM = 2,
  DIG_ALGO_BY_TOW_PORT = 3, DIG_ALGO_MAX
}
 
enum  dm_dig_two_port_alg { DIG_TWO_PORT_ALGO_RSSI = 0, DIG_TWO_PORT_ALGO_FALSE_ALARM = 1, DIG_TWO_PORT_ALGO_RSSI = 0, DIG_TWO_PORT_ALGO_FALSE_ALARM = 1 }
 
enum  dm_dig_ext_port_alg {
  DIG_EXT_PORT_STAGE_0 = 0, DIG_EXT_PORT_STAGE_1 = 1, DIG_EXT_PORT_STAGE_2 = 2, DIG_EXT_PORT_STAGE_3 = 3,
  DIG_EXT_PORT_STAGE_MAX = 4, DIG_EXT_PORT_STAGE_0 = 0, DIG_EXT_PORT_STAGE_1 = 1, DIG_EXT_PORT_STAGE_2 = 2,
  DIG_EXT_PORT_STAGE_3 = 3, DIG_EXT_PORT_STAGE_MAX = 4, DIG_EXT_PORT_STAGE_0 = 0, DIG_EXT_PORT_STAGE_1 = 1,
  DIG_EXT_PORT_STAGE_2 = 2, DIG_EXT_PORT_STAGE_3 = 3, DIG_EXT_PORT_STAGE_MAX = 4
}
 
enum  dm_dig_dbg {
  DM_DBG_OFF = 0, DM_DBG_ON = 1, DM_DBG_MAX, DIG_DBG_OFF = 0,
  DIG_DBG_ON = 1, DIG_DBG_MAX
}
 
enum  dm_dig_connect {
  DIG_STA_DISCONNECT = 0, DIG_STA_CONNECT = 1, DIG_STA_BEFORE_CONNECT = 2, DIG_MULTISTA_DISCONNECT = 3,
  DIG_MULTISTA_CONNECT = 4, DIG_CONNECT_MAX, DIG_STA_DISCONNECT = 0, DIG_STA_CONNECT = 1,
  DIG_STA_BEFORE_CONNECT = 2, DIG_AP_DISCONNECT = 3, DIG_AP_CONNECT = 4, DIG_AP_ADD_STATION = 5,
  DIG_CONNECT_MAX, DIG_STA_DISCONNECT = 0, DIG_STA_CONNECT = 1, DIG_STA_BEFORE_CONNECT = 2,
  DIG_AP_DISCONNECT = 3, DIG_AP_CONNECT = 4, DIG_AP_ADD_STATION = 5, DIG_CONNECT_MAX
}
 
enum  dm_dig_pd_th { DIG_PD_AT_LOW_POWER = 0, DIG_PD_AT_NORMAL_POWER = 1, DIG_PD_AT_HIGH_POWER = 2, DIG_PD_MAX }
 
enum  dm_dig_cs_ratio { DIG_CS_RATIO_LOWER = 0, DIG_CS_RATIO_HIGHER = 1, DIG_CS_MAX }
 
enum  dm_cck_rx_path_method { CCK_Rx_Version_1 = 0, CCK_Rx_Version_2 = 1, CCK_Rx_Version_MAX }
 
enum  dm_dbg { DM_DBG_OFF = 0, DM_DBG_ON = 1, DM_DBG_MAX }
 

Functions

void init_hal_dm (struct net_device *dev)
 
void deinit_hal_dm (struct net_device *dev)
 
void hal_dm_watchdog (struct net_device *dev)
 
void init_rate_adaptive (struct net_device *dev)
 
void dm_txpower_trackingcallback (void *data)
 
void dm_cck_txpower_adjust (struct net_device *dev, bool binch14)
 
void dm_restore_dynamic_mechanism_state (struct net_device *dev)
 
void dm_backup_dynamic_mechanism_state (struct net_device *dev)
 
void dm_change_dynamic_initgain_thresh (struct net_device *dev, u32 dm_type, u32 dm_value)
 
void DM_ChangeFsyncSetting (struct net_device *dev, s32 DM_Type, s32 DM_Value)
 
void dm_force_tx_fw_info (struct net_device *dev, u32 force_type, u32 force_value)
 
void dm_init_edca_turbo (struct net_device *dev)
 
void dm_rf_operation_test_callback (unsigned long data)
 
void dm_rf_pathcheck_workitemcallback (void *data)
 
void dm_fsync_timer_callback (unsigned long data)
 
void dm_check_fsync (struct net_device *dev)
 
void dm_shadow_init (struct net_device *dev)
 
void dm_initialize_txpower_tracking (struct net_device *dev)
 
void dm_CheckRfCtrlGPIO (void *data)
 
void dm_InitRateAdaptiveMask (struct net_device *dev)
 

Variables

struct dig_t dm_digtable
 
u8 dm_shadow [16][256]
 
struct drx_path_sel DM_RxPathSelTable
 
u8 test_flag
 

Macro Definition Documentation

#define BW_AUTO_SWITCH_HIGH_LOW   25

Definition at line 36 of file rtl_dm.h.

#define BW_AUTO_SWITCH_LOW_HIGH   30

Definition at line 37 of file rtl_dm.h.

#define CCK_Table_length   12

Definition at line 25 of file rtl_dm.h.

#define CTSToSelfTHVal   35

Definition at line 58 of file rtl_dm.h.

#define Current_Tx_Rate_Reg   0x1e0

Definition at line 68 of file rtl_dm.h.

#define DM_APInitGainChangeNotify (   Event)
Value:
{ \
dm_digtable.CurAPConnectState = Event; \
}

Definition at line 259 of file rtl_dm.h.

#define DM_check_fsync_time_interval   500

Definition at line 39 of file rtl_dm.h.

#define DM_DIG_BACKOFF   12

Definition at line 42 of file rtl_dm.h.

#define DM_DIG_BACKOFF_MAX   12

Definition at line 47 of file rtl_dm.h.

#define DM_DIG_BACKOFF_MIN   -4

Definition at line 48 of file rtl_dm.h.

#define DM_DIG_HIGH_PWR_THRESH_HIGH   75

Definition at line 33 of file rtl_dm.h.

#define DM_DIG_HIGH_PWR_THRESH_LOW   70

Definition at line 34 of file rtl_dm.h.

#define DM_DIG_MAX   0x36

Definition at line 43 of file rtl_dm.h.

#define DM_DIG_MIN   0x1c

Definition at line 44 of file rtl_dm.h.

#define DM_DIG_MIN_Netcore   0x12

Definition at line 45 of file rtl_dm.h.

#define DM_DIG_THRESH_HIGH   40

Definition at line 27 of file rtl_dm.h.

#define DM_DIG_THRESH_LOW   35

Definition at line 28 of file rtl_dm.h.

#define DM_FALSEALARM_THRESH_HIGH   1000

Definition at line 31 of file rtl_dm.h.

#define DM_FALSEALARM_THRESH_LOW   40

Definition at line 30 of file rtl_dm.h.

#define DM_Type_ByDriver   1

Definition at line 81 of file rtl_dm.h.

#define DM_Type_ByFW   0

Definition at line 80 of file rtl_dm.h.

#define E_FOR_TX_POWER_TRACK   300

Definition at line 62 of file rtl_dm.h.

#define Initial_Tx_Rate_Reg   0x1e1

Definition at line 69 of file rtl_dm.h.

#define OFDM_Table_Length   19

Definition at line 24 of file rtl_dm.h.

#define RateAdaptiveTH_High   50

Definition at line 53 of file rtl_dm.h.

#define RateAdaptiveTH_Low_20M   30

Definition at line 54 of file rtl_dm.h.

#define RateAdaptiveTH_Low_40M   10

Definition at line 55 of file rtl_dm.h.

#define RegC38_TH   20

Definition at line 71 of file rtl_dm.h.

#define RxPathSelection_diff_TH   18

Definition at line 51 of file rtl_dm.h.

#define RxPathSelection_SS_TH_low   30

Definition at line 50 of file rtl_dm.h.

#define TX_POWER_ATHEROAP_THRESH_HIGH   78

Definition at line 65 of file rtl_dm.h.

#define TX_POWER_ATHEROAP_THRESH_LOW   72

Definition at line 66 of file rtl_dm.h.

#define TX_POWER_NEAR_FIELD_THRESH_HIGH   68

Definition at line 63 of file rtl_dm.h.

#define TX_POWER_NEAR_FIELD_THRESH_LOW   62

Definition at line 64 of file rtl_dm.h.

#define TX_POWER_NEAR_FIELD_THRESH_LVL1   67

Definition at line 74 of file rtl_dm.h.

#define TX_POWER_NEAR_FIELD_THRESH_LVL2   74

Definition at line 73 of file rtl_dm.h.

#define Tx_Retry_Count_Reg   0x1ac

Definition at line 70 of file rtl_dm.h.

#define TxHighPwrLevel_Level1   1

Definition at line 77 of file rtl_dm.h.

#define TxHighPwrLevel_Level2   2

Definition at line 78 of file rtl_dm.h.

#define TxHighPwrLevel_Normal   0

Definition at line 76 of file rtl_dm.h.

#define VeryLowRSSI   15

Definition at line 56 of file rtl_dm.h.

#define WAIotTHVal   25

Definition at line 60 of file rtl_dm.h.

Enumeration Type Documentation

Enumerator:
CCK_Rx_Version_1 
CCK_Rx_Version_2 
CCK_Rx_Version_MAX 

Definition at line 228 of file rtl_dm.h.

enum dm_dbg
Enumerator:
DM_DBG_OFF 
DM_DBG_ON 
DM_DBG_MAX 

Definition at line 235 of file rtl_dm.h.

enum dm_dig_alg
Enumerator:
DIG_ALGO_BY_FALSE_ALARM 
DIG_ALGO_BY_RSSI 
DIG_ALGO_BEFORE_CONNECT_BY_RSSI_AND_ALARM 
DIG_ALGO_BY_TOW_PORT 
DIG_ALGO_MAX 
DIG_ALGO_BY_FALSE_ALARM 
DIG_ALGO_BY_RSSI 
DIG_ALGO_BEFORE_CONNECT_BY_RSSI_AND_ALARM 
DIG_ALGO_BY_TOW_PORT 
DIG_ALGO_MAX 

Definition at line 161 of file rtl_dm.h.

Enumerator:
DIG_STA_DISCONNECT 
DIG_STA_CONNECT 
DIG_STA_BEFORE_CONNECT 
DIG_MULTISTA_DISCONNECT 
DIG_MULTISTA_CONNECT 
DIG_CONNECT_MAX 
DIG_STA_DISCONNECT 
DIG_STA_CONNECT 
DIG_STA_BEFORE_CONNECT 
DIG_AP_DISCONNECT 
DIG_AP_CONNECT 
DIG_AP_ADD_STATION 
DIG_CONNECT_MAX 
DIG_STA_DISCONNECT 
DIG_STA_CONNECT 
DIG_STA_BEFORE_CONNECT 
DIG_AP_DISCONNECT 
DIG_AP_CONNECT 
DIG_AP_ADD_STATION 
DIG_CONNECT_MAX 

Definition at line 189 of file rtl_dm.h.

Enumerator:
DIG_CS_RATIO_LOWER 
DIG_CS_RATIO_HIGHER 
DIG_CS_MAX 

Definition at line 206 of file rtl_dm.h.

enum dm_dig_dbg
Enumerator:
DM_DBG_OFF 
DM_DBG_ON 
DM_DBG_MAX 
DIG_DBG_OFF 
DIG_DBG_ON 
DIG_DBG_MAX 

Definition at line 183 of file rtl_dm.h.

Enumerator:
DIG_EXT_PORT_STAGE_0 
DIG_EXT_PORT_STAGE_1 
DIG_EXT_PORT_STAGE_2 
DIG_EXT_PORT_STAGE_3 
DIG_EXT_PORT_STAGE_MAX 
DIG_EXT_PORT_STAGE_0 
DIG_EXT_PORT_STAGE_1 
DIG_EXT_PORT_STAGE_2 
DIG_EXT_PORT_STAGE_3 
DIG_EXT_PORT_STAGE_MAX 
DIG_EXT_PORT_STAGE_0 
DIG_EXT_PORT_STAGE_1 
DIG_EXT_PORT_STAGE_2 
DIG_EXT_PORT_STAGE_3 
DIG_EXT_PORT_STAGE_MAX 

Definition at line 175 of file rtl_dm.h.

Enumerator:
DIG_TYPE_THRESH_HIGH 
DIG_TYPE_THRESH_LOW 
DIG_TYPE_THRESH_HIGHPWR_HIGH 
DIG_TYPE_THRESH_HIGHPWR_LOW 
DIG_TYPE_DBG_MODE 
DIG_TYPE_RSSI 
DIG_TYPE_ALGORITHM 
DIG_TYPE_BACKOFF 
DIG_TYPE_PWDB_FACTOR 
DIG_TYPE_RX_GAIN_MIN 
DIG_TYPE_RX_GAIN_MAX 
DIG_TYPE_ENABLE 
DIG_TYPE_DISABLE 
DIG_OP_TYPE_MAX 

Definition at line 144 of file rtl_dm.h.

Enumerator:
DIG_PD_AT_LOW_POWER 
DIG_PD_AT_NORMAL_POWER 
DIG_PD_AT_HIGH_POWER 
DIG_PD_MAX 

Definition at line 199 of file rtl_dm.h.

enum dm_dig_sta
Enumerator:
DM_STA_DIG_OFF 
DM_STA_DIG_ON 
DM_STA_DIG_MAX 
DM_STA_DIG_OFF 
DM_STA_DIG_ON 
DM_STA_DIG_MAX 

Definition at line 130 of file rtl_dm.h.

Enumerator:
DIG_TWO_PORT_ALGO_RSSI 
DIG_TWO_PORT_ALGO_FALSE_ALARM 
DIG_TWO_PORT_ALGO_RSSI 
DIG_TWO_PORT_ALGO_FALSE_ALARM 

Definition at line 169 of file rtl_dm.h.

Enumerator:
DM_RATR_STA_HIGH 
DM_RATR_STA_MIDDLEHIGH 
DM_RATR_STA_MIDDLE 
DM_RATR_STA_MIDDLELOW 
DM_RATR_STA_LOW 
DM_RATR_STA_ULTRALOW 
DM_RATR_STA_MAX 
DM_RATR_STA_HIGH 
DM_RATR_STA_MIDDLE 
DM_RATR_STA_LOW 
DM_RATR_STA_MAX 

Definition at line 137 of file rtl_dm.h.

Function Documentation

void deinit_hal_dm ( struct net_device dev)

Definition at line 160 of file rtl_dm.c.

void dm_backup_dynamic_mechanism_state ( struct net_device dev)

Definition at line 1621 of file rtl_dm.c.

void dm_cck_txpower_adjust ( struct net_device dev,
bool  binch14 
)

Definition at line 1530 of file rtl_dm.c.

void dm_change_dynamic_initgain_thresh ( struct net_device dev,
u32  dm_type,
u32  dm_value 
)

Definition at line 1656 of file rtl_dm.c.

void DM_ChangeFsyncSetting ( struct net_device dev,
s32  DM_Type,
s32  DM_Value 
)
void dm_check_fsync ( struct net_device dev)

Definition at line 2766 of file rtl_dm.c.

void dm_CheckRfCtrlGPIO ( void data)

Definition at line 2250 of file rtl_dm.c.

void dm_force_tx_fw_info ( struct net_device dev,
u32  force_type,
u32  force_value 
)
void dm_fsync_timer_callback ( unsigned long  data)

Definition at line 2587 of file rtl_dm.c.

void dm_init_edca_turbo ( struct net_device dev)

Definition at line 2099 of file rtl_dm.c.

void dm_initialize_txpower_tracking ( struct net_device dev)

Definition at line 1362 of file rtl_dm.c.

void dm_InitRateAdaptiveMask ( struct net_device dev)
void dm_restore_dynamic_mechanism_state ( struct net_device dev)

Definition at line 1567 of file rtl_dm.c.

void dm_rf_operation_test_callback ( unsigned long  data)
void dm_rf_pathcheck_workitemcallback ( void data)

Definition at line 2303 of file rtl_dm.c.

void dm_shadow_init ( struct net_device dev)

Definition at line 2887 of file rtl_dm.c.

void dm_txpower_trackingcallback ( void data)

Definition at line 835 of file rtl_dm.c.

void hal_dm_watchdog ( struct net_device dev)

Definition at line 167 of file rtl_dm.c.

void init_hal_dm ( struct net_device dev)

Definition at line 137 of file rtl_dm.c.

void init_rate_adaptive ( struct net_device dev)

Definition at line 217 of file rtl_dm.c.

Variable Documentation

struct dig_t dm_digtable

Definition at line 67 of file rtl_dm.c.

struct drx_path_sel DM_RxPathSelTable

Definition at line 72 of file rtl_dm.c.

u8 dm_shadow[16][256]

Definition at line 68 of file rtl_dm.c.

u8 test_flag