1
0
mirror of https://github.com/aircrack-ng/rtl8812au.git synced 2024-11-30 00:47:38 +00:00

Merge pull request #68 from kimocoder/v5.1.5

EFUSE fixes + Fixed MAC + Cleanup
This commit is contained in:
Christian B 2017-12-16 16:36:38 +01:00 committed by GitHub
commit 98eb5aa0b5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 1206 additions and 1325 deletions

View File

@ -69,7 +69,8 @@ or
```
sudo iw wlan0 set txpower fixed 3000
```
For Ubuntu 17.04 add the following lines
Newer versions of NetworkManager switches to random MAC address. Some users would prefer to use a fixed address.
Simply add these lines below
```
[device]
wifi.scan-rand-mac-address=no

View File

@ -1379,7 +1379,7 @@ extern char *rtw_initmac;
*/
void rtw_macaddr_cfg(u8 *out, const u8 *hw_mac_addr)
{
#define DEFAULT_RANDOM_MACADDR 1
#define DEFAULT_RANDOM_MACADDR 0
u8 mac[ETH_ALEN];
if (out == NULL) {
@ -1422,9 +1422,9 @@ err_chk:
mac[0] = 0x00;
mac[1] = 0xe0;
mac[2] = 0x4c;
mac[3] = 0x87;
mac[4] = 0x00;
mac[5] = 0x00;
mac[3] = 0xe0;
mac[4] = 0x10;
mac[5] = 0x70;
#endif
}

View File

@ -1,5 +1,5 @@
PACKAGE_NAME="realtek-rtl88xxau"
PACKAGE_VERSION="5.1.5~20171206"
PACKAGE_VERSION="5.1.5~20171216"
CLEAN="make clean"
BUILT_MODULE_NAME[0]=8812au
DEST_MODULE_LOCATION[0]="/updates"

File diff suppressed because it is too large Load Diff

View File

@ -146,9 +146,7 @@ _FWDownloadEnable_8814A(
// Clear Rom DL enable
// tmp = rtw_read8(Adapter, REG_8051FW_CTRL_8814A+2); //modify by gw 20130826(advice by hw)
// rtw_write8(Adapter, REG_8051FW_CTRL_8814A+2, tmp&0xf7);//clear bit3
}
else
{
} else {
// MCU firmware download enable.
tmp = rtw_read8(Adapter, REG_8051FW_CTRL_8814A);
rtw_write8(Adapter, REG_8051FW_CTRL_8814A, tmp&0xfe);
@ -185,7 +183,7 @@ _BlockWrite_8814A(
if(blockCount_p1)
RT_TRACE(COMP_INIT,DBG_LOUD,("_BlockWrite_8814A[P1] ::buffSize( %d) blockSize_p1( %d) blockCount_p1( %d), remainSize_p1( %d)\n",buffSize ,blockSize_p1,blockCount_p1, remainSize_p1));
for(i = 0 ; i < blockCount_p1 ; i++){
for(i = 0 ; i < blockCount_p1 ; i++) {
#if (DEV_BUS_TYPE == RT_USB_INTERFACE)
rtw_writeN(Adapter, (FW_START_ADDRESS + i * blockSize_p1), blockSize_p1,(bufferPtr + i * blockSize_p1));
#else
@ -211,15 +209,14 @@ _BlockWrite_8814A(
}
//3 Phase #3
if(remainSize_p2)
{
if(remainSize_p2) {
offset=(blockCount_p1 * blockSize_p1)+(blockCount_p2*blockSize_p2);
blockCount_p3 = remainSize_p2 /blockSize_p3;
RT_TRACE(COMP_INIT,DBG_LOUD,("_BlockWrite_8814A[P3] ::buffSize_p3( %d) blockSize_p3( %d) blockCount_p3( %d) \n",(buffSize-offset),blockSize_p3, blockCount_p3));
for(i = 0 ; i < blockCount_p3 ; i++){
for(i = 0 ; i < blockCount_p3 ; i++) {
rtw_write8(Adapter, (FW_START_ADDRESS + offset + i), *(bufferPtr +offset+ i));
}
}
@ -518,7 +515,6 @@ SetDownLoadFwRsvdPagePkt_8814A(
//ReturnGenTempBuffer(pAdapter, pGenBufReservedPagePacket);
}
VOID
HalROMDownloadFWRSVDPage8814A(
IN PADAPTER Adapter,
@ -612,9 +608,7 @@ HalROMDownloadFWRSVDPage8814A(
if(((last_block_size + 40) & 0x3F) == 0) // Multiples of 64
filesize_ram_block -=4;
}
}
else
{
} else {
filesize_ram_block = dmem_pkt_size;
ls = _TRUE;
}
@ -650,9 +644,7 @@ HalROMDownloadFWRSVDPage8814A(
if(((last_block_size + 40) & 0x3F) == 0) // Multiples of 64
filesize_ram_block -=4;
}
}
else
{
} else {
filesize_ram_block = iram_pkt_size;
ls = _TRUE;
}
@ -719,7 +711,7 @@ _FWFreeToGo8814A(
u32 value32;
// polling CheckSum report
do{
do {
rtw_mdelay_os(50);
value32 = rtw_read32(Adapter, REG_8051FW_CTRL_8814A);
@ -735,7 +727,6 @@ _FWFreeToGo8814A(
return _SUCCESS;
}
#ifdef CONFIG_FILE_FWIMG
extern char *rtw_fw_file_path;
u8 FwBuffer8814[FW_SIZE];
@ -763,7 +754,6 @@ FirmwareDownload8814A(
u8 *pFirmwareBuf;
u32 FirmwareLen;
RT_TRACE(_module_hal_init_c_, _drv_info_, ("+%s\n", __FUNCTION__));
pFirmware = (PRT_FIRMWARE_8814)rtw_zmalloc(sizeof(RT_FIRMWARE_8814));
if(!pFirmware)
@ -870,8 +860,6 @@ exit:
return rtStatus;
}
void InitializeFirmwareVars8814(PADAPTER padapter)
{
PHAL_DATA_TYPE pHalData = GET_HAL_DATA(padapter);
@ -913,7 +901,6 @@ SetFwBTFwPatchCmd(
FillH2CCmd_8812(Adapter, H2C_BT_FW_PATCH, 6 , u1BTFwPatchParm);
}
int _CheckWLANFwPatchBTFwReady_8821A( PADAPTER Adapter )
{
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
@ -986,7 +973,6 @@ int _CheckWLANFwPatchBTFwReady_8821A( PADAPTER Adapter )
return ret;
}
int _WriteBTFWtoTxPktBuf8812(
PADAPTER Adapter,
PVOID buffer,
@ -1093,7 +1079,6 @@ int _WriteBTFWtoTxPktBuf8812(
rtw_write8(Adapter, REG_DWBCN0_CTRL_8723B+1, (u8)txpktbuf_bndy);
#endif
//---------------------------------------------------------
// 3. Write Fw to Tx packet buffer by reseverd page.
//---------------------------------------------------------
@ -1171,7 +1156,6 @@ int _WriteBTFWtoTxPktBuf8812(
}while((!(BcnValidReg&BIT(0))) && DLBcnCount<5);
#endif
if(DLBcnCount >=5){
RTW_INFO(" check rsvd page download OK DLBcnCount =%d \n",DLBcnCount);
@ -1230,7 +1214,6 @@ int ReservedPage_Compare(PADAPTER Adapter,PRT_MP_FIRMWARE pFirmware,u32 BTPatchS
rtw_write8(Adapter,0x106,0x69);
for(i=0;i<(BTPatchSize/8);i++)
{
rtw_write32(Adapter,0x140,address_start+5+i) ;
@ -1446,9 +1429,7 @@ hal_GetChnlGroup8814A(
{
RT_DISP(FPHY, PHY_TXPWR_EFUSE, ("==>hal_GetChnlGroupJaguar in 2.4 G, but Channel %d in Group not found \n", Channel));
}
}
else
{
} else {
bIn24G=_FALSE;
if (36 <= Channel && Channel <= 42) *pGroup = 0; // 36 38 40
@ -1465,8 +1446,7 @@ hal_GetChnlGroup8814A(
else if (157 <= Channel && Channel <= 161) *pGroup = 11; // 157 159 161
else if (165 <= Channel && Channel <= 171) *pGroup = 12; // 165 167 169
else if (173 <= Channel && Channel <= 177) *pGroup = 13; // 173 175 177
else
{
else {
RT_DISP(FPHY, PHY_TXPWR_EFUSE, ("==>hal_GetChnlGroupJaguar in 5G, but Channel %d in Group not found \n",Channel));
}
@ -1512,9 +1492,7 @@ hal_ReadPowerValueFromPROM8814A(
{
pwrInfo24G->BW20_Diff[rfPath][0] = EEPROM_DEFAULT_24G_HT20_DIFF;
pwrInfo24G->OFDM_Diff[rfPath][0] = EEPROM_DEFAULT_24G_OFDM_DIFF;
}
else
{
} else {
pwrInfo24G->BW20_Diff[rfPath][TxCount] = EEPROM_DEFAULT_DIFF;
pwrInfo24G->BW40_Diff[rfPath][TxCount] = EEPROM_DEFAULT_DIFF;
pwrInfo24G->CCK_Diff[rfPath][TxCount] = EEPROM_DEFAULT_DIFF;
@ -1530,15 +1508,12 @@ hal_ReadPowerValueFromPROM8814A(
for(TxCount=0;TxCount<MAX_TX_COUNT;TxCount++)
{
if(TxCount==0)
{
if(TxCount==0) {
pwrInfo5G->OFDM_Diff[rfPath][0] = EEPROM_DEFAULT_5G_OFDM_DIFF;
pwrInfo5G->BW20_Diff[rfPath][0] = EEPROM_DEFAULT_5G_HT20_DIFF;
pwrInfo5G->BW80_Diff[rfPath][0] = EEPROM_DEFAULT_DIFF;
pwrInfo5G->BW160_Diff[rfPath][0] = EEPROM_DEFAULT_DIFF;
}
else
{
} else {
pwrInfo5G->OFDM_Diff[rfPath][TxCount] = EEPROM_DEFAULT_DIFF;
pwrInfo5G->BW20_Diff[rfPath][TxCount] = EEPROM_DEFAULT_DIFF;
pwrInfo5G->BW40_Diff[rfPath][TxCount]= EEPROM_DEFAULT_DIFF;
@ -1547,9 +1522,7 @@ hal_ReadPowerValueFromPROM8814A(
}
}
}
//pHalData->bNOPG = _TRUE;
return;
}
@ -1599,9 +1572,7 @@ hal_ReadPowerValueFromPROM8814A(
pwrInfo24G->CCK_Diff[rfPath][TxCount] = 0;
eeAddr++;
}
else
{
} else {
{
pwrInfo24G->BW40_Diff[rfPath][TxCount] = (PROMContent[eeAddr]&0xf0)>>4;
@ -1622,7 +1593,6 @@ hal_ReadPowerValueFromPROM8814A(
eeAddr++;
{
pwrInfo24G->OFDM_Diff[rfPath][TxCount] = (PROMContent[eeAddr]&0xf0)>>4;
if(pwrInfo24G->OFDM_Diff[rfPath][TxCount] & BIT3) //4bit sign number to 8 bit sign number
@ -1680,9 +1650,7 @@ hal_ReadPowerValueFromPROM8814A(
rfPath, TxCount, eeAddr, pwrInfo5G->OFDM_Diff[rfPath][TxCount]); */
eeAddr++;
}
else
{
} else {
{
pwrInfo5G->BW40_Diff[rfPath][TxCount]= (PROMContent[eeAddr]&0xf0)>>4;
@ -1772,7 +1740,6 @@ HALBT_InitHalVars(
#endif //CONFIG_BT_COEXIST
}
VOID
BT_InitHalVars(
IN PADAPTER Adapter
@ -1794,7 +1761,6 @@ BT_InitHalVars(
#endif
}
VOID
hal_EfuseParseBTCoexistInfo8814A(
IN PADAPTER Adapter,
@ -1836,10 +1802,9 @@ hal_ReadPROMVersion8814A(
{
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
if(AutoloadFail){
if(AutoloadFail) {
pHalData->EEPROMVersion = EEPROM_Default_Version;
}
else{
} else {
pHalData->EEPROMVersion = *(u8 *)&PROMContent[EEPROM_VERSION_8814];
if(pHalData->EEPROMVersion == 0xFF)
pHalData->EEPROMVersion = EEPROM_Default_Version;
@ -1872,9 +1837,7 @@ hal_ReadTxPowerInfo8814A(
{
pHalData->Index24G_CCK_Base[rfPath][ch] = pwrInfo24G.IndexCCK_Base[rfPath][5];
pHalData->Index24G_BW40_Base[rfPath][ch] = pwrInfo24G.IndexBW40_Base[rfPath][group];
}
else
{
} else {
pHalData->Index24G_CCK_Base[rfPath][ch] = pwrInfo24G.IndexCCK_Base[rfPath][group];
pHalData->Index24G_BW40_Base[rfPath][ch] = pwrInfo24G.IndexBW40_Base[rfPath][group];
}
@ -1939,9 +1902,7 @@ hal_ReadTxPowerInfo8814A(
pHalData->EEPROMRegulatory = (PROMContent[EEPROM_RF_BOARD_OPTION_8814]&0x7); //bit0~2
if(PROMContent[EEPROM_RF_BOARD_OPTION_8814] == 0xFF)
pHalData->EEPROMRegulatory = (EEPROM_DEFAULT_BOARD_OPTION&0x7); //bit0~2
}
else
{
} else {
pHalData->EEPROMRegulatory = 0;
}
@ -1957,7 +1918,6 @@ hal_ReadBoardType8814A(
)
{
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
if(!AutoloadFail)
@ -1965,9 +1925,7 @@ hal_ReadBoardType8814A(
pHalData->InterfaceSel = (PROMContent[EEPROM_RF_BOARD_OPTION_8814]&0xE0)>>5;
if(PROMContent[EEPROM_RF_BOARD_OPTION_8814] == 0xFF)
pHalData->InterfaceSel = (EEPROM_DEFAULT_BOARD_OPTION&0xE0)>>5;
}
else
{
} else {
pHalData->InterfaceSel = 0;
}
RT_TRACE(COMP_INIT, DBG_LOUD, ("Board Type: 0x%2x\n", pHalData->InterfaceSel));
@ -2075,9 +2033,7 @@ void hal_ReadRemoteWakeup_8814A(
if(AutoLoadFail){
pwrctl->bHWPowerdown = _FALSE;
pwrctl->bSupportRemoteWakeup = _FALSE;
}
else
{
} else {
// decide hw if support remote wakeup function
// if hw supported, 8051 (SIE) will generate WeakUP signal( D+/D- toggle) when autoresume
/* todo: wowlan should check the efuse again
@ -2159,7 +2115,6 @@ void hal_GetRxGainOffset_8814A(
RTW_INFO("hal_GetRxGainOffset_8814A(): RegRxGainOffset_5GH = 0x%x!!\n", pHalData->RxGainOffset[3]);
}
void Hal_EfuseParseKFreeData_8814A(
IN PADAPTER Adapter,
IN u8 *PROMContent,
@ -2228,7 +2183,6 @@ void Hal_EfuseParseKFreeData_8814A(
#endif /*CONFIG_RF_GAIN_OFFSET */
}
VOID
hal_EfuseParseXtal_8814A(
IN PADAPTER pAdapter,
@ -2243,9 +2197,7 @@ hal_EfuseParseXtal_8814A(
pHalData->CrystalCap = hwinfo[EEPROM_XTAL_8814];
if(pHalData->CrystalCap == 0xFF)
pHalData->CrystalCap = EEPROM_Default_CrystalCap_8814; /* what value should 8814 set? */
}
else
{
} else {
pHalData->CrystalCap = EEPROM_Default_CrystalCap_8814;
}
RTW_INFO("CrystalCap: 0x%2x\n", pHalData->CrystalCap);
@ -2302,9 +2254,7 @@ hal_ReadPAType_8814A(
*pLNAType = (LNAType_AB & BIT3) << 1 | (LNAType_AB & BIT7) >> 2 |
(LNAType_CD & BIT3) << 3 | (LNAType_CD & BIT7);
}
else
{
} else {
pHalData->ExternalPA_2G = (GetRegAmplifierType2G(Adapter)&ODM_BOARD_EXT_PA) ? 1 : 0;
pHalData->ExternalLNA_2G = (GetRegAmplifierType2G(Adapter)&ODM_BOARD_EXT_LNA) ? 1 : 0;
}
@ -2326,15 +2276,11 @@ hal_ReadPAType_8814A(
(*pLNAType) |= ((LNAType_AB & BIT3) >> 3 | (LNAType_AB & BIT7) >> 6 |
(LNAType_CD & BIT3) >> 1 | (LNAType_CD & BIT7) >> 4);
}
else
{
} else {
pHalData->ExternalPA_5G = (GetRegAmplifierType5G(Adapter)&ODM_BOARD_EXT_PA_5G) ? 1 : 0;
pHalData->ExternalLNA_5G = (GetRegAmplifierType5G(Adapter)&ODM_BOARD_EXT_LNA_5G) ? 1 : 0;
}
}
else
{
} else {
pHalData->ExternalPA_2G = EEPROM_Default_PAType;
pHalData->ExternalPA_5G = 0xFF;
pHalData->ExternalLNA_2G = EEPROM_Default_LNAType;
@ -2344,9 +2290,7 @@ hal_ReadPAType_8814A(
{
pHalData->ExternalPA_2G = 0;
pHalData->ExternalLNA_2G = 0;
}
else
{
} else {
pHalData->ExternalPA_2G = (GetRegAmplifierType2G(Adapter)&ODM_BOARD_EXT_PA) ? 1 : 0;
pHalData->ExternalLNA_2G = (GetRegAmplifierType2G(Adapter)&ODM_BOARD_EXT_LNA) ? 1 : 0;
}
@ -2354,9 +2298,7 @@ hal_ReadPAType_8814A(
{
pHalData->ExternalPA_5G = 0;
pHalData->ExternalLNA_5G = 0;
}
else
{
} else {
pHalData->ExternalPA_5G = (GetRegAmplifierType5G(Adapter)&ODM_BOARD_EXT_PA_5G) ? 1 : 0;
pHalData->ExternalLNA_5G = (GetRegAmplifierType5G(Adapter)&ODM_BOARD_EXT_LNA_5G) ? 1 : 0;
}
@ -2444,9 +2386,7 @@ hal_ReadRFEType_8814A(
pHalData->RFEType = PROMContent[EEPROM_RFE_OPTION_8814] & 0x7F;
hal_ReadAmplifierType_8814A(Adapter);
}
}
else
{
} else {
if(GetRegRFEType(Adapter) != 64)
pHalData->RFEType = GetRegRFEType(Adapter);
else if(IS_HARDWARE_TYPE_8814AE(Adapter))
@ -2497,9 +2437,7 @@ hal_EfusePowerSwitch8814A(
tempval |= (VOLTAGE_V25 << 4);
rtw_write8(pAdapter, EFUSE_TEST+3, (tempval | 0x80));
}
}
else
{
} else {
rtw_write8(pAdapter, REG_EFUSE_ACCESS, EFUSE_ACCESS_OFF_8814A);
if(bWrite == _TRUE){
@ -2575,9 +2513,7 @@ hal_EfuseReadEFuse8814A(
if(efuseHeader != 0xFF)
{
efuse_utilized++;
}
else
{
} else {
RTW_INFO("EFUSE is empty\n");
efuse_utilized = 0;
goto exit;
@ -2612,22 +2548,16 @@ hal_EfuseReadEFuse8814A(
efuse_utilized++;
}
break;
}
else
{
} else {
offset = ((efuseExtHdr & 0xF0) >> 1) | offset_2_0;
wden = (efuseExtHdr & 0x0F);
}
}
else
{
} else {
RTW_INFO("Error condition, extended = 0xff\n");
// We should handle this condition.
break;
}
}
else
{
} else {
offset = ((efuseHeader >> 4) & 0x0f);
wden = (efuseHeader & 0x0f);
}
@ -2660,7 +2590,7 @@ hal_EfuseReadEFuse8814A(
}
}
}
else{//deal with error offset,skip error data
else { //deal with error offset,skip error data
RTW_ERR("invalid offset:0x%02x \n",offset);
for(i=0; i<EFUSE_MAX_WORD_UNIT_8814A; i++){
// Check word enable condition in the section
@ -2953,9 +2883,7 @@ static u16 hal_EfuseGetCurrentSize_8814A( PADAPTER pAdapter, BOOLEAN bPseudoTest
if(bPseudoTest)
{
efuse_addr = (u16)(fakeEfuseUsedBytes);
}
else
{
} else {
rtw_hal_get_hwreg(pAdapter, HW_VAR_EFUSE_BYTES, (u8 *)&efuse_addr);
}
//RTPRINT(FEEPROM, EFUSE_PG, ("hal_EfuseGetCurrentSize_8723A(), start_efuse_addr = %d\n", efuse_addr));
@ -2986,9 +2914,7 @@ static u16 hal_EfuseGetCurrentSize_8814A( PADAPTER pAdapter, BOOLEAN bPseudoTest
word_cnts = Efuse_CalculateWordCnts(hworden);
//read next header
efuse_addr = efuse_addr + (word_cnts*2)+1;
}
else
{
} else {
bContinual = _FALSE ;
}
}
@ -2998,9 +2924,7 @@ static u16 hal_EfuseGetCurrentSize_8814A( PADAPTER pAdapter, BOOLEAN bPseudoTest
fakeEfuseUsedBytes = efuse_addr;
pEfuseHal->fakeEfuseUsedBytes = efuse_addr;
RTW_INFO ("%s(), return %d \n", __func__, pEfuseHal->fakeEfuseUsedBytes );
}
else
{
} else {
pEfuseHal->EfuseUsedBytes = efuse_addr;
pEfuseHal->EfuseUsedPercentage = (u1Byte)((pEfuseHal->EfuseUsedBytes*100)/pEfuseHal->PhysicalLen_WiFi);
rtw_hal_set_hwreg(pAdapter, HW_VAR_EFUSE_BYTES, (u8 *)&efuse_addr);
@ -3025,7 +2949,6 @@ rtl8814_EfuseGetCurrentSize(
return ret;
}
static int
hal_EfusePgPacketRead_8814A(
IN PADAPTER pAdapter,
@ -3074,16 +2997,12 @@ hal_EfusePgPacketRead_8814A(
{
hoffset = ((tmp_header & 0xE0) >> 5) | ((efuse_data & 0xF0) >> 1);
hworden = efuse_data & 0x0F;
}
else
{
} else {
efuse_addr++;
break;
}
}
else
{
} else {
hoffset = (efuse_data>>4) & 0x0F;
hworden = efuse_data & 0x0F;
}
@ -3101,18 +3020,17 @@ hal_EfusePgPacketRead_8814A(
}
if(bDataEmpty==_FALSE){
ReadState = PG_STATE_DATA;
}else{//read next header
} else { //read next header
efuse_addr = efuse_addr + (word_cnts*2)+1;
ReadState = PG_STATE_HEADER;
}
}
else{//read next header
else { //read next header
efuse_addr = efuse_addr + (word_cnts*2)+1;
ReadState = PG_STATE_HEADER;
}
}
else{
} else {
bContinual = _FALSE ;
}
}
@ -3199,7 +3117,6 @@ efuse_PgPacketExceptionHandle(
return ErrOffset;
}
BOOLEAN
hal_EfuseCheckIfDatafollowed(
IN PADAPTER pAdapter,
@ -3259,7 +3176,6 @@ hal_EfuseWordEnMatched(
return FALSE;
}
BOOLEAN
efuse_PgPacketPartialWrite(
IN PADAPTER pAdapter,
@ -3299,14 +3215,10 @@ efuse_PgPacketPartialWrite(
startAddr = (u16)fakeEfuseUsedBytes;
#endif
}
else
{
} else {
rtw_hal_get_hwreg(pAdapter, HW_VAR_EFUSE_BYTES, (u8*)&startAddr);
}
}
else
{
} else {
if(bPseudoTest)
{
#ifdef HAL_EFUSE_MEMORY
@ -3358,15 +3270,11 @@ efuse_PgPacketPartialWrite(
RTW_INFO("Bad extension header but recovered => Keep going.\n");
continue;
}
}
else
{
} else {
curPkt.offset = ((cur_header & 0xE0) >> 5) | ((efuse_data & 0xF0) >> 1);
curPkt.word_en = efuse_data & 0x0F;
}
}
else
{
} else {
if (ALL_WORDS_DISABLED(efuse_data)) {
u16 recoveredAddr = startAddr;
recoveredAddr = efuse_PgPacketExceptionHandle(pAdapter, startAddr);
@ -3424,9 +3332,7 @@ efuse_PgPacketPartialWrite(
}
// read from next header
startAddr = startAddr + (curPkt.word_cnts*2) +1;
}
else
{
} else {
// not used header, 0xff
*pAddr = startAddr;
RTW_INFO("Started from unused header offset=%d\n", startAddr);
@ -3437,7 +3343,6 @@ efuse_PgPacketPartialWrite(
return bRet;
}
BOOLEAN
hal_EfuseFixHeaderProcess(
IN PADAPTER pAdapter,
@ -3464,21 +3369,16 @@ hal_EfuseFixHeaderProcess(
return _FALSE;
else
efuse_addr = Efuse_GetCurrentSize(pAdapter, efuseType, bPseudoTest);
}
else
{
} else {
efuse_addr = efuse_addr + (pFixPkt->word_cnts*2) +1;
}
}
else
{
} else {
efuse_addr = efuse_addr + (pFixPkt->word_cnts*2) +1;
}
*pAddr = efuse_addr;
return _TRUE;
}
BOOLEAN
efuse_PgPacketWrite2ByteHeader(
IN PADAPTER pAdapter,
@ -3498,7 +3398,6 @@ efuse_PgPacketWrite2ByteHeader(
RTW_INFO("Wirte 2byte header\n");
while(efuse_addr < efuse_max_available_len)
{
pg_header = ((pTargetPkt->offset & 0x07) << 5) | 0x0F;
@ -3546,9 +3445,7 @@ efuse_PgPacketWrite2ByteHeader(
{
RTW_INFO("Repeat over limit for word_en!!\n");
return _FALSE;
}
else
{
} else {
efuse_addr++;
continue;
}
@ -3563,9 +3460,7 @@ efuse_PgPacketWrite2ByteHeader(
fixPkt.word_cnts = Efuse_CalculateWordCnts(fixPkt.word_en);
if(!hal_EfuseFixHeaderProcess(pAdapter, efuseType, &fixPkt, &efuse_addr, bPseudoTest))
return _FALSE;
}
else
{
} else {
bRet = _TRUE;
break;
}
@ -3603,7 +3498,6 @@ efuse_PgPacketWrite1ByteHeader(
if (IS_HARDWARE_TYPE_8723BE(pAdapter))
efuse_OneByteWrite(pAdapter, 0x1FF, 00, _FALSE); // increase current
efuse_OneByteWrite(pAdapter, efuse_addr, pg_header, bPseudoTest);
if (IS_HARDWARE_TYPE_8723B(pAdapter) || IS_HARDWARE_TYPE_8188E(pAdapter) ||
@ -3616,7 +3510,6 @@ efuse_PgPacketWrite1ByteHeader(
IS_HARDWARE_TYPE_8192E(pAdapter) || IS_HARDWARE_TYPE_8703B(pAdapter) || IS_HARDWARE_TYPE_8188F(pAdapter))
PHY_SetMacReg(pAdapter, EFUSE_TEST, BIT26, 1); // Restored to 1.5K Read, Suggested by Morris & Victor
while(tmp_header == 0xFF || pg_header != tmp_header)
{
if(repeatcnt++ > pEfuseHal->HeaderRetry)
@ -3632,9 +3525,7 @@ efuse_PgPacketWrite1ByteHeader(
if(pg_header == tmp_header)
{
bRet = _TRUE;
}
else
{
} else {
PGPKT_STRUCT fixPkt;
//RT_ASSERT(_FALSE, ("Error, efuse_PgPacketWrite1ByteHeader(), offset PG fail, need to cover the existed data!!\n"));
RTW_INFO(" pg_header(0x%X) != tmp_header(0x%X)\n", pg_header, tmp_header);
@ -3651,8 +3542,6 @@ efuse_PgPacketWrite1ByteHeader(
return bRet;
}
BOOLEAN
efuse_PgPacketWriteHeader(
IN PADAPTER pAdapter,
@ -3666,9 +3555,7 @@ efuse_PgPacketWriteHeader(
if(pTargetPkt->offset >= EFUSE_MAX_SECTION_BASE)
{
bRet = efuse_PgPacketWrite2ByteHeader(pAdapter, efuseType, pAddr, pTargetPkt, bPseudoTest);
}
else
{
} else {
bRet = efuse_PgPacketWrite1ByteHeader(pAdapter, efuseType, pAddr, pTargetPkt, bPseudoTest);
}
@ -3886,15 +3773,11 @@ void InitPGData8814A(PADAPTER padapter)
//val16 = EF2Byte(ReadEEprom(pAdapter, (u16) (i>>1)));
//*((u16*)(&PROMContent[i])) = val16;
}
}
else
{
} else {
// Read EFUSE real map to shadow.
EFUSE_ShadowMapUpdate(padapter, EFUSE_WIFI, _FALSE);
}
}
else
{
} else {
// update to default value 0xFF
if (!is_boot_from_eeprom(padapter))
EFUSE_ShadowMapUpdate(padapter, EFUSE_WIFI, _FALSE);
@ -3963,9 +3846,7 @@ hal_PatchwithJaguar_8814(
{
rtw_write8(Adapter, rVhtlen_Use_Lsig_Jaguar, 0x1);
rtw_write8(Adapter, REG_TCR+3, BIT2);
}
else
{
} else {
rtw_write8(Adapter, rVhtlen_Use_Lsig_Jaguar, 0x3F);
rtw_write8(Adapter, REG_TCR+3, BIT0|BIT1|BIT2);
}
@ -4326,9 +4207,7 @@ SetBeamformRfMode_8812(
PHY_SetRFReg(Adapter, ODM_RF_PATH_B, RF_ModeTableAddr, 0x78000, 0x3); // Select RX mode
PHY_SetRFReg(Adapter, ODM_RF_PATH_B, RF_ModeTableData0, 0xfffff,0x3F7FF); // Set Table data
PHY_SetRFReg(Adapter, ODM_RF_PATH_B, RF_ModeTableData1, 0xfffff,0xE26BF); // Enable TXIQGEN in RX mode
}
else
{
} else {
// Paath_A
PHY_SetRFReg(Adapter, ODM_RF_PATH_A, RF_ModeTableAddr, 0x78000, 0x3); // Select RX mode
PHY_SetRFReg(Adapter, ODM_RF_PATH_A, RF_ModeTableData0, 0xfffff,0x3F7FF); // Set Table data
@ -4348,8 +4227,6 @@ SetBeamformRfMode_8812(
PHY_SetBBReg(Adapter, rTxPath_Jaguar, bMaskByte1, 0x11);
}
VOID
SetBeamformEnter_8812(
IN PADAPTER Adapter,
@ -4398,9 +4275,7 @@ SetBeamformEnter_8812(
CSI_Param = 0x01090109;
else
CSI_Param = 0x01080108;
}
else
{
} else {
if(pHalData->rf_type == RF_2T2R)
CSI_Param = 0x03090309;
else
@ -4421,9 +4296,7 @@ SetBeamformEnter_8812(
{
rtw_write16(Adapter, REG_TXBF_CTRL_8812A, STAid);
rtw_write8(Adapter, REG_TXBF_CTRL_8812A+3, rtw_read8(Adapter, REG_TXBF_CTRL_8812A+3)|BIT4|BIT6|BIT7);
}
else
{
} else {
rtw_write16(Adapter, REG_TXBF_CTRL_8812A+2, STAid | BIT12 | BIT14 | BIT15);
}
@ -4435,9 +4308,7 @@ SetBeamformEnter_8812(
rtw_write8(Adapter, REG_BFMEE_SEL_8812A+3, tmp | 0x60);
rtw_write16(Adapter, REG_BFMEE_SEL_8812A, STAid | BIT9);
}
else
{
} else {
// Set BIT25
rtw_write16(Adapter, REG_BFMEE_SEL_8812A+2, STAid | (0xE2 << 8));
}
@ -4448,7 +4319,6 @@ SetBeamformEnter_8812(
beamforming_notify(Adapter);
}
VOID
SetBeamformLeave_8812(
IN PADAPTER Adapter,
@ -4474,9 +4344,7 @@ SetBeamformLeave_8812(
rtw_write16(Adapter, REG_BFMER0_INFO_8812A+4, 0);
rtw_write16(Adapter, REG_BFMEE_SEL_8812A, 0);
}
else
{
} else {
rtw_write16(Adapter, REG_TXBF_CTRL_8812A+2, rtw_read16(Adapter, REG_TXBF_CTRL_8812A+2) & 0xF000);
rtw_write32(Adapter, REG_BFMER1_INFO_8812A, 0);
@ -4486,7 +4354,6 @@ SetBeamformLeave_8812(
}
}
VOID
SetBeamformStatus_8812(
IN PADAPTER Adapter,
@ -4520,9 +4387,7 @@ SetBeamformStatus_8812(
BeamCtrlVal |= BIT10;
else if(BeamformEntry.sound_bw == CHANNEL_WIDTH_80)
BeamCtrlVal |= BIT11;
}
else
{
} else {
BeamCtrlVal &= ~(BIT9|BIT10|BIT11);
}
@ -4531,7 +4396,6 @@ SetBeamformStatus_8812(
RTW_INFO("%s Idx %d BeamCtrlReg %x BeamCtrlVal %x\n", __FUNCTION__, Idx, BeamCtrlReg, BeamCtrlVal);
}
VOID
SetBeamformFwTxBFCmd_8812(
IN PADAPTER Adapter
@ -4576,7 +4440,6 @@ SetBeamformFwTxBFCmd_8812(
RTW_INFO("PageNum1 = %d Period1 %d\n", PageNum1, Period1);
}
VOID
SetBeamformDownloadNDPA_8812(
IN PADAPTER Adapter,
@ -4642,7 +4505,7 @@ SetBeamformDownloadNDPA_8812(
BcnValidReg = rtw_read8(Adapter, REG_TDECTRL+2);
}
DLBcnCount++;
}while(!(BcnValidReg&BIT0) && DLBcnCount<5);
} while(!(BcnValidReg&BIT0) && DLBcnCount<5);
if(!(BcnValidReg&BIT0))
RTW_INFO("%s Download RSVD page failed!\n", __FUNCTION__);
@ -4685,7 +4548,6 @@ SetBeamformFwTxBF_8812(
SetBeamformFwTxBFCmd_8812(Adapter);
}
VOID
SetBeamformPatch_8812(
IN PADAPTER Adapter,
@ -5089,9 +4951,7 @@ static void hw_var_set_bcn_func(PADAPTER Adapter, u8 variable, u8* val)
if(*((u8 *)val))
{
rtw_write8(Adapter, bcn_ctrl_reg, (EN_BCN_FUNCTION | EN_TXBCN_RPT));
}
else
{
} else {
u8 val8;
val8 = rtw_read8(Adapter, bcn_ctrl_reg);
@ -5163,10 +5023,7 @@ static void hw_var_set_correct_tsf(PADAPTER Adapter, u8 variable, u8* val)
#endif // CONFIG_TSF_RESET_OFFLOAD
}
}
else
{
} else {
//disable related TSF function
rtw_write8(Adapter, REG_BCN_CTRL, rtw_read8(Adapter, REG_BCN_CTRL)&(~BIT(3)));
@ -5198,7 +5055,6 @@ static void hw_var_set_correct_tsf(PADAPTER Adapter, u8 variable, u8* val)
}
if(((pmlmeinfo->state&0x03) == WIFI_FW_ADHOC_STATE) || ((pmlmeinfo->state&0x03) == WIFI_FW_AP_STATE))
{
//pHalData->RegTxPause &= (~STOP_BCNQ);
@ -5216,7 +5072,6 @@ static void hw_var_set_mlme_disconnect(PADAPTER Adapter, u8 variable, u8* val)
if(check_buddy_mlmeinfo_state(Adapter, _HW_STATE_NOLINK_))
rtw_write16(Adapter, REG_RXFLTMAP2, 0x00);
if(Adapter->iface_type == IFACE_PORT1)
{
//reset TSF1
@ -5227,9 +5082,7 @@ static void hw_var_set_mlme_disconnect(PADAPTER Adapter, u8 variable, u8* val)
// disable Port1's beacon function
rtw_write8(Adapter, REG_BCN_CTRL_1, rtw_read8(Adapter, REG_BCN_CTRL_1)&(~BIT(3)));
}
else
{
} else {
//reset TSF
rtw_write8(Adapter, REG_DUAL_TSF_RST, BIT(0));
@ -5382,9 +5235,7 @@ static void hw_var_set_mlme_join(PADAPTER Adapter, u8 variable, u8* val)
if(check_buddy_mlmeinfo_state(Adapter, WIFI_FW_AP_STATE))
{
rtw_write32(Adapter, REG_RCR, rtw_read32(Adapter, REG_RCR)|RCR_CBSSID_BCN);
}
else
{
} else {
rtw_write32(Adapter, REG_RCR, rtw_read32(Adapter, REG_RCR)|RCR_CBSSID_DATA|RCR_CBSSID_BCN);
}
@ -5421,7 +5272,6 @@ static void hw_var_set_mlme_join(PADAPTER Adapter, u8 variable, u8* val)
else
rtw_write8(Adapter, REG_BCN_CTRL, rtw_read8(Adapter, REG_BCN_CTRL)&(~BIT(4)));
if(check_fwstate(pmlmepriv, WIFI_ADHOC_STATE|WIFI_ADHOC_MASTER_STATE))
{
//fixed beacon issue for 8191su...........
@ -5643,7 +5493,6 @@ void SetHwReg8814A(PADAPTER padapter, u8 variable, u8 *pval)
//enable related TSF function
rtw_write8(padapter, REG_BCN_CTRL, rtw_read8(padapter, REG_BCN_CTRL)|BIT(3));
if(((pmlmeinfo->state&0x03) == WIFI_FW_ADHOC_STATE) || ((pmlmeinfo->state&0x03) == WIFI_FW_AP_STATE))
{
//pHalData->RegTxPause &= (~STOP_BCNQ);
@ -5848,9 +5697,7 @@ void SetHwReg8814A(PADAPTER padapter, u8 variable, u8 *pval)
{
ulContent |= (ucIndex & 0x03) | ((u16)(ulEncAlgo)<<2);
//ulContent |= CAM_VALID;
}
else
{
} else {
ulContent = 0;
}
// polling bit, and No Write enable, and address
@ -6576,7 +6423,6 @@ u8 GetHalDefVar8814A(PADAPTER padapter, HAL_DEF_VARIABLE variable, void *pval)
PHAL_DATA_TYPE pHalData;
u8 bResult;
pHalData = GET_HAL_DATA(padapter);
bResult = _SUCCESS;
@ -6705,9 +6551,7 @@ u8 GetHalDefVar8814A(PADAPTER padapter, HAL_DEF_VARIABLE variable, void *pval)
if (!padapter->registrypriv.wifi_spec)
{
*(u16*)pval = TX_PAGE_BOUNDARY_8814A;
}
else
{
} else {
*(u16*)pval = WMM_NORMAL_TX_PAGE_BOUNDARY_8814A;
}
break;
@ -6858,7 +6702,6 @@ void rtl8814_set_hal_ops(struct hal_ops *pHalFunc)
pHalFunc->read_rfreg = &PHY_QueryRFReg8814A;
pHalFunc->write_rfreg = &PHY_SetRFReg8814A;
// Efuse related function
pHalFunc->EfusePowerSwitch = &rtl8814_EfusePowerSwitch;
pHalFunc->ReadEFuse = &rtl8814_ReadEFuse;
@ -6893,5 +6736,3 @@ void rtl8814_set_hal_ops(struct hal_ops *pHalFunc)
pHalFunc->fw_dl = &FirmwareDownload8814A;
pHalFunc->hal_get_tx_buff_rsvd_page_num = &GetTxBufferRsvdPageNum8814;
}