}
}
-
-
if (tmpEntryMaxPWDB != 0) /* If associated entry is found */
pdmpriv->EntryMaxUndecoratedSmoothedPWDB = tmpEntryMaxPWDB;
else
struct adapter *Adapter = pDM_Odm->Adapter;
struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
-
struct dm_priv *pdmpriv = &pHalData->dmpriv;
pdmpriv->bTXPowerTracking = true;
if (*pDM_Odm->pbPowerSaving)
return;
-
odm_RefreshRateAdaptiveMask(pDM_Odm);
odm_EdcaTurboCheck(pDM_Odm);
ODM_CfoTracking(pDM_Odm);
pDM_Odm->PhyDbgInfo.NumQryBeaconPkt = 0;
}
-
/* */
/* Init /.. Fixed HW value. Only init time. */
/* */
}
-
void ODM_CmnInfoHook(struct dm_odm_t *pDM_Odm, enum odm_cmninfo_e CmnInfo, void *pValue)
{
/* */
}
-
void ODM_CmnInfoPtrArrayHook(
struct dm_odm_t *pDM_Odm,
enum odm_cmninfo_e CmnInfo,
}
-
/* */
/* Update Band/CHannel/.. The values are dynamic but non-per-packet. */
/* */
/* do nothing */
break;
}
-
-
}
/* 3 ============================================================ */
*
******************************************************************************/
-
#ifndef __HALDMOUTSRC_H__
#define __HALDMOUTSRC_H__
/* Remove Edca by YuChen */
-
struct odm_rate_adaptive {
u8 Type; /* DM_Type_ByFW/DM_Type_ByDriver */
u8 LdpcThres; /* if RSSI > LdpcThres => switch from LPDC to BCC */
pDM_Odm->NHMLastRxOkcnt =
*(pDM_Odm->pNumRxBytesUnicast);
-
if ((pDM_Odm->NHMCurTxOkcnt) + 1 > (u64)(pDM_Odm->NHMCurRxOkcnt<<2) + 1) { /* Tx > 4*Rx possible for adaptivity test */
if (pDM_Odm->NHM_cnt_0 >= 190 || pDM_Odm->adaptivity_flag) {
/* Enable EDCCA since it is possible running Adaptivity testing */
IGI = 0x50; /* find H2L, L2H lower bound */
ODM_Write_DIG(pDM_Odm, IGI);
-
Diff = IGI_target-(s8)IGI;
TH_L2H_dmc = pDM_Odm->TH_L2H_ini + Diff;
if (TH_L2H_dmc > 10)
PHY_SetBBReg(pDM_Odm->Adapter, REG_RD_CTRL, BIT(11), 1); /* stop counting if EDCCA is asserted */
}
-
void odm_Adaptivity(void *pDM_VOID, u8 IGI)
{
struct dm_odm_t *pDM_Odm = (struct dm_odm_t *)pDM_VOID;
pDM_DigTable->rx_gain_range_min = DM_DIG_MIN_NIC;
}
-
void odm_DIG(void *pDM_VOID)
{
struct dm_odm_t *pDM_Odm = (struct dm_odm_t *)pDM_VOID;
if (pDM_Odm->adaptivity_flag)
Adap_IGI_Upper = pDM_Odm->Adaptivity_IGI_upper;
-
/* 1 Update status */
DIG_Dynamic_MIN = pDM_DigTable->DIG_Dynamic_MIN_0;
FirstConnect = (pDM_Odm->bLinked) && !pDM_DigTable->bMediaConnect_0;
if (pDM_DigTable->rx_gain_range_min > pDM_DigTable->rx_gain_range_max)
pDM_DigTable->rx_gain_range_min = pDM_DigTable->rx_gain_range_max;
-
/* 1 False alarm threshold decision */
odm_FAThresholdCheck(pDM_Odm, bDFSBand, bPerformance, RxTp, TxTp, dm_FA_thres);
}
}
-
/* 1 Update status */
if (pDM_Odm->bBtHsOperation) {
if (pDM_Odm->bLinked) {
else if (pFalseAlmCnt->Cnt_all < DM_DIG_FA_TH0_LPS)
CurrentIGI = CurrentIGI-2;
-
/* Lower bound checking */
/* RSSI Lower bound check */
FalseAlmCnt->Cnt_OFDM_CCA + FalseAlmCnt->Cnt_CCK_CCA;
}
-
void odm_FAThresholdCheck(
void *pDM_VOID,
bool bDFSBand,
struct false_ALARM_STATISTICS *FalseAlmCnt = &pDM_Odm->FalseAlmCnt;
u8 CurCCK_CCAThres;
-
if (
!(pDM_Odm->SupportAbility & ODM_BB_CCK_PD) ||
!(pDM_Odm->SupportAbility & ODM_BB_FA_CNT)
phy_info->rx_mimo_signal_quality[RF_PATH_A] = -1;
phy_info->rx_mimo_signal_quality[RF_PATH_B] = -1;
-
if (is_cck_rate) {
u8 cck_agc_rpt;
u32 Weighting = 0;
PSTA_INFO_T pEntry;
-
if (pPktinfo->station_id == 0xFF)
return;
}
}
-
/* */
/* Endianness before calling this API */
/* */
*
******************************************************************************/
-
#ifndef __HALHWOUTSRC_H__
#define __HALHWOUTSRC_H__
}
}
-
void odm_ConfigRF_RadioA_8723B(struct dm_odm_t *pDM_Odm, u32 Addr, u32 Data)
{
u32 content = 0x1000; /* RF_Content: radioa_txt */
#ifndef __ODM_REGDEFINE11N_H__
#define __ODM_REGDEFINE11N_H__
-
/* 2 RF REG LIST */
#define ODM_REG_RF_MODE_11N 0x00
#define ODM_REG_RF_0B_11N 0x0B
#define ODM_REG_ANT_TRAIN_PARA1_11N 0x7b0
#define ODM_REG_ANT_TRAIN_PARA2_11N 0x7b4
-
/* DIG Related */
#define ODM_BIT_IGI_11N 0x0000007F
#define ODM_BIT_CCK_RPT_FORMAT_11N BIT(9)
*
******************************************************************************/
-
#ifndef __ODM_INTERFACE_H__
#define __ODM_INTERFACE_H__
-
-
/* =========== Macro Define */
#define _reg_all(_name) ODM_##_name
HAL_STATUS_FAILURE,
};
-
#if defined(__LITTLE_ENDIAN)
#define ODM_ENDIAN_TYPE ODM_ENDIAN_LITTLE
#else
return !ret;
}
-
/*****************************************
* H2C Msg format :
*| 31 - 8 |7-5 | 4 - 0 |
pframe = rtw_set_ie(pframe, WLAN_EID_IBSS_PARAMS, 2, (unsigned char *)(&ATIMWindow), &pktlen);
}
-
/* todo: ERP IE */
-
/* EXTERNDED SUPPORTED RATE */
if (rate_len > 8)
pframe = rtw_set_ie(pframe, WLAN_EID_EXT_SUPP_RATES, (rate_len - 8), (cur_network->supported_rates + 8), &pktlen);
-
/* todo:HT for adhoc */
_ConstructBeacon:
ODM_CmnInfoHook(pDM_Odm, ODM_CMNINFO_SCAN, &(pmlmepriv->bScanInProcess));
ODM_CmnInfoHook(pDM_Odm, ODM_CMNINFO_POWER_SAVING, &(pwrctrlpriv->bpower_saving));
-
for (i = 0; i < NUM_STA; i++)
ODM_CmnInfoPtrArrayHook(pDM_Odm, ODM_CMNINFO_STA_STATUS, i, NULL);
}
/* update IGI */
ODM_Write_DIG(pDM_Odm, pDM_Odm->RSSI_Min);
-
/* set rssi to fw */
psta = rtw_get_stainfo(pstapriv, get_bssid(pmlmepriv));
if (psta && (psta->rssi_stat.UndecoratedSmoothedPWDB > 0)) {
if (!Adapter->hw_init_completed)
goto skip_lps_dm;
-
if (rtw_linked_check(Adapter))
bLinked = true;
if (!(pDM_Odm->SupportAbility & ODM_BB_RSSI_MONITOR))
goto skip_lps_dm;
-
/* ODM_DMWatchdog(&pHalData->odmpriv); */
/* Do DIG by RSSI In LPS-32K */
)
rtw_dm_in_lps_wk_cmd(Adapter);
-
skip_lps_dm:
return;
u8 cpu_rst;
u8 io_rst;
-
/* Reset 8051(WLMCU) IO wrapper */
/* 0x1c[8] = 0 */
/* Suggested by Isaac@SD1 and Gimmy@SD1, coding by Lucas@20130624 */
u8 tempval;
u16 tmpV16;
-
if (PwrState) {
/* To avoid cannot access efuse registers after disable/enable several times during DTM test. */
/* Suggested by SD1 IsaacHsu. 2013.07.08, added by tynli. */
if (tempval & BIT(0)) { /* SDIO local register is suspend */
u8 count = 0;
-
tempval &= ~BIT(0);
rtw_write8(padapter, SDIO_LOCAL_BASE|SDIO_REG_HSUS_CTRL, tempval);
u16 i, total, used;
u8 efuse_usage;
-
/* */
/* Do NOT excess total size of EFuse table. Added by Roger, 2008.11.10. */
/* */
if (ALL_WORDS_DISABLED(efuseExtHdr))
continue;
-
offset |= ((efuseExtHdr & 0xF0) >> 1);
wden = (efuseExtHdr & 0x0F);
} else {
u16 val16;
u8 val8 = DIS_TSF_UDT;
-
val16 = val8 | (val8 << 8); /* port0 and port1 */
/* Enable prot0 beacon function for PSTDMA */
/* REG_DUAL_TSF_RST */
/* REG_BCN_CTRL (0x550) */
-
bcn_ctrl_reg = REG_BCN_CTRL;
/* */
struct dm_priv *pdmpriv;
u8 i;
-
pHalData = GET_HAL_DATA(padapter);
pdmpriv = &pHalData->dmpriv;
/* struct hal_com_data *pHalData = GET_HAL_DATA(padapter); */
u16 EEPROMId;
-
/* Check 0x8129 again for making sure autoload status!! */
EEPROMId = le16_to_cpu(*((__le16 *)hwinfo));
if (EEPROMId != RTL_EEPROM_ID) {
}
}
-
void Hal_EfuseParseTxPowerInfo_8723B(
struct adapter *padapter, u8 *PROMContent, bool AutoLoadFail
)
pHalData->EEPROMVersion = 1;
}
-
-
void Hal_EfuseParsePackageType_8723B(
struct adapter *padapter, u8 *hwinfo, bool AutoLoadFail
)
}
}
-
void Hal_EfuseParseVoltage_8723B(
struct adapter *padapter, u8 *hwinfo, bool AutoLoadFail
)
pHalData->CrystalCap = EEPROM_Default_CrystalCap_8723B;
}
-
void Hal_EfuseParseThermalMeter_8723B(
struct adapter *padapter, u8 *PROMContent, u8 AutoLoadFail
)
}
}
-
void Hal_ReadRFGainOffset(
struct adapter *Adapter, u8 *PROMContent, bool AutoloadFail
)
u32 index;
u16 checksum = 0;
-
/* Clear first */
ptxdesc->txdw7 &= cpu_to_le32(0xffff0000);
struct hal_com_data *pHalData;
struct mlme_priv *pmlmepriv;
-
pHalData = GET_HAL_DATA(padapter);
pmlmepriv = &padapter->mlmepriv;
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
struct eeprom_priv *pEEPROM;
-
pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter);
if (type == 0) { /* prepare to join */
return ret;
}
-
s32 c2h_handler_8723b(struct adapter *padapter, u8 *buf)
{
struct c2h_evt_hdr_88xx *pC2hEvent = (struct c2h_evt_hdr_88xx *)buf;
/*---------------------------Define Local Constant---------------------------*/
/*---------------------------Define Local Constant---------------------------*/
-
/*------------------------Define global variable-----------------------------*/
/*------------------------Define global variable-----------------------------*/
-
/*------------------------Define local variable------------------------------*/
/* 2008/11/20 MH For Debug only, RF */
/*------------------------Define local variable------------------------------*/
return _SUCCESS;
}
-
int PHY_RF6052_Config8723B(struct adapter *Adapter)
{
struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
signal_stat->avg_val = signal_stat->total_val / signal_stat->total_num;
} /* Process_UiLinkQuality8192S */
-
void rtl8723b_process_phy_info(struct adapter *padapter, void *prframe)
{
union recv_frame *precvframe = prframe;
pkt_info.to_self = pkt_info.bssid_match &&
ether_addr_equal(rx_ra, my_hwaddr);
-
pkt_info.is_beacon = pkt_info.bssid_match &&
(GetFrameSubType(wlanhdr) == WIFI_BEACON);
if (ret == 1)
goto next;
-
return _SUCCESS;
}
struct xmit_priv *pxmitpriv;
s32 err;
-
pxmitframe->attrib.qsel = pxmitframe->attrib.priority;
pxmitpriv = &padapter->xmitpriv;
struct xmit_priv *xmitpriv = &padapter->xmitpriv;
struct hal_com_data *phal;
-
phal = GET_HAL_DATA(padapter);
spin_lock_init(&phal->SdioTxFIFOFreePageLock);
struct list_head *plist, *phead;
struct list_head tmplist;
-
phead = get_list_head(pqueue);
INIT_LIST_HEAD(&tmplist);