rtl8188eu: Remove antenna diversity configuration variables

Always selected are CONFIG_ANTENNA_DIVERSITY and CONFIG_hW_ANTENNA_DIVERSITY.
Not selected is CONFIG_SW_ANTENNA_DIVERSITY.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
This commit is contained in:
Larry Finger 2015-02-25 15:41:18 -06:00
parent dae15933ce
commit f6fb81d6a0
17 changed files with 44 additions and 421 deletions

View file

@ -423,7 +423,6 @@ void rtw_hal_bcn_related_reg_setting(struct adapter *padapter)
}
#ifdef CONFIG_ANTENNA_DIVERSITY
u8 rtw_hal_antdiv_before_linked(struct adapter *padapter)
{
if(padapter->HalFunc.AntDivBeforeLinkHandler)
@ -435,7 +434,6 @@ void rtw_hal_antdiv_rssi_compared(struct adapter *padapter, WLAN_BSSID_EX *dst,
if(padapter->HalFunc.AntDivCompareHandler)
padapter->HalFunc.AntDivCompareHandler(padapter, dst, src);
}
#endif
#ifdef CONFIG_HOSTAPD_MLME
s32 rtw_hal_hostap_mgnt_xmit_entry(struct adapter *padapter, _pkt *pkt)

201
hal/odm.c
View file

@ -984,13 +984,7 @@ odm_CommonInfoSelfInit(
pDM_Odm->bCckHighPower = (BOOLEAN) ODM_GetBBReg(pDM_Odm, 0x824, BIT9);
pDM_Odm->RFPathRxEnable = (u8) ODM_GetBBReg(pDM_Odm, 0xc04, 0x0F);
if(pDM_Odm->SupportICType & (ODM_RTL8192C|ODM_RTL8192D))
{
#if(defined(CONFIG_HW_ANTENNA_DIVERSITY))
pDM_Odm->AntDivType = CG_TRX_HW_ANTDIV;
#elif (defined(CONFIG_SW_ANTENNA_DIVERSITY))
pDM_Odm->AntDivType = CGCS_RX_SW_ANTDIV;
#endif
}
if(pDM_Odm->SupportICType & (ODM_RTL8723A))
pDM_Odm->AntDivType = CGCS_RX_SW_ANTDIV;
@ -3416,188 +3410,6 @@ odm_TXPowerTrackingCheckAP(
/* 3============================================================ */
/* 3 SW Antenna Diversity */
/* 3============================================================ */
#if(defined(CONFIG_SW_ANTENNA_DIVERSITY))
void
odm_SwAntDivInit(
IN PDM_ODM_T pDM_Odm
)
{
odm_SwAntDivInit_NIC(pDM_Odm);
}
void
odm_SwAntDivInit_NIC(
IN PDM_ODM_T pDM_Odm
)
{
pSWAT_T pDM_SWAT_Table = &pDM_Odm->DM_SWAT_Table;
/* Init SW ANT DIV mechanism for 8723AE/AU/AS*/
/* CE/AP/ADSL no using SW ANT DIV for 8723A Series IC */
ODM_RT_TRACE(pDM_Odm, ODM_COMP_ANT_DIV, ODM_DBG_LOUD, ("SWAS:Init SW Antenna Switch\n"));
pDM_SWAT_Table->RSSI_sum_A = 0;
pDM_SWAT_Table->RSSI_cnt_A = 0;
pDM_SWAT_Table->RSSI_sum_B = 0;
pDM_SWAT_Table->RSSI_cnt_B = 0;
pDM_SWAT_Table->CurAntenna = Antenna_A;
pDM_SWAT_Table->PreAntenna = Antenna_A;
pDM_SWAT_Table->try_flag = 0xff;
pDM_SWAT_Table->PreRSSI = 0;
pDM_SWAT_Table->SWAS_NoLink_State = 0;
pDM_SWAT_Table->bTriggerAntennaSwitch = 0;
pDM_SWAT_Table->SelectAntennaMap=0xAA;
pDM_SWAT_Table->lastTxOkCnt = 0;
pDM_SWAT_Table->lastRxOkCnt = 0;
pDM_SWAT_Table->TXByteCnt_A = 0;
pDM_SWAT_Table->TXByteCnt_B = 0;
pDM_SWAT_Table->RXByteCnt_A = 0;
pDM_SWAT_Table->RXByteCnt_B = 0;
pDM_SWAT_Table->TrafficLoad = TRAFFIC_LOW;
pDM_SWAT_Table->SWAS_NoLink_BK_Reg860 = ODM_Read4Byte(pDM_Odm, 0x860);
}
/* */
/* 20100514 Joseph: */
/* Add new function to reset the state of antenna diversity before link. */
/* */
void
ODM_SwAntDivResetBeforeLink(
IN PDM_ODM_T pDM_Odm
)
{
pSWAT_T pDM_SWAT_Table = &pDM_Odm->DM_SWAT_Table;
pDM_SWAT_Table->SWAS_NoLink_State = 0;
}
/* */
/* 20100514 Luke/Joseph: */
/* Add new function to reset antenna diversity state after link. */
/* */
void
ODM_SwAntDivRestAfterLink(
IN PDM_ODM_T pDM_Odm
)
{
pSWAT_T pDM_SWAT_Table = &pDM_Odm->DM_SWAT_Table;
pDM_SWAT_Table->RSSI_cnt_A = 0;
pDM_SWAT_Table->RSSI_cnt_B = 0;
pDM_Odm->RSSI_test = FALSE;
pDM_SWAT_Table->try_flag = 0xff;
pDM_SWAT_Table->RSSI_Trying = 0;
pDM_SWAT_Table->SelectAntennaMap=0xAA;
}
void
ODM_SwAntDivChkPerPktRssi(
IN PDM_ODM_T pDM_Odm,
IN u8 StationID,
IN PODM_PHY_INFO_T pPhyInfo
)
{
SWAT_T *pDM_SWAT_Table = &pDM_Odm->DM_SWAT_Table;
if(!(pDM_Odm->SupportAbility & (ODM_BB_ANT_DIV)))
return;
if(StationID == pDM_SWAT_Table->RSSI_target)
{
/* 1 RSSI for SW Antenna Switch */
if(pDM_SWAT_Table->CurAntenna == Antenna_A)
{
pDM_SWAT_Table->RSSI_sum_A += pPhyInfo->RxPWDBAll;
pDM_SWAT_Table->RSSI_cnt_A++;
}
else
{
pDM_SWAT_Table->RSSI_sum_B += pPhyInfo->RxPWDBAll;
pDM_SWAT_Table->RSSI_cnt_B++;
}
}
}
/* */
void
odm_SwAntDivChkAntSwitch(
IN PDM_ODM_T pDM_Odm,
IN u8 Step
)
{
/* */
/* For AP/ADSL use prtl8192cd_priv */
/* For CE/NIC use PADAPTER */
/* */
struct adapter * pAdapter = pDM_Odm->Adapter;
prtl8192cd_priv priv = pDM_Odm->priv;
/* */
/* 2011/09/29 MH In HW integration first stage, we provide 4 different handle to operate */
/* at the same time. In the stage2/3, we need to prive universal interface and merge all */
/* HW dynamic mechanism. */
/* */
switch (pDM_Odm->SupportPlatform) {
case ODM_MP:
case ODM_CE:
odm_SwAntDivChkAntSwitchNIC(pDM_Odm, Step);
break;
case ODM_AP:
case ODM_ADSL:
break;
}
}
/* */
/* 20100514 Luke/Joseph: */
/* Add new function for antenna diversity after link. */
/* This is the main function of antenna diversity after link. */
/* This function is called in HalDmWatchDog() and ODM_SwAntDivChkAntSwitchCallback(). */
/* HalDmWatchDog() calls this function with SWAW_STEP_PEAK to initialize the antenna test. */
/* In SWAW_STEP_PEAK, another antenna and a 500ms timer will be set for testing. */
/* After 500ms, ODM_SwAntDivChkAntSwitchCallback() calls this function to compare the signal just */
/* listened on the air with the RSSI of original antenna. */
/* It chooses the antenna with better RSSI. */
/* There is also a aged policy for error trying. Each error trying will cost more 5 seconds waiting */
/* penalty to get next try. */
void
ODM_SetAntenna(
IN PDM_ODM_T pDM_Odm,
IN u8 Antenna)
{
ODM_SetBBReg(pDM_Odm, 0x860, BIT8|BIT9, Antenna);
}
/* 2012--09--06-- */
/* Note: Antenna_Main--> Antenna_A */
/* Antenna_Aux---> Antenna_B */
/* */
void
odm_SwAntDivChkAntSwitchNIC(
IN PDM_ODM_T pDM_Odm,
IN u8 Step
)
{
}
/* */
/* 20100514 Luke/Joseph: */
/* Callback function for 500ms antenna test trying. */
/* */
void odm_SwAntDivChkAntSwitchCallback(void *FunctionContext)
{
PDM_ODM_T pDM_Odm= (PDM_ODM_T)FunctionContext;
struct adapter *padapter = pDM_Odm->Adapter;
if(padapter->net_closed == true)
return;
odm_SwAntDivChkAntSwitch(pDM_Odm, SWAW_STEP_DETERMINE);
}
#else /* if(defined(CONFIG_SW_ANTENNA_DIVERSITY)) */
void odm_SwAntDivInit( IN PDM_ODM_T pDM_Odm ) {}
void ODM_SwAntDivChkPerPktRssi(
IN PDM_ODM_T pDM_Odm,
@ -3612,13 +3424,10 @@ static void ODM_SwAntDivResetBeforeLink( IN PDM_ODM_T pDM_Odm ){}
void ODM_SwAntDivRestAfterLink( IN PDM_ODM_T pDM_Odm ){}
void odm_SwAntDivChkAntSwitchCallback(void *FunctionContext){}
#endif /* if(defined(CONFIG_SW_ANTENNA_DIVERSITY)) */
/* 3============================================================ */
/* 3 SW Antenna Diversity */
/* 3============================================================ */
#if(defined(CONFIG_HW_ANTENNA_DIVERSITY))
static void
odm_InitHybridAntDiv_88C_92D(
IN PDM_ODM_T pDM_Odm
@ -3939,16 +3748,6 @@ odm_HwAntDiv(
}
#else /* if(defined(CONFIG_HW_ANTENNA_DIVERSITY)) */
void odm_InitHybridAntDiv( IN PDM_ODM_T pDM_Odm ){}
void odm_HwAntDiv( IN PDM_ODM_T pDM_Odm){}
void ODM_SetTxAntByTxInfo_88C_92D( IN PDM_ODM_T pDM_Odm){ }
#endif /* if(defined(CONFIG_HW_ANTENNA_DIVERSITY)) */
/* */
/* EDCA Turbo */
/* */

View file

@ -233,7 +233,6 @@ typedef struct _RX_High_Power_
#define ASSOCIATE_ENTRY_NUM 32 /* Max size of AsocEntry[]. */
#define ODM_ASSOCIATE_ENTRY_NUM ASSOCIATE_ENTRY_NUM
/* ifdef CONFIG_ANTENNA_DIVERSITY */
/* This indicates two different the steps. */
/* In SWAW_STEP_PEAK, driver needs to switch antenna and listen to the signal on the air. */
/* In SWAW_STEP_DETERMINE, driver just compares the signal captured in SWAW_STEP_PEAK */
@ -277,7 +276,6 @@ typedef struct _SW_Antenna_Switch_
u64 RXByteCnt_B;
u8 TrafficLoad;
RT_TIMER SwAntennaSwitchTimer;
#ifdef CONFIG_HW_ANTENNA_DIVERSITY
/* Hybrid Antenna Diversity */
u32 CCK_Ant1_Cnt[ASSOCIATE_ENTRY_NUM];
u32 CCK_Ant2_Cnt[ASSOCIATE_ENTRY_NUM];
@ -289,8 +287,6 @@ typedef struct _SW_Antenna_Switch_
u8 TargetSTA;
u8 antsel;
u8 RxIdleAnt;
#endif
}SWAT_T, *pSWAT_T;
typedef struct _EDCA_TURBO_ {

View file

@ -571,13 +571,11 @@ odm_RxPhyStatus92CSeries_Parsing(
}
/* For 92C/92D HW (Hybrid) Antenna Diversity */
#if(defined(CONFIG_HW_ANTENNA_DIVERSITY))
pDM_SWAT_Table->antsel = pPhyStaRpt->ant_sel;
/* For 88E HW Antenna Diversity */
pDM_Odm->DM_FatTable.antsel_rx_keep_0 = pPhyStaRpt->ant_sel;
pDM_Odm->DM_FatTable.antsel_rx_keep_1 = pPhyStaRpt->ant_sel_b;
pDM_Odm->DM_FatTable.antsel_rx_keep_2 = pPhyStaRpt->antsel_rx_keep_2;
#endif
}
void
@ -627,7 +625,6 @@ odm_Process_RSSIForDM(
pDM_Odm->PhyDbgInfo.NumQryBeaconPkt++;
pDM_Odm->RxRate = pPktinfo->Rate;
#if(defined(CONFIG_HW_ANTENNA_DIVERSITY))
/* Smart Antenna Debug Message------------------ */
if(pDM_Odm->SupportICType == ODM_RTL8188E)
{
@ -653,7 +650,6 @@ odm_Process_RSSIForDM(
}
}
#endif /* if(defined(CONFIG_HW_ANTENNA_DIVERSITY)) */
/* Smart Antenna Debug Message------------------ */
UndecoratedSmoothedCCK = pEntry->rssi_stat.UndecoratedSmoothedCCK;

View file

@ -42,7 +42,6 @@ ODM_DIG_LowerBound_88E(
}
#if(defined(CONFIG_HW_ANTENNA_DIVERSITY))
static void
odm_RX_HWAntDivInit(
IN PDM_ODM_T pDM_Odm
@ -528,17 +527,6 @@ ODM_AntennaDiversity_88E(
odm_HWAntDiv(pDM_Odm);
}
#else /* if(defined(CONFIG_HW_ANTENNA_DIVERSITY)) */
void
ODM_SetTxAntByTxInfo_88E(
IN PDM_ODM_T pDM_Odm,
IN u8 * pDesc,
IN u8 macId
)
{
}
#endif /* if(defined(CONFIG_HW_ANTENNA_DIVERSITY)) */
/* 3============================================================ */
/* 3 Dynamic Primary CCA */
/* 3============================================================ */

View file

@ -367,10 +367,6 @@ void rtl8188e_init_dm_priv(IN struct adapter *Adapter)
memset(pdmpriv, 0, sizeof(struct dm_priv));
/* _rtw_spinlock_init(&(pHalData->odm_stainfo_lock)); */
Init_ODM_ComInfo_88E(Adapter);
#ifdef CONFIG_SW_ANTENNA_DIVERSITY
/* _init_timer(&(pdmpriv->SwAntennaSwitchTimer), Adapter->pnetdev , odm_SW_AntennaSwitchCallback, Adapter); */
ODM_InitAllTimers(podmpriv );
#endif
ODM_InitDebugSetting(podmpriv);
}
@ -379,15 +375,8 @@ void rtl8188e_deinit_dm_priv(IN struct adapter *Adapter)
PHAL_DATA_TYPE pHalData = GET_HAL_DATA(Adapter);
struct dm_priv *pdmpriv = &pHalData->dmpriv;
PDM_ODM_T podmpriv = &pHalData->odmpriv;
/* _rtw_spinlock_free(&pHalData->odm_stainfo_lock); */
#ifdef CONFIG_SW_ANTENNA_DIVERSITY
/* _cancel_timer_ex(&pdmpriv->SwAntennaSwitchTimer); */
ODM_CancelAllTimers(podmpriv);
#endif
}
#ifdef CONFIG_ANTENNA_DIVERSITY
/* Add new function to reset the state of antenna diversity before link. */
/* */
/* Compare RSSI for deciding antenna */
@ -448,4 +437,3 @@ u8 AntDivBeforeLink8188E(struct adapter *Adapter )
}
}
#endif

View file

@ -2762,10 +2762,8 @@ void rtl8188e_set_hal_ops(struct hal_ops *pHalFunc)
pHalFunc->run_thread= &rtl8188e_start_thread;
pHalFunc->cancel_thread= &rtl8188e_stop_thread;
#ifdef CONFIG_ANTENNA_DIVERSITY
pHalFunc->AntDivBeforeLinkHandler = &AntDivBeforeLink8188E;
pHalFunc->AntDivCompareHandler = &AntDivCompare8188E;
#endif
pHalFunc->read_bbreg = &rtl8188e_PHY_QueryBBReg;
pHalFunc->write_bbreg = &rtl8188e_PHY_SetBBReg;

View file

@ -482,9 +482,7 @@ if (padapter->registrypriv.mp_mode == 0)
ptxdesc->txdw4 |= cpu_to_le32(HW_SSN); /* Hw set sequence number */
}
#ifdef CONFIG_HW_ANTENNA_DIVERSITY /* CONFIG_ANTENNA_DIVERSITY */
ODM_SetTxAntByTxInfo_88E(&pHalData->odmpriv, pmem, pattrib->mac_id);
#endif
rtl8188eu_cal_txdesc_chksum(ptxdesc);
_dbg_dump_tx_info(padapter,pxmitframe->frame_tag,ptxdesc);

View file

@ -3101,14 +3101,6 @@ static void SetHwReg8188EU(struct adapter *Adapter, u8 variable, u8* val)
}
break;
#endif
#ifdef CONFIG_SW_ANTENNA_DIVERSITY
case HW_VAR_ANTENNA_DIVERSITY_LINK:
/* odm_SwAntDivRestAfterLink8192C(Adapter); */
ODM_SwAntDivRestAfterLink(podmpriv);
break;
#endif
#ifdef CONFIG_ANTENNA_DIVERSITY
case HW_VAR_ANTENNA_DIVERSITY_SELECT:
{
u8 Optimum_antenna = (*(u8 *)val);
@ -3125,7 +3117,6 @@ static void SetHwReg8188EU(struct adapter *Adapter, u8 variable, u8* val)
}
}
break;
#endif
case HW_VAR_EFUSE_BYTES: /* To set EFUE total used bytes, added by Roger, 2008.12.22. */
pHalData->EfuseUsedBytes = *((u16 *)val);
break;
@ -3330,11 +3321,9 @@ static void GetHwReg8188EU(struct adapter *Adapter, u8 variable, u8* val)
}
}
break;
#ifdef CONFIG_ANTENNA_DIVERSITY
case HW_VAR_CURRENT_ANTENNA:
val[0] = pHalData->CurAntenna;
break;
#endif
case HW_VAR_EFUSE_BYTES: /* To get EFUE total used bytes, added by Roger, 2008.12.22. */
*((u16 *)(val)) = pHalData->EfuseUsedBytes;
break;
@ -3344,11 +3333,8 @@ static void GetHwReg8188EU(struct adapter *Adapter, u8 variable, u8* val)
case HW_VAR_CHK_HI_QUEUE_EMPTY:
*val = ((rtw_read32(Adapter, REG_HGQ_INFORMATION)&0x0000ff00)==0) ? true:false;
break;
case HW_VAR_READ_LLT_TAB:
{
Read_LLT_Tab(Adapter);
}
Read_LLT_Tab(Adapter);
break;
case HW_VAR_GET_CPWM:
break;
@ -3405,14 +3391,10 @@ static u8 GetHalDefVar8188EUsb(
#endif
break;
case HAL_DEF_IS_SUPPORT_ANT_DIV:
#ifdef CONFIG_ANTENNA_DIVERSITY
*((u8 *)pValue) = (pHalData->AntDivCfg==0)?false:true;
#endif
break;
case HAL_DEF_CURRENT_ANTENNA:
#ifdef CONFIG_ANTENNA_DIVERSITY
*(( u8*)pValue) = pHalData->CurAntenna;
#endif
break;
case HAL_DEF_DRVINFO_SZ:
*(( u32*)pValue) = DRVINFO_SZ;