#include <Hal8723PwrSeq.h>
#include <rtl8723a_hal.h>
#include <rtl8723a_led.h>
+#include <linux/ieee80211.h>
#ifdef CONFIG_IOL
#include <rtw_iol.h>
static void
_ConfigChipOutEP(
- IN PADAPTER pAdapter,
- IN u8 NumOutPipe
+ PADAPTER pAdapter,
+ u8 NumOutPipe
)
{
u8 value8;
}
// TODO: Error recovery for this case
- //RT_ASSERT((NumOutPipe == pHalData->OutEpNumber), ("Out EP number isn't match! %d(Descriptor) != %d (SIE reg)\n", (u4Byte)NumOutPipe, (u4Byte)pHalData->OutEpNumber));
+ //RT_ASSERT((NumOutPipe == pHalData->OutEpNumber), ("Out EP number isn't match! %d(Descriptor) != %d (SIE reg)\n", (u32)NumOutPipe, (u32)pHalData->OutEpNumber));
}
static bool HalUsbSetQueuePipeMapping8192CUsb(
- IN PADAPTER pAdapter,
- IN u8 NumInPipe,
- IN u8 NumOutPipe
+ PADAPTER pAdapter,
+ u8 NumInPipe,
+ u8 NumOutPipe
)
{
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter);
- bool result = false;
+ bool result = _FALSE;
_ConfigChipOutEP(pAdapter, NumOutPipe);
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(padapter);
struct dvobj_priv *pdvobjpriv = adapter_to_dvobj(padapter);
- if (pdvobjpriv->ishighspeed == true)
+ if (pdvobjpriv->ishighspeed == _TRUE)
{
pHalData->UsbBulkOutSize = USB_HIGH_SPEED_BULK_SIZE;//512 bytes
}
{
offset = index*4;
val32 = rtw_read32(padapter,offset);
- DBG_8192C("offset : 0x%02x ,val:0x%08x\n",offset,val32);
+ DBG_8723A("offset : 0x%02x ,val:0x%08x\n",offset,val32);
}
}
//
//-------------------------------------------------------------------------
static u8 _LLTWrite(
- IN PADAPTER Adapter,
- IN u32 address,
- IN u32 data
+ PADAPTER Adapter,
+ u32 address,
+ u32 data
)
{
u8 status = _SUCCESS;
static u8 _LLTRead(
- IN PADAPTER Adapter,
- IN u32 address
+ PADAPTER Adapter,
+ u32 address
)
{
int count = 0;
//---------------------------------------------------------------
static void
_SetMacID(
- IN PADAPTER Adapter, u8* MacID
+ PADAPTER Adapter, u8* MacID
)
{
u32 i;
static void
_SetBSSID(
- IN PADAPTER Adapter, u8* BSSID
+ PADAPTER Adapter, u8* BSSID
)
{
u32 i;
// Shall USB interface init this?
static void
_InitInterrupt(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
u32 value32;
static void
_InitQueueReservedPage(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
static void
_InitTxBufferBoundary(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
struct registry_priv *pregistrypriv = &Adapter->registrypriv;
static void
_InitPageBoundary(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
// RX Page Boundary
static void
_InitNormalChipRegPriority(
- IN PADAPTER Adapter,
- IN u16 beQ,
- IN u16 bkQ,
- IN u16 viQ,
- IN u16 voQ,
- IN u16 mgtQ,
- IN u16 hiQ
+ PADAPTER Adapter,
+ u16 beQ,
+ u16 bkQ,
+ u16 viQ,
+ u16 voQ,
+ u16 mgtQ,
+ u16 hiQ
)
{
u16 value16 = (rtw_read16(Adapter, REG_TRXDMA_CTRL) & 0x7);
static void
_InitNormalChipOneOutEpPriority(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
static void
_InitNormalChipTwoOutEpPriority(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
static void
_InitNormalChipThreeOutEpPriority(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
struct registry_priv *pregistrypriv = &Adapter->registrypriv;
static void
_InitNormalChipQueuePriority(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
static void
_InitQueuePriority(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
_InitNormalChipQueuePriority(Adapter);
static void
_InitHardwareDropIncorrectBulkOut(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
u32 value32 = rtw_read32(Adapter, REG_TXDMA_OFFSET_CHK);
static void
_InitNetworkType(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
u32 value32;
static void
_InitTransferPageSize(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
// Tx page size is always 128.
static void
_InitDriverInfoSize(
- IN PADAPTER Adapter,
- IN u8 drvInfoSize
+ PADAPTER Adapter,
+ u8 drvInfoSize
)
{
rtw_write8(Adapter,REG_RX_DRVINFO_SZ, drvInfoSize);
static void
_InitWMACSetting(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
- //u4Byte value32;
+ //u32 value32;
//u16 value16;
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
//pHalData->ReceiveConfig = AAP | APM | AM | AB | APP_ICV | ADF | AMF | APP_FCS | HTC_LOC_CTRL | APP_MIC | APP_PHYSTS;
- pHalData->ReceiveConfig = RCR_AAP | RCR_APM | RCR_AM | RCR_AB |RCR_CBSSID_DATA| RCR_CBSSID_BCN| RCR_APP_ICV | RCR_AMF | RCR_HTC_LOC_CTRL | RCR_APP_MIC | RCR_APP_PHYSTS;
+ //pHalData->ReceiveConfig = RCR_AAP | RCR_APM | RCR_AM | RCR_AB |RCR_CBSSID_DATA| RCR_CBSSID_BCN| RCR_APP_ICV | RCR_AMF | RCR_HTC_LOC_CTRL | RCR_APP_MIC | RCR_APP_PHYSTS;
+ // don't turn on AAP, it will allow all packets to driver
+ pHalData->ReceiveConfig = RCR_APM | RCR_AM | RCR_AB |RCR_CBSSID_DATA| RCR_CBSSID_BCN| RCR_APP_ICV | RCR_AMF | RCR_HTC_LOC_CTRL | RCR_APP_MIC | RCR_APP_PHYSTS;
#if (1 == RTL8192C_RX_PACKET_INCLUDE_CRC)
pHalData->ReceiveConfig |= ACRC32;
#endif
static void
_InitAdaptiveCtrl(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
u16 value16;
static void
_InitRateFallback(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
// Set Data Auto Rate Fallback Retry Count register.
static void
_InitEDCA(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
// Set Spec SIFS (used in NAV)
static void
_InitRDGSetting(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
rtw_write8(Adapter,REG_RD_CTRL,0xFF);
static void
_InitRxSetting(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
rtw_write32(Adapter, REG_MACID, 0x87654321);
static void
_InitRetryFunction(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
u8 value8;
*---------------------------------------------------------------------------*/
static void
usb_AggSettingTxUpdate(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
#ifdef CONFIG_USB_TX_AGGREGATION
u32 value32;
if(Adapter->registrypriv.wifi_spec)
- pHalData->UsbTxAggMode = false;
+ pHalData->UsbTxAggMode = _FALSE;
if(pHalData->UsbTxAggMode){
value32 = rtw_read32(Adapter, REG_TDECTRL);
*---------------------------------------------------------------------------*/
static void
usb_AggSettingRxUpdate(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
#ifdef CONFIG_USB_RX_AGGREGATION
static void
InitUsbAggregationSetting(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
usb_AggSettingRxUpdate(Adapter);
// 201/12/10 MH Add for USB agg mode dynamic switch.
- pHalData->UsbRxHighSpeedMode = false;
+ pHalData->UsbRxHighSpeedMode = _FALSE;
}
/*-----------------------------------------------------------------------------
* 12/10/2010 MHC Create Version 0.
*
*---------------------------------------------------------------------------*/
-void USB_AggModeSwitch(IN PADAPTER Adapter)
+void
+USB_AggModeSwitch(
+ PADAPTER Adapter
+ )
{
} // USB_AggModeSwitch
static void
_InitOperationMode(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
}
static void
_InitRFType(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
struct registry_priv *pregpriv = &Adapter->registrypriv;
pHalData->rf_chip = RF_6052;
- if(false == is92CU){
+ if(_FALSE == is92CU){
pHalData->rf_type = RF_1T1R;
- DBG_8192C("Set RF Chip ID to RF_6052 and RF type to 1T1R.\n");
+ DBG_8723A("Set RF Chip ID to RF_6052 and RF type to 1T1R.\n");
return;
}
// TODO: Consider that EEPROM set 92CU to 1T1R later.
// Force to overwrite setting according to chip version. Ignore EEPROM setting.
//pHalData->RF_Type = is92CU ? RF_2T2R : RF_1T1R;
- MSG_8192C("Set RF Chip ID to RF_6052 and RF type to %d.\n", pHalData->rf_type);
+ MSG_8723A("Set RF Chip ID to RF_6052 and RF type to %d.\n", pHalData->rf_type);
}
-static void _InitAdhocWorkaroundParams(IN PADAPTER Adapter)
+static void _InitAdhocWorkaroundParams(PADAPTER Adapter)
{
-#if RTL8192CU_ADHOC_WORKAROUND_SETTING
+#ifdef RTL8192CU_ADHOC_WORKAROUND_SETTING
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
pHalData->RegBcnCtrlVal = rtw_read8(Adapter, REG_BCN_CTRL);
pHalData->RegTxPause = rtw_read8(Adapter, REG_TXPAUSE);
// Set CCK and OFDM Block "ON"
static void _BBTurnOnBlock(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
#if (DISABLE_BB_RF)
//
static bool
HalDetectPwrDownMode(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
u8 tmpvalue;
// 2010/08/25 MH INF priority > PDN Efuse value.
if(tmpvalue & BIT4 && pwrctrlpriv->reg_pdnmode)
{
- pHalData->pwrdown = true;
+ pHalData->pwrdown = _TRUE;
}
else
{
- pHalData->pwrdown = false;
+ pHalData->pwrdown = _FALSE;
}
- DBG_8192C("HalDetectPwrDownMode(): PDN=%d\n", pHalData->pwrdown);
+ DBG_8723A("HalDetectPwrDownMode(): PDN=%d\n", pHalData->pwrdown);
return pHalData->pwrdown;
} // HalDetectPwrDownMode
//
static void
HalDetectSelectiveSuspendMode(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
u8 tmpvalue;
EFUSE_ShadowRead(Adapter, 1, EEPROM_USB_OPTIONAL1, (u32 *)&tmpvalue);
- DBG_8192C("HalDetectSelectiveSuspendMode(): SS ");
+ DBG_8723A("HalDetectSelectiveSuspendMode(): SS ");
if(tmpvalue & BIT1)
{
- DBG_8192C("Enable\n");
+ DBG_8723A("Enable\n");
}
else
{
- DBG_8192C("Disable\n");
- pdvobjpriv->RegUsbSS = false;
+ DBG_8723A("Disable\n");
+ pdvobjpriv->RegUsbSS = _FALSE;
}
// 2010/09/01 MH According to Dongle Selective Suspend INF. We can switch SS mode.
//if (!pMgntInfo->bRegDongleSS)
//{
// RT_TRACE(COMP_INIT, DBG_LOUD, ("Dongle disable SS\n"));
- pdvobjpriv->RegUsbSS = false;
+ pdvobjpriv->RegUsbSS = _FALSE;
//}
}
} // HalDetectSelectiveSuspendMode
*---------------------------------------------------------------------------*/
static void
HwSuspendModeEnable92Cu(
- IN PADAPTER pAdapter,
- IN u8 Type
+ PADAPTER pAdapter,
+ u8 Type
)
{
- //PRT_USB_DEVICE pDevice = GET_RT_USB_DEVICE(pAdapter);
- u16 reg = rtw_read16(pAdapter, REG_GPIO_MUXCFG);
-
- //if (!pDevice->RegUsbSS)
- {
- return;
- }
-
- //
- // 2010/08/23 MH According to Alfred's suggestion, we need to to prevent HW
- // to enter suspend mode automatically. Otherwise, it will shut down major power
- // domain and 8051 will stop. When we try to enter selective suspend mode, we
- // need to prevent HW to enter D2 mode aumotmatically. Another way, Host will
- // issue a S10 signal to power domain. Then it will cleat SIC setting(from Yngli).
- // We need to enable HW suspend mode when enter S3/S4 or disable. We need
- // to disable HW suspend mode for IPS/radio_off.
- //
- //RT_TRACE(COMP_RF, DBG_LOUD, ("HwSuspendModeEnable92Cu = %d\n", Type));
- if (Type == false)
- {
- reg |= BIT14;
- //RT_TRACE(COMP_RF, DBG_LOUD, ("REG_GPIO_MUXCFG = %x\n", reg));
- rtw_write16(pAdapter, REG_GPIO_MUXCFG, reg);
- reg |= BIT12;
- //RT_TRACE(COMP_RF, DBG_LOUD, ("REG_GPIO_MUXCFG = %x\n", reg));
- rtw_write16(pAdapter, REG_GPIO_MUXCFG, reg);
- }
- else
- {
- reg &= (~BIT12);
- rtw_write16(pAdapter, REG_GPIO_MUXCFG, reg);
- reg &= (~BIT14);
- rtw_write16(pAdapter, REG_GPIO_MUXCFG, reg);
- }
-
} // HwSuspendModeEnable92Cu
-rt_rf_power_state RfOnOffDetect(IN PADAPTER pAdapter )
+
+rt_rf_power_state RfOnOffDetect(PADAPTER pAdapter )
{
//HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter);
u8 val8;
if(pAdapter->pwrctrlpriv.bHWPowerdown)
{
val8 = rtw_read8(pAdapter, REG_HSISR);
- DBG_8192C("pwrdown, 0x5c(BIT7)=%02x\n", val8);
+ DBG_8723A("pwrdown, 0x5c(BIT7)=%02x\n", val8);
rfpowerstate = (val8 & BIT7) ? rf_off: rf_on;
}
else // rf on/off
{
rtw_write8( pAdapter, REG_MAC_PINMUX_CFG,rtw_read8(pAdapter, REG_MAC_PINMUX_CFG)&~(BIT3));
val8 = rtw_read8(pAdapter, REG_GPIO_IO_SEL);
- DBG_8192C("GPIO_IN=%02x\n", val8);
+ DBG_8723A("GPIO_IN=%02x\n", val8);
rfpowerstate = (val8 & BIT3) ? rf_on : rf_off;
}
return rfpowerstate;
_ps_open_RF(Adapter);
if(pHalData->bIQKInitialized ){
- rtl8192c_PHY_IQCalibrate(Adapter,true);
+ rtl8192c_PHY_IQCalibrate(Adapter,_TRUE);
}
else{
- rtl8192c_PHY_IQCalibrate(Adapter,false);
- pHalData->bIQKInitialized = true;
+ rtl8192c_PHY_IQCalibrate(Adapter,_FALSE);
+ pHalData->bIQKInitialized = _TRUE;
}
rtl8192c_odm_CheckTXPowerTracking(Adapter);
rtl8192c_PHY_LCCalibrate(Adapter);
goto exit;
}
-// pHalData->bMACFuncEnable = false;
+// pHalData->bMACFuncEnable = _FALSE;
// Check if MAC has already power on. by tynli. 2011.05.27.
val8 = rtw_read8(Adapter, REG_CR);
RT_TRACE(_module_hci_hal_init_c_, _drv_info_,
//0x100 value of first mac is 0xEA while 0x100 value of secondary is 0x00
//by sherry 20111102
if (val8 == 0xEA) {
- pHalData->bMACFuncEnable = false;
+ pHalData->bMACFuncEnable = _FALSE;
} else {
- pHalData->bMACFuncEnable = true;
+ pHalData->bMACFuncEnable = _TRUE;
RT_TRACE(_module_hci_hal_init_c_, _drv_info_,
("%s: MAC has already power on\n", __FUNCTION__));
}
-
HAL_INIT_PROFILE_TAG(HAL_INIT_STAGES_INIT_PW_ON);
status = _InitPowerOn(Adapter);
if(status == _FAIL){
goto exit;
}
-#ifdef CONFIG_BT_COEXIST
- //
- // 2010/09/23 MH Accordgin to Alfred's siggestion. we need to enable SIC to prevent HW
- // to enter suspend mode automatically. If host does not send SOF every 3ms. Or under DTM
- // test with rtl8188cu selective suspend enabler filter driver, WIN host will trigger the device to
- // enter suspend mode after some test (unknow reason now). We need to prevent the case otherwise
- // the register will be 0xea and all TX/RX path stop accidently.
- //
- //
- // 2010/10/01 MH If the OS is XP, host will trigger USB device to enter D3 mode. In CU HW design
- // it will enter suspend mode automatically. In slim combo card, the BT clock will be cut off if HW
- // enter suspend mode. We need to seperate differet case.
- //
- if (BT_IsBtExist(Adapter))
- {
- }
-#endif // CONFIG_BT_COEXIST
-
HAL_INIT_PROFILE_TAG(HAL_INIT_STAGES_INIT_LLTT);
if (!pregistrypriv->wifi_spec) {
boundary = TX_PAGE_BOUNDARY;
HAL_INIT_PROFILE_TAG(HAL_INIT_STAGES_DOWNLOAD_FW);
-#if (1 == MP_DRIVER)
-if (Adapter->registrypriv.mp_mode == 1)
-{
- _InitRxSetting(Adapter);
- // Don't Download Firmware
- Adapter->bFWReady = false;
-}
-else
-#endif
{
status = rtl8723a_FirmwareDownload(Adapter);
if(status != _SUCCESS)
{
- Adapter->bFWReady = false;
- pHalData->fw_ractrl = false;
- DBG_8192C("fw download fail!\n");
+ Adapter->bFWReady = _FALSE;
+ pHalData->fw_ractrl = _FALSE;
+ DBG_8723A("fw download fail!\n");
goto exit;
}
else
{
- Adapter->bFWReady = true;
- pHalData->fw_ractrl = true;
- DBG_8192C("fw download ok!\n");
+ Adapter->bFWReady = _TRUE;
+ pHalData->fw_ractrl = _TRUE;
+ DBG_8723A("fw download ok!\n");
}
}
rtl8723a_InitializeFirmwareVars(Adapter);
- if(pwrctrlpriv->reg_rfoff == true){
+ if(pwrctrlpriv->reg_rfoff == _TRUE){
pwrctrlpriv->rf_pwrstate = rf_off;
}
status = PHY_MACConfig8723A(Adapter);
if(status == _FAIL)
{
- DBG_8192C("PHY_MACConfig8723A fault !!\n");
+ DBG_8723A("PHY_MACConfig8723A fault !!\n");
goto exit;
}
#endif
status = PHY_BBConfig8723A(Adapter);
if(status == _FAIL)
{
- DBG_8192C("PHY_BBConfig8723A fault !!\n");
+ DBG_8723A("PHY_BBConfig8723A fault !!\n");
goto exit;
}
#endif
+ //
+ // 2011/11/15 MH Add for tx power by rate fine tune. We need to call the function after BB config.
+ // Because the tx power by rate table is inited in BB config.
+ //
+// HAL_AdjustPwrIndexDiffRateOffset(Adapter);
+// HAL_AdjustPwrIndexbyRegistry(Adapter);
HAL_INIT_PROFILE_TAG(HAL_INIT_STAGES_RF);
#if (HAL_RF_ENABLE == 1)
status = PHY_RFConfig8723A(Adapter);
if(status == _FAIL)
{
- DBG_8192C("PHY_RFConfig8723A fault !!\n");
+ DBG_8723A("PHY_RFConfig8723A fault !!\n");
goto exit;
}
InitUsbAggregationSetting(Adapter);
_InitOperationMode(Adapter);//todo
rtl8723a_InitBeaconParameters(Adapter);
- rtl8723a_InitBeaconMaxError(Adapter, true);
+ rtl8723a_InitBeaconMaxError(Adapter, _TRUE);
-#if RTL8192CU_ADHOC_WORKAROUND_SETTING
+#ifdef RTL8192CU_ADHOC_WORKAROUND_SETTING
_InitAdhocWorkaroundParams(Adapter);
#endif
// Move by Neo for USB SS from above setp
_RfPowerSave(Adapter);
-#if (MP_DRIVER == 1)
- if (Adapter->registrypriv.mp_mode == 1)
- {
- Adapter->mppriv.channel = pHalData->CurrentChannel;
- MPT_InitializeAdapter(Adapter, Adapter->mppriv.channel);
- }
- else
-#endif
- {
HAL_INIT_PROFILE_TAG(HAL_INIT_STAGES_IQK);
// 2010/08/26 MH Merge from 8192CE.
//sherry masked that it has been done in _RfPowerSave
if(pwrctrlpriv->rf_pwrstate == rf_on)
{
if(pHalData->bIQKInitialized ){
- rtl8192c_PHY_IQCalibrate(Adapter,true);
+ rtl8192c_PHY_IQCalibrate(Adapter,_TRUE);
} else {
- rtl8192c_PHY_IQCalibrate(Adapter,false);
- pHalData->bIQKInitialized = true;
+ rtl8192c_PHY_IQCalibrate(Adapter,_FALSE);
+ pHalData->bIQKInitialized = _TRUE;
}
HAL_INIT_PROFILE_TAG(HAL_INIT_STAGES_PW_TRACK);
rtl8723a_SingleDualAntennaDetection(Adapter);
#endif
}
- }
HAL_INIT_PROFILE_TAG(HAL_INIT_STAGES_MISC21);
rtw_hal_set_hwreg(Adapter, HW_VAR_NAV_UPPER, (u8*)&NavUpper);
// 2011/03/09 MH debug only, UMC-B cut pass 2500 S5 test, but we need to fin root cause.
- if (!IS_HARDWARE_TYPE_8192DU(Adapter) && ((rtw_read32(Adapter, rFPGA0_RFMOD) & 0xFF000000) != 0x83000000))
- {
+ if (((rtw_read32(Adapter, rFPGA0_RFMOD) & 0xFF000000) != 0x83000000)) {
PHY_SetBBReg(Adapter, rFPGA0_RFMOD, BIT(24), 1);
RT_TRACE(_module_hci_hal_init_c_, _drv_err_, ("%s: IQK fail recorver\n", __FUNCTION__));
}
- else
- {
- RT_TRACE(_module_hci_hal_init_c_, _drv_info_, ("%s: IQK OK\n", __FUNCTION__));
- }
#ifdef CONFIG_XMIT_ACK
//ack for xmit mgmt frames.
exit:
HAL_INIT_PROFILE_TAG(HAL_INIT_STAGES_END);
- DBG_871X("%s in %dms\n", __FUNCTION__, rtw_get_passing_time_ms(init_start_time));
+ DBG_8723A("%s in %dms\n", __FUNCTION__, rtw_get_passing_time_ms(init_start_time));
#ifdef DBG_HAL_INIT_PROFILING
hal_init_stages_timestamp[HAL_INIT_STAGES_END]=rtw_get_current_time();
for(hal_init_profiling_i=0;hal_init_profiling_i<HAL_INIT_STAGES_NUM-1;hal_init_profiling_i++) {
- DBG_871X("DBG_HAL_INIT_PROFILING: %35s, %u, %5u, %5u\n"
+ DBG_8723A("DBG_HAL_INIT_PROFILING: %35s, %u, %5u, %5u\n"
, hal_init_stages_str[hal_init_profiling_i]
, hal_init_stages_timestamp[hal_init_profiling_i]
, (hal_init_stages_timestamp[hal_init_profiling_i+1]-hal_init_stages_timestamp[hal_init_profiling_i])
#ifdef SYNC_SD7_20110802_phy_SsPwrSwitch92CU
void
phy_SsPwrSwitch92CU(
- IN PADAPTER Adapter,
- IN rt_rf_power_state eRFPowerState,
- IN int bRegSSPwrLvl
+ PADAPTER Adapter,
+ rt_rf_power_state eRFPowerState,
+ int bRegSSPwrLvl
)
{
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
}
else // Level 2 or others.
{
- RT_TRACE(COMP_POWER, DBG_LOUD, ("SS LVL2\n"));
+ RT_TRACE(_module_hal_init_c_, _drv_err_, ("SS LVL2\n"));
{
u8 eRFPath = RF_PATH_A,value8 = 0;
rtw_write8(Adapter, REG_TXPAUSE, 0xFF);
static void
_DisableGPIO(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
/***************************************
static void
_ResetFWDownloadRegister(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
u32 value32;
static int
_DisableRF_AFE(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
int rtStatus = _SUCCESS;
return _FAIL;
}
- }while(true);
+ }while(_TRUE);
#endif
static void
_ResetBB(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
u16 value16;
static void
_ResetMCU(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
u16 value16;
static void
_DisableMAC_AFE_PLL(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
u32 value32;
static void
_AutoPowerDownToHostOff(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
u32 value32;
static void
_SetUsbSuspend(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
u32 value32;
static void
_DisableRFAFEAndResetBB(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
/**************************************
static void
_ResetDigitalProcedure1(
- IN PADAPTER Adapter,
- IN bool bWithoutHWSM
+ PADAPTER Adapter,
+ bool bWithoutHWSM
)
{
h. SYS_FUNC_EN 0x02[15-12]= 5 // reset MAC register, DCORE
i. SYS_FUNC_EN 0x02[10]= 1 // enable MCU register, (8051 enable)
******************************/
- u16 valu16 = 0;
- rtw_write8(Adapter, REG_MCUFWDL, 0);
-
- valu16 = rtw_read16(Adapter, REG_SYS_FUNC_EN);
- rtw_write16(Adapter, REG_SYS_FUNC_EN, (valu16 & (~FEN_CPUEN)));//reset MCU ,8051
-
- valu16 = rtw_read16(Adapter, REG_SYS_FUNC_EN)&0x0FFF;
- rtw_write16(Adapter, REG_SYS_FUNC_EN, (valu16 |(FEN_HWPDN|FEN_ELDR)));//reset MAC
+ u16 valu16 = 0;
+ rtw_write8(Adapter, REG_MCUFWDL, 0);
- #ifdef DBG_SHOW_MCUFWDL_BEFORE_51_ENABLE
- {
- u8 val;
- if( (val=rtw_read8(Adapter, REG_MCUFWDL)))
- DBG_871X("DBG_SHOW_MCUFWDL_BEFORE_51_ENABLE %s:%d REG_MCUFWDL:0x%02x\n", __FUNCTION__, __LINE__, val);
- }
- #endif
+ valu16 = rtw_read16(Adapter, REG_SYS_FUNC_EN);
+ rtw_write16(Adapter, REG_SYS_FUNC_EN, (valu16 & (~FEN_CPUEN)));//reset MCU ,8051
+ valu16 = rtw_read16(Adapter, REG_SYS_FUNC_EN)&0x0FFF;
+ rtw_write16(Adapter, REG_SYS_FUNC_EN, (valu16 |(FEN_HWPDN|FEN_ELDR)));//reset MAC
- valu16 = rtw_read16(Adapter, REG_SYS_FUNC_EN);
- rtw_write16(Adapter, REG_SYS_FUNC_EN, (valu16 | FEN_CPUEN));//enable MCU ,8051
+ #ifdef DBG_SHOW_MCUFWDL_BEFORE_51_ENABLE
+ {
+ u8 val;
+ if( (val=rtw_read8(Adapter, REG_MCUFWDL)))
+ DBG_8723A("DBG_SHOW_MCUFWDL_BEFORE_51_ENABLE %s:%d REG_MCUFWDL:0x%02x\n", __FUNCTION__, __LINE__, val);
+ }
+ #endif
- } else {
+ valu16 = rtw_read16(Adapter, REG_SYS_FUNC_EN);
+ rtw_write16(Adapter, REG_SYS_FUNC_EN, (valu16 | FEN_CPUEN));//enable MCU ,8051
+ } else{
u8 retry_cnts = 0;
if(rtw_read8(Adapter, REG_MCUFWDL) & BIT1)
}
if(retry_cnts >= 100){
- DBG_8192C("%s #####=> 8051 reset failed!.........................\n", __FUNCTION__);
+ DBG_8723A("%s #####=> 8051 reset failed!.........................\n", __FUNCTION__);
// if 8051 reset fail we trigger GPIO 0 for LA
//PlatformEFIOWrite4Byte( Adapter,
// REG_GPIO_PIN_CTRL,
rtw_mdelay_os(10);
}
else {
- //DBG_871X("%s =====> 8051 reset success (%d) .\n", __FUNCTION__, retry_cnts);
+ //DBG_8723A("%s =====> 8051 reset success (%d) .\n", __FUNCTION__, retry_cnts);
}
}
else {
- DBG_871X("%s =====> 8051 in RAM but !Adapter->bFWReady\n", __FUNCTION__);
+ DBG_8723A("%s =====> 8051 in RAM but !Adapter->bFWReady\n", __FUNCTION__);
}
}
else{
- //DBG_871X("%s =====> 8051 in ROM.\n", __FUNCTION__);
+ //DBG_8723A("%s =====> 8051 in ROM.\n", __FUNCTION__);
}
#ifdef DBG_SHOW_MCUFWDL_BEFORE_51_ENABLE
{
u8 val;
if( (val=rtw_read8(Adapter, REG_MCUFWDL)))
- DBG_871X("DBG_SHOW_MCUFWDL_BEFORE_51_ENABLE %s:%d REG_MCUFWDL:0x%02x\n", __FUNCTION__, __LINE__, val);
+ DBG_8723A("DBG_SHOW_MCUFWDL_BEFORE_51_ENABLE %s:%d REG_MCUFWDL:0x%02x\n", __FUNCTION__, __LINE__, val);
}
#endif
static void
_ResetDigitalProcedure2(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
/*****************************
static void
_DisableAnalog(
- IN PADAPTER Adapter,
- IN bool bWithoutHWSM
+ PADAPTER Adapter,
+ bool bWithoutHWSM
)
{
u16 value16 = 0;
rtw_write16(Adapter, REG_APS_FSMCO,value16 );//0x4802
rtw_write8(Adapter, REG_RSV_CTRL, 0x0e);
-
}
static void rtl8723au_hw_power_down(_adapter *padapter)
{
u8 u1bTmp;
- DBG_8192C("PowerDownRTL8723U\n");
+ DBG_8723A("PowerDownRTL8723U\n");
// 1. Run Card Disable Flow
u8 u1bTmp;
// PMGNT_INFO pMgntInfo = &(Adapter->MgntInfo);
- DBG_8192C("CardDisableRTL8723U\n");
+ DBG_8723A("CardDisableRTL8723U\n");
// USB-MF Card Disable Flow
// 1. Run LPS WL RFOFF flow
PHAL_DATA_TYPE pHalData = GET_HAL_DATA(padapter);
- DBG_8192C("==> %s\n", __FUNCTION__);
+ DBG_8723A("==> %s\n", __FUNCTION__);
#ifdef CONFIG_BT_COEXIST
BT_HaltProcess(padapter);
#endif
-
// 2011/02/18 To Fix RU LNA power leakage problem. We need to execute below below in
// Adapter init and halt sequence. Accordingto EEchou's opinion, we can enable the ability for all
// IC. Accord to johnny's opinion, only RU need the support.
precvbuf = (struct recv_buf *)precvpriv->precv_buf;
for(i=0; i<NR_RECVBUFF; i++)
{
- if(_read_port(pintfhdl, precvpriv->ff_hwaddr, 0, (unsigned char *)precvbuf) == false )
+ if(_read_port(pintfhdl, precvpriv->ff_hwaddr, 0, (unsigned char *)precvbuf) == _FALSE )
{
RT_TRACE(_module_hci_hal_init_c_,_drv_err_,("usb_rx_init: usb_read_port error \n"));
status = _FAIL;
#ifdef CONFIG_USB_INTERRUPT_IN_PIPE
_read_interrupt = pintfhdl->io_ops._read_interrupt;
- if(_read_interrupt(pintfhdl, RECV_INT_IN_ADDR) == false )
+ if(_read_interrupt(pintfhdl, RECV_INT_IN_ADDR) == _FALSE )
{
RT_TRACE(_module_hci_hal_init_c_,_drv_err_,("usb_rx_init: usb_read_interrupt error \n"));
status = _FAIL;
}
pHalData->IntrMask[0]=rtw_read32(Adapter, REG_USB_HIMR);
- MSG_8192C("pHalData->IntrMask = 0x%04x\n", pHalData->IntrMask[0]);
+ MSG_8723A("pHalData->IntrMask = 0x%04x\n", pHalData->IntrMask[0]);
pHalData->IntrMask[0]|=UHIMR_C2HCMD|UHIMR_CPWM;
rtw_write32(Adapter, REG_USB_HIMR,pHalData->IntrMask[0]);
#endif //CONFIG_USB_INTERRUPT_IN_PIPE
rtw_read_port_cancel(Adapter);
#ifdef CONFIG_USB_INTERRUPT_IN_PIPE
pHalData->IntrMask[0]=rtw_read32(Adapter, REG_USB_HIMR);
- MSG_8192C("%s pHalData->IntrMask = 0x%04x\n",__FUNCTION__, pHalData->IntrMask[0]);
+ MSG_8723A("%s pHalData->IntrMask = 0x%04x\n",__FUNCTION__, pHalData->IntrMask[0]);
pHalData->IntrMask[0]=0x0;
rtw_write32(Adapter, REG_USB_HIMR,pHalData->IntrMask[0]);
RT_TRACE(_module_hci_hal_init_c_,_drv_info_,("\n <=== usb_rx_deinit \n"));
static u32
_GetChannelGroup(
- IN u32 channel
+ u32 channel
)
{
//RT_ASSERT((channel < 14), ("Channel %d no is supported!\n"));
//-------------------------------------------------------------------
static void
_ReadIDs(
- IN PADAPTER Adapter,
- IN u8* PROMContent,
- IN bool AutoloadFail
+ PADAPTER Adapter,
+ u8* PROMContent,
+ bool AutoloadFail
)
{
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
- if(false == AutoloadFail){
+ if(_FALSE == AutoloadFail){
// VID, PID
pHalData->EEPROMVID = le16_to_cpu( *(u16 *)&PROMContent[EEPROM_VID]);
pHalData->EEPROMPID = le16_to_cpu( *(u16 *)&PROMContent[EEPROM_PID]);
}
// For customized behavior.
- if((pHalData->EEPROMVID == 0x103C) && (pHalData->EEPROMVID == 0x1629))// HP Lite-On for RTL8188CUS Slim Combo.
+ if((pHalData->EEPROMVID == 0x103C) || (pHalData->EEPROMVID == 0x1629))// HP Lite-On for RTL8188CUS Slim Combo.
pHalData->CustomerID = RT_CID_819x_HP;
// Decide CustomerID according to VID/DID or EEPROM
}
- MSG_8192C("EEPROMVID = 0x%04x\n", pHalData->EEPROMVID);
- MSG_8192C("EEPROMPID = 0x%04x\n", pHalData->EEPROMPID);
- MSG_8192C("EEPROMCustomerID : 0x%02x\n", pHalData->EEPROMCustomerID);
- MSG_8192C("EEPROMSubCustomerID: 0x%02x\n", pHalData->EEPROMSubCustomerID);
+ MSG_8723A("EEPROMVID = 0x%04x\n", pHalData->EEPROMVID);
+ MSG_8723A("EEPROMPID = 0x%04x\n", pHalData->EEPROMPID);
+ MSG_8723A("EEPROMCustomerID : 0x%02x\n", pHalData->EEPROMCustomerID);
+ MSG_8723A("EEPROMSubCustomerID: 0x%02x\n", pHalData->EEPROMSubCustomerID);
- MSG_8192C("RT_CustomerID: 0x%02x\n", pHalData->CustomerID);
+ MSG_8723A("RT_CustomerID: 0x%02x\n", pHalData->CustomerID);
}
static void
_ReadMACAddress(
- IN PADAPTER Adapter,
- IN u8* PROMContent,
- IN bool AutoloadFail
+ PADAPTER Adapter,
+ u8* PROMContent,
+ bool AutoloadFail
)
{
EEPROM_EFUSE_PRIV *pEEPROM = GET_EEPROM_EFUSE_PRIV(Adapter);
- if(false == AutoloadFail){
+ if(_FALSE == AutoloadFail){
//Read Permanent MAC address and set value to hardware
memcpy(pEEPROM->mac_addr, &PROMContent[EEPROM_MAC_ADDR], ETH_ALEN);
}
//sMacAddr[5] = (u8)GetRandomNumber(1, 254);
memcpy(pEEPROM->mac_addr, sMacAddr, ETH_ALEN);
}
- DBG_8192C("%s MAC Address from EFUSE = "MAC_FMT"\n",__FUNCTION__, MAC_ARG(pEEPROM->mac_addr));
+ DBG_8723A("%s MAC Address from EFUSE = "MAC_FMT"\n",__FUNCTION__, MAC_ARG(pEEPROM->mac_addr));
//NicIFSetMacAddress(Adapter, Adapter->PermanentAddress);
//RT_PRINT_ADDR(COMP_INIT|COMP_EFUSE, DBG_LOUD, "MAC Addr: %s", Adapter->PermanentAddress);
static void
_ReadBoardType(
- IN PADAPTER Adapter,
- IN u8* PROMContent,
- IN bool AutoloadFail
+ PADAPTER Adapter,
+ u8* PROMContent,
+ bool AutoloadFail
)
{
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
boardType >>= 5;
pHalData->BoardType = boardType;
- MSG_8192C("_ReadBoardType(%x)\n",pHalData->BoardType);
+ MSG_8723A("_ReadBoardType(%x)\n",pHalData->BoardType);
if (boardType == BOARD_USB_High_PA)
pHalData->ExternalPA = 1;
static void
_ReadLEDSetting(
- IN PADAPTER Adapter,
- IN u8* PROMContent,
- IN bool AutoloadFail
+ PADAPTER Adapter,
+ u8* PROMContent,
+ bool AutoloadFail
)
{
struct led_priv *pledpriv = &(Adapter->ledpriv);
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
#ifdef CONFIG_SW_LED
- pledpriv->bRegUseLed = true;
+ pledpriv->bRegUseLed = _TRUE;
//
// Led mode
{
case RT_CID_DEFAULT:
pledpriv->LedStrategy = SW_LED_MODE1;
- pledpriv->bRegUseLed = true;
+ pledpriv->bRegUseLed = _TRUE;
break;
case RT_CID_819x_HP:
{
pledpriv->LedStrategy = SW_LED_MODE6;
}
- pHalData->bLedOpenDrain = true;// Support Open-drain arrangement for controlling the LED. Added by Roger, 2009.10.16.
+ pHalData->bLedOpenDrain = _TRUE;// Support Open-drain arrangement for controlling the LED. Added by Roger, 2009.10.16.
#else // HW LED
pledpriv->LedStrategy = HW_LED;
#endif //CONFIG_SW_LED
static void
_ReadThermalMeter(
- IN PADAPTER Adapter,
- IN u8* PROMContent,
- IN bool AutoloadFail
+ PADAPTER Adapter,
+ u8* PROMContent,
+ bool AutoloadFail
)
{
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
pHalData->EEPROMThermalMeter = (tempval&0x1f); //[4:0]
if(pHalData->EEPROMThermalMeter == 0x1f || AutoloadFail)
- pdmpriv->bAPKThermalMeterIgnore = true;
+ pdmpriv->bAPKThermalMeterIgnore = _TRUE;
pdmpriv->ThermalMeter[0] = pHalData->EEPROMThermalMeter;
}
static void
_ReadRFSetting(
- IN PADAPTER Adapter,
- IN u8* PROMContent,
- IN bool AutoloadFail
+ PADAPTER Adapter,
+ u8* PROMContent,
+ bool AutoloadFail
)
{
}
-
// Read HW power down mode selection
-static void _ReadPSSetting(IN PADAPTER Adapter,IN u8*PROMContent,IN u8 AutoloadFail)
+static void _ReadPSSetting(PADAPTER Adapter, u8*PROMContent, u8 AutoloadFail)
{
if(AutoloadFail){
- Adapter->pwrctrlpriv.bHWPowerdown = false;
- Adapter->pwrctrlpriv.bSupportRemoteWakeup = false;
+ Adapter->pwrctrlpriv.bHWPowerdown = _FALSE;
+ Adapter->pwrctrlpriv.bSupportRemoteWakeup = _FALSE;
}
else {
//if(SUPPORT_HW_RADIO_DETECT(Adapter))
Adapter->pwrctrlpriv.bHWPwrPindetect = Adapter->registrypriv.hwpwrp_detect;
//else
- //Adapter->pwrctrlpriv.bHWPwrPindetect = false;//dongle not support new
+ //Adapter->pwrctrlpriv.bHWPwrPindetect = _FALSE;//dongle not support new
//hw power down mode selection , 0:rf-off / 1:power down
// decide hw if support remote wakeup function
// if hw supported, 8051 (SIE) will generate WeakUP signal( D+/D- toggle) when autoresume
- Adapter->pwrctrlpriv.bSupportRemoteWakeup = (PROMContent[EEPROM_TEST_USB_OPT] & BIT1)?true :false;
+ Adapter->pwrctrlpriv.bSupportRemoteWakeup = (PROMContent[EEPROM_TEST_USB_OPT] & BIT1)?_TRUE :_FALSE;
+
+ //if(SUPPORT_HW_RADIO_DETECT(Adapter))
+ //Adapter->registrypriv.usbss_enable = Adapter->pwrctrlpriv.bSupportRemoteWakeup ;
- DBG_8192C("%s...bHWPwrPindetect(%x)-bHWPowerdown(%x) ,bSupportRemoteWakeup(%x)\n",__FUNCTION__,
+ DBG_8723A("%s...bHWPwrPindetect(%x)-bHWPowerdown(%x) ,bSupportRemoteWakeup(%x)\n",__FUNCTION__,
Adapter->pwrctrlpriv.bHWPwrPindetect,Adapter->pwrctrlpriv.bHWPowerdown ,Adapter->pwrctrlpriv.bSupportRemoteWakeup);
- DBG_8192C("### PS params=> power_mgnt(%x),usbss_enable(%x) ###\n",Adapter->registrypriv.power_mgnt,Adapter->registrypriv.usbss_enable);
+ DBG_8723A("### PS params=> power_mgnt(%x),usbss_enable(%x) ###\n",Adapter->registrypriv.power_mgnt,Adapter->registrypriv.usbss_enable);
}
}
+
+
+
+
+
void
Hal_EfuseParsePIDVID_8723AU(
- IN PADAPTER pAdapter,
- IN u8* hwinfo,
- IN bool AutoLoadFail
+ PADAPTER pAdapter,
+ u8* hwinfo,
+ bool AutoLoadFail
)
{
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(pAdapter);
}
- MSG_8192C("EEPROM VID = 0x%4x\n", pHalData->EEPROMVID);
- MSG_8192C("EEPROM PID = 0x%4x\n", pHalData->EEPROMPID);
+ MSG_8723A("EEPROM VID = 0x%4x\n", pHalData->EEPROMVID);
+ MSG_8723A("EEPROM PID = 0x%4x\n", pHalData->EEPROMPID);
}
static void
Hal_EfuseParseMACAddr_8723AU(
- IN PADAPTER padapter,
- IN u8* hwinfo,
- IN bool AutoLoadFail
+ PADAPTER padapter,
+ u8* hwinfo,
+ bool AutoLoadFail
)
{
u16 i, usValue;
u8 sMacAddr[6] = {0x00, 0xE0, 0x4C, 0x87, 0x23, 0x00};
EEPROM_EFUSE_PRIV *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter);
- if (AutoLoadFail) {
+ if (AutoLoadFail)
+ {
+// sMacAddr[5] = (u8)GetRandomNumber(1, 254);
for (i=0; i<6; i++)
pEEPROM->mac_addr[i] = sMacAddr[i];
- } else {
+ }
+ else
+ {
//Read Permanent MAC address
+#if 1
memcpy(pEEPROM->mac_addr, &hwinfo[EEPROM_MAC_ADDR_8723AU], ETH_ALEN);
+#else
+ for(i=0; i<6; i+=2)
+ {
+ usValue = *(u16*)&hwinfo[EEPROM_MAC_ADDR_8723S+i];
+ *((u16*)(&pEEPROM->mac_addr[i])) = usValue;
+ }
+#endif
}
+// NicIFSetMacAddress(pAdapter, pAdapter->PermanentAddress);
RT_TRACE(_module_hci_hal_init_c_, _drv_notice_,
("Hal_EfuseParseMACAddr_8723AU: Permanent Address=%02x:%02x:%02x:%02x:%02x:%02x\n",
fp = filp_open("/system/etc/wifi/wifi_efuse.map", O_RDWR, 0644);
if (IS_ERR(fp)) {
- pEEPROM->bloadfile_fail_flag= true;
- DBG_871X("Error, Efuse configure file doesn't exist.\n");
+ pEEPROM->bloadfile_fail_flag= _TRUE;
+ DBG_8723A("Error, Efuse configure file doesn't exist.\n");
return _FAIL;
}
fs = get_fs();
set_fs(KERNEL_DS);
- DBG_871X("Efuse configure file:\n");
+ DBG_8723A("Efuse configure file:\n");
for (i=0; i<HWSET_MAX_SIZE_88E; i++) {
vfs_read(fp, temp, 2, &pos);
PROMContent[i] = simple_strtoul(temp, NULL, 16 );
pos += 1; // Filter the space character
- DBG_871X("%02X \n", PROMContent[i]);
+ DBG_8723A("%02X \n", PROMContent[i]);
}
- DBG_871X("\n");
+ DBG_8723A("\n");
set_fs(fs);
filp_close(fp, NULL);
- pEEPROM->bloadfile_fail_flag= false;
+ pEEPROM->bloadfile_fail_flag= _FALSE;
return _SUCCESS;
}
fp = filp_open("/data/wifimac.txt", O_RDWR, 0644);
if (IS_ERR(fp)) {
- pEEPROM->bloadmac_fail_flag = true;
- DBG_871X("Error, wifi mac address file doesn't exist.\n");
+ pEEPROM->bloadmac_fail_flag = _TRUE;
+ DBG_8723A("Error, wifi mac address file doesn't exist.\n");
} else {
fs = get_fs();
set_fs(KERNEL_DS);
- DBG_871X("wifi mac address:\n");
+ DBG_8723A("wifi mac address:\n");
vfs_read(fp, source_addr, 18, &pos);
source_addr[17] = ':';
end++;
head = end;
}
- DBG_871X("%02x \n", pEEPROM->mac_addr[i]);
+ DBG_8723A("%02x \n", pEEPROM->mac_addr[i]);
}
- DBG_871X("\n");
+ DBG_8723A("\n");
set_fs(fs);
filp_close(fp, NULL);
}
- if ( (_rtw_memcmp(pEEPROM->mac_addr, null_mac_addr, ETH_ALEN)) ||
- (_rtw_memcmp(pEEPROM->mac_addr, multi_mac_addr, ETH_ALEN)) ) {
+ if ((!memcmp(pEEPROM->mac_addr, null_mac_addr, ETH_ALEN)) ||
+ (!memcmp(pEEPROM->mac_addr, multi_mac_addr, ETH_ALEN)) ) {
pEEPROM->mac_addr[0] = 0x00;
pEEPROM->mac_addr[1] = 0xe0;
pEEPROM->mac_addr[2] = 0x4c;
pEEPROM->mac_addr[5] = (u8)((curtime>>16) & 0xff) ;
}
- pEEPROM->bloadmac_fail_flag = false;
+ pEEPROM->bloadmac_fail_flag = _FALSE;
- DBG_871X("Hal_ReadMACAddrFromFile_8188ES: Permanent Address = %02x-%02x-%02x-%02x-%02x-%02x\n",
+ DBG_8723A("Hal_ReadMACAddrFromFile_8188ES: Permanent Address = %02x-%02x-%02x-%02x-%02x-%02x\n",
pEEPROM->mac_addr[0], pEEPROM->mac_addr[1],
pEEPROM->mac_addr[2], pEEPROM->mac_addr[3],
pEEPROM->mac_addr[4], pEEPROM->mac_addr[5]);
static void
readAdapterInfo(
- IN PADAPTER padapter
+ PADAPTER padapter
)
{
EEPROM_EFUSE_PRIV *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter);
rtl8723a_EfuseParseChnlPlan(padapter, hwinfo, pEEPROM->bautoload_fail_flag);
Hal_EfuseParseThermalMeter_8723A(padapter, hwinfo, pEEPROM->bautoload_fail_flag);
-// _ReadLEDSetting(Adapter, PROMContent, pEEPROM->bautoload_fail_flag);
+ _ReadLEDSetting(padapter, hwinfo, pEEPROM->bautoload_fail_flag);
// _ReadRFSetting(Adapter, PROMContent, pEEPROM->bautoload_fail_flag);
// _ReadPSSetting(Adapter, PROMContent, pEEPROM->bautoload_fail_flag);
Hal_EfuseParseAntennaDiversity(padapter, hwinfo, pEEPROM->bautoload_fail_flag);
//hal_CustomizedBehavior_8723U(Adapter);
// Adapter->bDongle = (PROMContent[EEPROM_EASY_REPLACEMENT] == 1)? 0: 1;
- DBG_8192C("%s(): REPLACEMENT = %x\n",__FUNCTION__,padapter->bDongle);
+ DBG_8723A("%s(): REPLACEMENT = %x\n",__FUNCTION__,padapter->bDongle);
}
static void _ReadPROMContent(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
EEPROM_EFUSE_PRIV *pEEPROM = GET_EEPROM_EFUSE_PRIV(Adapter);
eeValue = rtw_read8(Adapter, REG_9346CR);
// To check system boot selection.
- pEEPROM->EepromOrEfuse = (eeValue & BOOT_FROM_EEPROM) ? true : false;
- pEEPROM->bautoload_fail_flag = (eeValue & EEPROM_EN) ? false : true;
+ pEEPROM->EepromOrEfuse = (eeValue & BOOT_FROM_EEPROM) ? _TRUE : _FALSE;
+ pEEPROM->bautoload_fail_flag = (eeValue & EEPROM_EN) ? _FALSE : _TRUE;
- DBG_8192C("Boot from %s, Autoload %s !\n", (pEEPROM->EepromOrEfuse ? "EEPROM" : "EFUSE"),
+ DBG_8723A("Boot from %s, Autoload %s !\n", (pEEPROM->EepromOrEfuse ? "EEPROM" : "EFUSE"),
(pEEPROM->bautoload_fail_flag ? "Fail" : "OK") );
- //pHalData->EEType = IS_BOOT_FROM_EEPROM(Adapter) ? EEPROM_93C46 : EEPROM_BOOT_EFUSE;
-
- //if(IS_HARDWARE_TYPE_8723A(Adapter))
- // readAdapterInfo_8723U(Adapter);
- //else
- readAdapterInfo(Adapter);
+ readAdapterInfo(Adapter);
}
static void
_InitOtherVariable(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
//HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
static void
_ReadRFType(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
{
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
- pHalData->SlimComboDbg = false; // Default is not debug mode.
-
- // 2010/11/22 MH We need to enter debug mode for TSMA and UMC A cut
- //if ((Adapter->chip_type == RTL8188C_8192C) &&
-/*
- if (IS_HARDWARE_TYPE_8192CU(Adapter) &&
- (pHalData->BoardType == BOARD_USB_COMBO))
- {
- switch (pHalData->VersionID)
- {
- case VERSION_NORMAL_TSMC_CHIP_88C:
- case VERSION_NORMAL_TSMC_CHIP_92C:
- case VERSION_NORMAL_TSMC_CHIP_92C_1T2R:
- case VERSION_NORMAL_UMC_CHIP_88C_A_CUT:
- case VERSION_NORMAL_UMC_CHIP_92C_A_CUT:
- case VERSION_NORMAL_UMC_CHIP_92C_1T2R_A_CUT:
- if ((rtw_read8(Adapter, REG_SYS_CFG+3) &0xF0) == 0x20)
- pHalData->SlimComboDbg = true;
-
- break;
-
- case VERSION_NORMAL_UMC_CHIP_88C_B_CUT:
- case VERSION_NORMAL_UMC_CHIP_92C_B_CUT:
- case VERSION_NORMAL_UMC_CHIP_92C_1T2R_B_CUT:
- // 2011/02/15 MH UNC-B cut ECO fail, we need to support slim combo debug mode.
- if ((rtw_read8(Adapter, REG_SYS_CFG+3) &0xF0) == 0x20)
- pHalData->SlimComboDbg = true;
- break;
-
- default:
- break;
- }
-
- }
-*/
+ pHalData->SlimComboDbg = _FALSE; // Default is not debug mode.
}
//
//
void
hal_EfuseCellSel(
- IN PADAPTER Adapter
+ PADAPTER Adapter
)
{
u32 value32;
//HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
u32 start=rtw_get_current_time();
- MSG_8192C("====> _ReadAdapterInfo8723AU\n");
+ MSG_8723A("====> _ReadAdapterInfo8723AU\n");
//Efuse_InitSomeVar(Adapter);
_InitOtherVariable(Adapter);
- //MSG_8192C("%s()(done), rf_chip=0x%x, rf_type=0x%x\n", __FUNCTION__, pHalData->rf_chip, pHalData->rf_type);
+ //MSG_8723A("%s()(done), rf_chip=0x%x, rf_type=0x%x\n", __FUNCTION__, pHalData->rf_chip, pHalData->rf_type);
- MSG_8192C("<==== _ReadAdapterInfo8723AU in %d ms\n", rtw_get_passing_time_ms(start));
+ MSG_8723A("<==== _ReadAdapterInfo8723AU in %d ms\n", rtw_get_passing_time_ms(start));
return _SUCCESS;
}
{
u32 gpioctrl;
- DBG_8192C("==> trigger_gpio_0...\n");
+ DBG_8723A("==> trigger_gpio_0...\n");
rtw_write16_async(padapter,REG_GPIO_PIN_CTRL,0);
rtw_write8_async(padapter,REG_GPIO_PIN_CTRL+2,0xFF);
gpioctrl = (BIT(GPIO_DEBUG_PORT_NUM)<<24 )|(BIT(GPIO_DEBUG_PORT_NUM)<<16);
rtw_write32_async(padapter,REG_GPIO_PIN_CTRL,gpioctrl);
gpioctrl |= (BIT(GPIO_DEBUG_PORT_NUM)<<8);
rtw_write32_async(padapter,REG_GPIO_PIN_CTRL,gpioctrl);
- DBG_8192C("<=== trigger_gpio_0...\n");
+ DBG_8723A("<=== trigger_gpio_0...\n");
}
//
u8
GetHalDefVar8192CUsb(
- IN PADAPTER Adapter,
- IN HAL_DEF_VARIABLE eVariable,
- IN void * pValue
+ PADAPTER Adapter,
+ HAL_DEF_VARIABLE eVariable,
+ void * pValue
)
{
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
break;
case HAL_DEF_IS_SUPPORT_ANT_DIV:
#ifdef CONFIG_ANTENNA_DIVERSITY
- *((u8 *)pValue) = (IS_92C_SERIAL(pHalData->VersionID) ||(pHalData->AntDivCfg==0))?false:true;
+ *((u8 *)pValue) = (IS_92C_SERIAL(pHalData->VersionID) ||(pHalData->AntDivCfg==0))?_FALSE:_TRUE;
#endif
break;
case HAL_DEF_CURRENT_ANTENNA:
*(( u32*)pValue) =pHalData->odmpriv.SupportAbility;
break;
case HW_VAR_MAX_RX_AMPDU_FACTOR:
- *(( u32*)pValue) = MAX_AMPDU_FACTOR_64K;
+ *(( u32*)pValue) = IEEE80211_HT_MAX_AMPDU_64K;
break;
case HW_DEF_ODM_DBG_FLAG:
{
//
u8
SetHalDefVar8192CUsb(
- IN PADAPTER Adapter,
- IN HAL_DEF_VARIABLE eVariable,
- IN void * pValue
+ PADAPTER Adapter,
+ HAL_DEF_VARIABLE eVariable,
+ void * pValue
)
{
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
if(dm_func == 0){ //disable all dynamic func
podmpriv->SupportAbility = DYNAMIC_FUNC_DISABLE;
- DBG_8192C("==> Disable all dynamic function...\n");
+ DBG_8723A("==> Disable all dynamic function...\n");
}
else if(dm_func == 1){//disable DIG
podmpriv->SupportAbility &= (~DYNAMIC_BB_DIG);
- DBG_8192C("==> Disable DIG...\n");
+ DBG_8723A("==> Disable DIG...\n");
}
else if(dm_func == 2){//disable High power
podmpriv->SupportAbility &= (~DYNAMIC_BB_DYNAMIC_TXPWR);
}
else if(dm_func == 3){//disable tx power tracking
podmpriv->SupportAbility &= (~DYNAMIC_RF_CALIBRATION);
- DBG_8192C("==> Disable tx power tracking...\n");
+ DBG_8723A("==> Disable tx power tracking...\n");
}
else if(dm_func == 4){//disable BT coexistence
pdmpriv->DMFlag &= (~DYNAMIC_FUNC_BT);
}
pdmpriv->DMFlag |= DYNAMIC_FUNC_BT;
podmpriv->SupportAbility = DYNAMIC_ALL_FUNC_ENABLE;
- DBG_8192C("==> Turn on all dynamic function...\n");
+ DBG_8723A("==> Turn on all dynamic function...\n");
}
}
break;
u8 init_rate=0;
u8 networkType, raid;
u32 mask,rate_bitmap;
- u8 shortGIrate = false;
+ u8 shortGIrate = _FALSE;
int supportRateNum = 0;
struct sta_info *psta;
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(padapter);
if (support_short_GI(padapter, &(pmlmeinfo->HT_caps)))
{
- shortGIrate = true;
+ shortGIrate = _TRUE;
}
break;
init_rate = get_highest_rate_idx(mask)&0x3f;
- if(pHalData->fw_ractrl == true) {
- u8 arg = mac_id&0x1f;//MACID
+ if(pHalData->fw_ractrl == _TRUE)
+ {
+ u8 arg = 0;
+
+ //arg = (cam_idx-4)&0x1f;//MACID
+ arg = mac_id&0x1f;//MACID
arg |= BIT(7);
- if (shortGIrate==true)
+ if (shortGIrate==_TRUE)
arg |= BIT(5);
- DBG_871X_LEVEL(_drv_info_, "update raid entry, mask=0x%x, arg=0x%x\n",
- mask, arg);
+ DBG_8723A("update raid entry, mask=0x%x, arg=0x%x\n", mask, arg);
rtl8192c_set_raid_cmd(padapter, mask, arg);
- } else {
- if (shortGIrate==true)
+ }
+ else
+ {
+ if (shortGIrate==_TRUE)
init_rate |= BIT(6);
rtw_write8(padapter, (REG_INIDATA_RATE_SEL+mac_id), init_rate);
static u8 rtl8192cu_ps_func(PADAPTER Adapter,HAL_INTF_PS_FUNC efunc_id, u8 *val)
{
- u8 bResult = true;
+ u8 bResult = _TRUE;
switch(efunc_id){
#if defined(CONFIG_AUTOSUSPEND) && defined(SUPPORT_HW_RFOFF_DETECTED)
_func_enter_;
- padapter->HalData = rtw_zmalloc(sizeof(HAL_DATA_TYPE));
+ padapter->HalData = kzalloc(sizeof(HAL_DATA_TYPE), GFP_KERNEL);
if(padapter->HalData == NULL){
- DBG_8192C("cant not alloc memory for HAL DATA \n");
+ DBG_8723A("cant not alloc memory for HAL DATA \n");
}
+ //memset(padapter->HalData, 0, sizeof(HAL_DATA_TYPE));
padapter->hal_data_sz = sizeof(HAL_DATA_TYPE);
pHalFunc->hal_init = &rtl8723au_hal_init;
pHalFunc->hal_deinit = &rtl8723au_hal_deinit;
+ //pHalFunc->free_hal_data = &rtl8192c_free_hal_data;
+
pHalFunc->inirp_init = &rtl8723au_inirp_init;
pHalFunc->inirp_deinit = &rtl8723au_inirp_deinit;
pHalFunc->init_recv_priv = &rtl8192cu_init_recv_priv;
pHalFunc->free_recv_priv = &rtl8192cu_free_recv_priv;
#ifdef CONFIG_SW_LED
- pHalFunc->InitSwLeds = &rtl8192cu_InitSwLeds;
- pHalFunc->DeInitSwLeds = &rtl8192cu_DeInitSwLeds;
+ pHalFunc->InitSwLeds = &rtl8723au_InitSwLeds;
+ pHalFunc->DeInitSwLeds = &rtl8723au_DeInitSwLeds;
#else //case of hw led or no led
pHalFunc->InitSwLeds = NULL;
pHalFunc->DeInitSwLeds = NULL;
pHalFunc->hal_xmit = &rtl8192cu_hal_xmit;
pHalFunc->mgnt_xmit = &rtl8192cu_mgnt_xmit;
+ pHalFunc->hal_xmitframe_enqueue = &rtl8723au_hal_xmitframe_enqueue;
#ifdef CONFIG_HOSTAPD_MLME
pHalFunc->hostap_mgnt_xmit_entry = &rtl8192cu_hostap_mgnt_xmit_entry;