void MTO_Init(struct wbsoft_priv *adapter)
{
int i;
- //[WKCHEN]pMTOcore_data = pcore_data;
-// 20040510 Turbo add for global variable
- MTO_TMR_CNT() = 0;
- MTO_TOGGLE_STATE() = TOGGLE_STATE_IDLE;
- MTO_TX_RATE_REDUCTION_STATE() = RATE_CHGSTATE_IDLE;
- MTO_BACKOFF_TMR() = 0;
- MTO_LAST_RATE() = 11;
- MTO_CO_EFFICENT() = 0;
-
- //MTO_TH_FIXANT() = MTO_DEFAULT_TH_FIXANT;
- MTO_TH_CNT() = MTO_DEFAULT_TH_CNT;
- MTO_TH_SQ3() = MTO_DEFAULT_TH_SQ3;
- MTO_TH_IDLE_SLOT() = MTO_DEFAULT_TH_IDLE_SLOT;
- MTO_TH_PR_INTERF() = MTO_DEFAULT_TH_PR_INTERF;
-
- MTO_TMR_AGING() = MTO_DEFAULT_TMR_AGING;
- MTO_TMR_PERIODIC() = MTO_DEFAULT_TMR_PERIODIC;
//[WKCHEN]MTO_CCA_MODE_SETUP()= (u8) hal_get_cca_mode(MTO_HAL());
//[WKCHEN]MTO_CCA_MODE() = MTO_CCA_MODE_SETUP();
//MTO_PREAMBLE_TYPE() = MTO_PREAMBLE_LONG;
MTO_PREAMBLE_TYPE() = MTO_PREAMBLE_SHORT; // for test
- MTO_ANT_SEL() = hal_get_antenna_number(MTO_HAL());
- MTO_ANT_MAC() = MTO_ANT_SEL();
MTO_CNT_ANT(0) = 0;
MTO_CNT_ANT(1) = 0;
MTO_SQ_ANT(0) = 0;
MTO_SQ_ANT(1) = 0;
- MTO_ANT_DIVERSITY() = MTO_ANTENNA_DIVERSITY_ON;
- //CardSet_AntennaDiversity(adapter, MTO_ANT_DIVERSITY());
- //PLMESetAntennaDiversity( adapter, MTO_ANT_DIVERSITY());
- MTO_AGING_TIMEOUT() = 0;//MTO_TMR_AGING() / MTO_TMR_PERIODIC();
+ MTO_AGING_TIMEOUT() = 0;
// The following parameters should be initialized to the values set by user
//
MTO_FRAG_CHANGE_ENABLE() = 0; // 1.1.29.1000 Turbo add don't support frag
//The default valud of ANTDIV_DEFAULT_ON will be decided by EEPROM
//#ifdef ANTDIV_DEFAULT_ON
- //MTO_ANT_DIVERSITY_ENABLE() = 1;
//#else
- //MTO_ANT_DIVERSITY_ENABLE() = 0;
//#endif
MTO_POWER_CHANGE_ENABLE() = 1;
MTO_PREAMBLE_CHANGE_ENABLE()= 1;
struct wbsoft_priv;
-#define MTO_DEFAULT_TH_CNT 5
-#define MTO_DEFAULT_TH_SQ3 112 //OLD IS 13 reference JohnXu
-#define MTO_DEFAULT_TH_IDLE_SLOT 15
-#define MTO_DEFAULT_TH_PR_INTERF 30
-#define MTO_DEFAULT_TMR_AGING 25 // unit: slot time 10 reference JohnXu
-#define MTO_DEFAULT_TMR_PERIODIC 5 // unit: slot time
-
-#define MTO_ANTENNA_DIVERSITY_OFF 0
-#define MTO_ANTENNA_DIVERSITY_ON 1
-
// LA20040210_DTO kevin
//#define MTO_PREAMBLE_LONG 0
//#define MTO_PREAMBLE_SHORT 1
#define MTO_PREAMBLE_LONG WLAN_PREAMBLE_TYPE_LONG
#define MTO_PREAMBLE_SHORT WLAN_PREAMBLE_TYPE_SHORT
-typedef enum {
- TOGGLE_STATE_IDLE = 0,
- TOGGLE_STATE_WAIT0 = 1,
- TOGGLE_STATE_WAIT1 = 2,
- TOGGLE_STATE_MAKEDESISION = 3,
- TOGGLE_STATE_BKOFF = 4
-} TOGGLE_STATE;
-
-typedef enum {
- RATE_CHGSTATE_IDLE = 0,
- RATE_CHGSTATE_CALCULATE = 1,
- RATE_CHGSTATE_BACKOFF = 2
-} TX_RATE_REDUCTION_STATE;
-
//============================================================================
// struct _MTOParameters --
//
// Defines the parameters used in the MAC Throughput Optimization algorithm
//============================================================================
struct wb35_mto_params {
- u8 Th_Fixant;
- u8 Th_Cnt;
- u8 Th_SQ3;
- u8 Th_IdleSlot;
-
- u16 Tmr_Aging;
- u8 Th_PrInterf;
- u8 Tmr_Periodic;
-
//--------- wkchen added -------------
u32 TxFlowCount; //to judge what kind the tx flow(sparse or busy) is
//------------------------------------------------
u8 PowerChangeEnable;
u8 AntDiversityEnable;
- u8 Ant_mac;
- u8 Ant_div;
-
u8 CCA_Mode;
u8 CCA_Mode_Setup;
u8 Preamble_Type;
u32 SQ_Ant[2];
// 20040510 remove from globe vairable
- u32 TmrCnt;
- u32 BackoffTmr;
- TOGGLE_STATE ToggleState;
- TX_RATE_REDUCTION_STATE TxRateReductionState;
-
- u8 Last_Rate;
- u8 Co_efficent;
u8 FallbackRateLevel;
u8 OfdmRateLevel;
#define LOCAL_ANTENNA_NO() (adapter->sLocalPara.bAntennaNo)
#define LOCAL_IS_CONNECTED() (adapter->sLocalPara.wConnectedSTAindex != 0)
#define MTO_INITTXRATE_MODE (adapter->sHwData.SoftwareSet&0x2) //bit 1
-// 20040510 Turbo add
-#define MTO_TMR_CNT() MTO_DATA().TmrCnt
-#define MTO_TOGGLE_STATE() MTO_DATA().ToggleState
-#define MTO_TX_RATE_REDUCTION_STATE() MTO_DATA().TxRateReductionState
-#define MTO_BACKOFF_TMR() MTO_DATA().BackoffTmr
-#define MTO_LAST_RATE() MTO_DATA().Last_Rate
-#define MTO_CO_EFFICENT() MTO_DATA().Co_efficent
-
-#define MTO_TH_CNT() MTO_DATA().Th_Cnt
-#define MTO_TH_SQ3() MTO_DATA().Th_SQ3
-#define MTO_TH_IDLE_SLOT() MTO_DATA().Th_IdleSlot
-#define MTO_TH_PR_INTERF() MTO_DATA().Th_PrInterf
-
-#define MTO_TMR_AGING() MTO_DATA().Tmr_Aging
-#define MTO_TMR_PERIODIC() MTO_DATA().Tmr_Periodic
#define MTO_POWER_CHANGE_ENABLE() MTO_DATA().PowerChangeEnable
-#define MTO_ANT_DIVERSITY_ENABLE() adapter->sLocalPara.boAntennaDiversity
-#define MTO_ANT_MAC() MTO_DATA().Ant_mac
-#define MTO_ANT_DIVERSITY() MTO_DATA().Ant_div
#define MTO_CCA_MODE() MTO_DATA().CCA_Mode
#define MTO_CCA_MODE_SETUP() MTO_DATA().CCA_Mode_Setup
#define MTO_PREAMBLE_TYPE() MTO_DATA().Preamble_Type
#define MTO_PR_INTERF() MTO_DATA().Pr_Interf
#define MTO_AVG_GAP_BTWN_INTERF() MTO_DATA().AvgGapBtwnInterf
-#define MTO_ANT_SEL() MTO_DATA().Ant_sel
#define MTO_CNT_ANT(x) MTO_DATA().Cnt_Ant[(x)]
#define MTO_SQ_ANT(x) MTO_DATA().SQ_Ant[(x)]
#define MTO_AGING_TIMEOUT() MTO_DATA().aging_timeout