diff options
Diffstat (limited to 'drivers/staging/rtl8723bs/hal/hal_com_phycfg.c')
-rw-r--r-- | drivers/staging/rtl8723bs/hal/hal_com_phycfg.c | 447 |
1 files changed, 64 insertions, 383 deletions
diff --git a/drivers/staging/rtl8723bs/hal/hal_com_phycfg.c b/drivers/staging/rtl8723bs/hal/hal_com_phycfg.c index bb7941aee0c4..3e814a15e893 100644 --- a/drivers/staging/rtl8723bs/hal/hal_com_phycfg.c +++ b/drivers/staging/rtl8723bs/hal/hal_com_phycfg.c @@ -4,7 +4,6 @@ * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. * ******************************************************************************/ -#define _HAL_COM_PHYCFG_C_ #include <drv_types.h> #include <rtw_debug.h> @@ -12,32 +11,23 @@ #include <linux/kernel.h> u8 PHY_GetTxPowerByRateBase(struct adapter *Adapter, u8 RfPath, - u8 TxNum, enum rate_section RateSection) + enum rate_section RateSection) { struct hal_com_data *pHalData = GET_HAL_DATA(Adapter); u8 value = 0; - if (RfPath > ODM_RF_PATH_D) + if (RfPath >= RF_PATH_MAX) return 0; switch (RateSection) { case CCK: - value = pHalData->TxPwrByRateBase2_4G[RfPath][TxNum][0]; + value = pHalData->TxPwrByRateBase2_4G[RfPath][0]; break; case OFDM: - value = pHalData->TxPwrByRateBase2_4G[RfPath][TxNum][1]; + value = pHalData->TxPwrByRateBase2_4G[RfPath][1]; break; case HT_MCS0_MCS7: - value = pHalData->TxPwrByRateBase2_4G[RfPath][TxNum][2]; - break; - case HT_MCS8_MCS15: - value = pHalData->TxPwrByRateBase2_4G[RfPath][TxNum][3]; - break; - case HT_MCS16_MCS23: - value = pHalData->TxPwrByRateBase2_4G[RfPath][TxNum][4]; - break; - case HT_MCS24_MCS31: - value = pHalData->TxPwrByRateBase2_4G[RfPath][TxNum][5]; + value = pHalData->TxPwrByRateBase2_4G[RfPath][2]; break; default: break; @@ -47,37 +37,23 @@ u8 PHY_GetTxPowerByRateBase(struct adapter *Adapter, u8 RfPath, } static void -phy_SetTxPowerByRateBase( - struct adapter *Adapter, - u8 RfPath, - enum rate_section RateSection, - u8 TxNum, - u8 Value -) +phy_SetTxPowerByRateBase(struct adapter *Adapter, u8 RfPath, + enum rate_section RateSection, u8 Value) { struct hal_com_data *pHalData = GET_HAL_DATA(Adapter); - if (RfPath > ODM_RF_PATH_D) + if (RfPath >= RF_PATH_MAX) return; switch (RateSection) { case CCK: - pHalData->TxPwrByRateBase2_4G[RfPath][TxNum][0] = Value; + pHalData->TxPwrByRateBase2_4G[RfPath][0] = Value; break; case OFDM: - pHalData->TxPwrByRateBase2_4G[RfPath][TxNum][1] = Value; + pHalData->TxPwrByRateBase2_4G[RfPath][1] = Value; break; case HT_MCS0_MCS7: - pHalData->TxPwrByRateBase2_4G[RfPath][TxNum][2] = Value; - break; - case HT_MCS8_MCS15: - pHalData->TxPwrByRateBase2_4G[RfPath][TxNum][3] = Value; - break; - case HT_MCS16_MCS23: - pHalData->TxPwrByRateBase2_4G[RfPath][TxNum][4] = Value; - break; - case HT_MCS24_MCS31: - pHalData->TxPwrByRateBase2_4G[RfPath][TxNum][5] = Value; + pHalData->TxPwrByRateBase2_4G[RfPath][2] = Value; break; default: break; @@ -91,22 +67,15 @@ struct adapter *padapter { u8 path, base; - for (path = ODM_RF_PATH_A; path <= ODM_RF_PATH_B; ++path) { - base = PHY_GetTxPowerByRate(padapter, path, RF_1TX, MGN_11M); - phy_SetTxPowerByRateBase(padapter, path, CCK, RF_1TX, base); + for (path = RF_PATH_A; path <= RF_PATH_B; ++path) { + base = PHY_GetTxPowerByRate(padapter, path, MGN_11M); + phy_SetTxPowerByRateBase(padapter, path, CCK, base); - base = PHY_GetTxPowerByRate(padapter, path, RF_1TX, MGN_54M); - phy_SetTxPowerByRateBase(padapter, path, OFDM, RF_1TX, base); - - base = PHY_GetTxPowerByRate(padapter, path, RF_1TX, MGN_MCS7); - phy_SetTxPowerByRateBase(padapter, path, HT_MCS0_MCS7, RF_1TX, base); - - base = PHY_GetTxPowerByRate(padapter, path, RF_2TX, MGN_MCS15); - phy_SetTxPowerByRateBase(padapter, path, HT_MCS8_MCS15, RF_2TX, base); - - base = PHY_GetTxPowerByRate(padapter, path, RF_3TX, MGN_MCS23); - phy_SetTxPowerByRateBase(padapter, path, HT_MCS16_MCS23, RF_3TX, base); + base = PHY_GetTxPowerByRate(padapter, path, MGN_54M); + phy_SetTxPowerByRateBase(padapter, path, OFDM, base); + base = PHY_GetTxPowerByRate(padapter, path, MGN_MCS7); + phy_SetTxPowerByRateBase(padapter, path, HT_MCS0_MCS7, base); } } @@ -142,12 +111,6 @@ u8 PHY_GetRateSectionIndexOfTxPowerByRate( case rTxAGC_A_Mcs07_Mcs04: index = 3; break; - case rTxAGC_A_Mcs11_Mcs08: - index = 4; - break; - case rTxAGC_A_Mcs15_Mcs12: - index = 5; - break; case rTxAGC_B_Rate18_06: index = 8; break; @@ -163,12 +126,6 @@ u8 PHY_GetRateSectionIndexOfTxPowerByRate( case rTxAGC_B_Mcs07_Mcs04: index = 11; break; - case rTxAGC_B_Mcs11_Mcs08: - index = 12; - break; - case rTxAGC_B_Mcs15_Mcs12: - index = 13; - break; default: break; } @@ -267,33 +224,6 @@ PHY_GetRateValuesOfTxPowerByRate( *RateNum = 4; break; - case rTxAGC_A_Mcs11_Mcs08: - case rTxAGC_B_Mcs11_Mcs08: - RateIndex[0] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS8); - RateIndex[1] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS9); - RateIndex[2] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS10); - RateIndex[3] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS11); - for (i = 0; i < 4; ++i) { - PwrByRateVal[i] = (s8) ((((Value >> (i * 8 + 4)) & 0xF)) * 10 + - ((Value >> (i * 8)) & 0xF)); - } - *RateNum = 4; - break; - - case rTxAGC_A_Mcs15_Mcs12: - case rTxAGC_B_Mcs15_Mcs12: - RateIndex[0] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS12); - RateIndex[1] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS13); - RateIndex[2] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS14); - RateIndex[3] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS15); - for (i = 0; i < 4; ++i) { - PwrByRateVal[i] = (s8) ((((Value >> (i * 8 + 4)) & 0xF)) * 10 + - ((Value >> (i * 8)) & 0xF)); - } - *RateNum = 4; - - break; - case rTxAGC_B_CCK1_55_Mcs32: RateIndex[0] = PHY_GetRateIndexOfTxPowerByRate(MGN_1M); RateIndex[1] = PHY_GetRateIndexOfTxPowerByRate(MGN_2M); @@ -380,79 +310,13 @@ PHY_GetRateValuesOfTxPowerByRate( *RateNum = 4; break; - case 0xC34: - case 0xE34: - case 0x1834: - case 0x1a34: - RateIndex[0] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS8); - RateIndex[1] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS9); - RateIndex[2] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS10); - RateIndex[3] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS11); - for (i = 0; i < 4; ++i) { - PwrByRateVal[i] = (s8) ((((Value >> (i * 8 + 4)) & 0xF)) * 10 + - ((Value >> (i * 8)) & 0xF)); - } - *RateNum = 4; - break; - - case 0xC38: - case 0xE38: - case 0x1838: - case 0x1a38: - RateIndex[0] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS12); - RateIndex[1] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS13); - RateIndex[2] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS14); - RateIndex[3] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS15); - for (i = 0; i < 4; ++i) { - PwrByRateVal[i] = (s8) ((((Value >> (i * 8 + 4)) & 0xF)) * 10 + - ((Value >> (i * 8)) & 0xF)); - } - *RateNum = 4; - break; - - case 0xCD8: - case 0xED8: - case 0x18D8: - case 0x1aD8: - RateIndex[0] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS16); - RateIndex[1] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS17); - RateIndex[2] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS18); - RateIndex[3] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS19); - for (i = 0; i < 4; ++i) { - PwrByRateVal[i] = (s8) ((((Value >> (i * 8 + 4)) & 0xF)) * 10 + - ((Value >> (i * 8)) & 0xF)); - } - *RateNum = 4; - break; - - case 0xCDC: - case 0xEDC: - case 0x18DC: - case 0x1aDC: - RateIndex[0] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS20); - RateIndex[1] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS21); - RateIndex[2] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS22); - RateIndex[3] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS23); - for (i = 0; i < 4; ++i) { - PwrByRateVal[i] = (s8) ((((Value >> (i * 8 + 4)) & 0xF)) * 10 + - ((Value >> (i * 8)) & 0xF)); - } - *RateNum = 4; - break; - default: break; } } -static void PHY_StoreTxPowerByRateNew( - struct adapter *padapter, - u32 RfPath, - u32 TxNum, - u32 RegAddr, - u32 BitMask, - u32 Data -) +static void PHY_StoreTxPowerByRateNew(struct adapter *padapter, u32 RfPath, + u32 RegAddr, u32 BitMask, u32 Data) { struct hal_com_data *pHalData = GET_HAL_DATA(padapter); u8 i = 0, rateIndex[4] = {0}, rateNum = 0; @@ -460,14 +324,11 @@ static void PHY_StoreTxPowerByRateNew( PHY_GetRateValuesOfTxPowerByRate(padapter, RegAddr, BitMask, Data, rateIndex, PwrByRateVal, &rateNum); - if (RfPath > ODM_RF_PATH_D) - return; - - if (TxNum > ODM_RF_PATH_D) + if (RfPath >= RF_PATH_MAX) return; for (i = 0; i < rateNum; ++i) { - pHalData->TxPwrByRateOffset[RfPath][TxNum][rateIndex[i]] = PwrByRateVal[i]; + pHalData->TxPwrByRateOffset[RfPath][rateIndex[i]] = PwrByRateVal[i]; } } @@ -484,18 +345,16 @@ static void PHY_StoreTxPowerByRateOld( void PHY_InitTxPowerByRate(struct adapter *padapter) { struct hal_com_data *pHalData = GET_HAL_DATA(padapter); - u8 rfPath, TxNum, rate; + u8 rfPath, rate; - for (rfPath = 0; rfPath < TX_PWR_BY_RATE_NUM_RF; ++rfPath) - for (TxNum = 0; TxNum < TX_PWR_BY_RATE_NUM_RF; ++TxNum) - for (rate = 0; rate < TX_PWR_BY_RATE_NUM_RATE; ++rate) - pHalData->TxPwrByRateOffset[rfPath][TxNum][rate] = 0; + for (rfPath = RF_PATH_A; rfPath < MAX_RF_PATH_NUM; ++rfPath) + for (rate = 0; rate < TX_PWR_BY_RATE_NUM_RATE; ++rate) + pHalData->TxPwrByRateOffset[rfPath][rate] = 0; } void PHY_StoreTxPowerByRate( struct adapter *padapter, u32 RfPath, - u32 TxNum, u32 RegAddr, u32 BitMask, u32 Data @@ -505,14 +364,9 @@ void PHY_StoreTxPowerByRate( struct dm_odm_t *pDM_Odm = &pHalData->odmpriv; if (pDM_Odm->PhyRegPgVersion > 0) - PHY_StoreTxPowerByRateNew(padapter, RfPath, TxNum, RegAddr, BitMask, Data); + PHY_StoreTxPowerByRateNew(padapter, RfPath, RegAddr, BitMask, Data); else if (pDM_Odm->PhyRegPgVersion == 0) { PHY_StoreTxPowerByRateOld(padapter, RegAddr, BitMask, Data); - - if (RegAddr == rTxAGC_A_Mcs15_Mcs12 && pHalData->rf_type == RF_1T1R) - pHalData->pwrGroupCnt++; - else if (RegAddr == rTxAGC_B_Mcs15_Mcs12 && pHalData->rf_type != RF_1T1R) - pHalData->pwrGroupCnt++; } } @@ -521,7 +375,7 @@ phy_ConvertTxPowerByRateInDbmToRelativeValues( struct adapter *padapter ) { - u8 base = 0, i = 0, value = 0, path = 0, txNum = 0; + u8 base = 0, i = 0, value = 0, path = 0; u8 cckRates[4] = { MGN_1M, MGN_2M, MGN_5_5M, MGN_11M }; @@ -531,49 +385,26 @@ struct adapter *padapter u8 mcs0_7Rates[8] = { MGN_MCS0, MGN_MCS1, MGN_MCS2, MGN_MCS3, MGN_MCS4, MGN_MCS5, MGN_MCS6, MGN_MCS7 }; - u8 mcs8_15Rates[8] = { - MGN_MCS8, MGN_MCS9, MGN_MCS10, MGN_MCS11, MGN_MCS12, MGN_MCS13, MGN_MCS14, MGN_MCS15 - }; - u8 mcs16_23Rates[8] = { - MGN_MCS16, MGN_MCS17, MGN_MCS18, MGN_MCS19, MGN_MCS20, MGN_MCS21, MGN_MCS22, MGN_MCS23 - }; - - for (path = ODM_RF_PATH_A; path <= ODM_RF_PATH_D; ++path) { - for (txNum = RF_1TX; txNum < RF_MAX_TX_NUM; ++txNum) { - /* CCK */ - base = PHY_GetTxPowerByRate(padapter, path, txNum, MGN_11M); - for (i = 0; i < ARRAY_SIZE(cckRates); ++i) { - value = PHY_GetTxPowerByRate(padapter, path, txNum, cckRates[i]); - PHY_SetTxPowerByRate(padapter, path, txNum, cckRates[i], value - base); - } - - /* OFDM */ - base = PHY_GetTxPowerByRate(padapter, path, txNum, MGN_54M); - for (i = 0; i < sizeof(ofdmRates); ++i) { - value = PHY_GetTxPowerByRate(padapter, path, txNum, ofdmRates[i]); - PHY_SetTxPowerByRate(padapter, path, txNum, ofdmRates[i], value - base); - } - - /* HT MCS0~7 */ - base = PHY_GetTxPowerByRate(padapter, path, txNum, MGN_MCS7); - for (i = 0; i < sizeof(mcs0_7Rates); ++i) { - value = PHY_GetTxPowerByRate(padapter, path, txNum, mcs0_7Rates[i]); - PHY_SetTxPowerByRate(padapter, path, txNum, mcs0_7Rates[i], value - base); - } + for (path = RF_PATH_A; path < RF_PATH_MAX; ++path) { + /* CCK */ + base = PHY_GetTxPowerByRate(padapter, path, MGN_11M); + for (i = 0; i < ARRAY_SIZE(cckRates); ++i) { + value = PHY_GetTxPowerByRate(padapter, path, cckRates[i]); + PHY_SetTxPowerByRate(padapter, path, cckRates[i], value - base); + } - /* HT MCS8~15 */ - base = PHY_GetTxPowerByRate(padapter, path, txNum, MGN_MCS15); - for (i = 0; i < sizeof(mcs8_15Rates); ++i) { - value = PHY_GetTxPowerByRate(padapter, path, txNum, mcs8_15Rates[i]); - PHY_SetTxPowerByRate(padapter, path, txNum, mcs8_15Rates[i], value - base); - } + /* OFDM */ + base = PHY_GetTxPowerByRate(padapter, path, MGN_54M); + for (i = 0; i < sizeof(ofdmRates); ++i) { + value = PHY_GetTxPowerByRate(padapter, path, ofdmRates[i]); + PHY_SetTxPowerByRate(padapter, path, ofdmRates[i], value - base); + } - /* HT MCS16~23 */ - base = PHY_GetTxPowerByRate(padapter, path, txNum, MGN_MCS23); - for (i = 0; i < sizeof(mcs16_23Rates); ++i) { - value = PHY_GetTxPowerByRate(padapter, path, txNum, mcs16_23Rates[i]); - PHY_SetTxPowerByRate(padapter, path, txNum, mcs16_23Rates[i], value - base); - } + /* HT MCS0~7 */ + base = PHY_GetTxPowerByRate(padapter, path, MGN_MCS7); + for (i = 0; i < sizeof(mcs0_7Rates); ++i) { + value = PHY_GetTxPowerByRate(padapter, path, mcs0_7Rates[i]); + PHY_SetTxPowerByRate(padapter, path, mcs0_7Rates[i], value - base); } } } @@ -615,27 +446,6 @@ void PHY_SetTxPowerIndexByRateSection( Channel, htRates1T, ARRAY_SIZE(htRates1T)); - } else if (RateSection == HT_MCS8_MCS15) { - u8 htRates2T[] = {MGN_MCS8, MGN_MCS9, MGN_MCS10, MGN_MCS11, MGN_MCS12, MGN_MCS13, MGN_MCS14, MGN_MCS15}; - PHY_SetTxPowerIndexByRateArray(padapter, RFPath, - pHalData->CurrentChannelBW, - Channel, htRates2T, - ARRAY_SIZE(htRates2T)); - - } else if (RateSection == HT_MCS16_MCS23) { - u8 htRates3T[] = {MGN_MCS16, MGN_MCS17, MGN_MCS18, MGN_MCS19, MGN_MCS20, MGN_MCS21, MGN_MCS22, MGN_MCS23}; - PHY_SetTxPowerIndexByRateArray(padapter, RFPath, - pHalData->CurrentChannelBW, - Channel, htRates3T, - ARRAY_SIZE(htRates3T)); - - } else if (RateSection == HT_MCS24_MCS31) { - u8 htRates4T[] = {MGN_MCS24, MGN_MCS25, MGN_MCS26, MGN_MCS27, MGN_MCS28, MGN_MCS29, MGN_MCS30, MGN_MCS31}; - PHY_SetTxPowerIndexByRateArray(padapter, RFPath, - pHalData->CurrentChannelBW, - Channel, htRates4T, - ARRAY_SIZE(htRates4T)); - } } @@ -664,25 +474,11 @@ u8 PHY_GetTxPowerIndexBase( txPower += pHalData->OFDM_24G_Diff[RFPath][TX_1S]; if (BandWidth == CHANNEL_WIDTH_20) { /* BW20-1S, BW20-2S */ - if (MGN_MCS0 <= Rate && Rate <= MGN_MCS31) + if (MGN_MCS0 <= Rate && Rate <= MGN_MCS7) txPower += pHalData->BW20_24G_Diff[RFPath][TX_1S]; - if (MGN_MCS8 <= Rate && Rate <= MGN_MCS31) - txPower += pHalData->BW20_24G_Diff[RFPath][TX_2S]; - if (MGN_MCS16 <= Rate && Rate <= MGN_MCS31) - txPower += pHalData->BW20_24G_Diff[RFPath][TX_3S]; - if (MGN_MCS24 <= Rate && Rate <= MGN_MCS31) - txPower += pHalData->BW20_24G_Diff[RFPath][TX_4S]; - } else if (BandWidth == CHANNEL_WIDTH_40) { /* BW40-1S, BW40-2S */ - if (MGN_MCS0 <= Rate && Rate <= MGN_MCS31) + if (MGN_MCS0 <= Rate && Rate <= MGN_MCS7) txPower += pHalData->BW40_24G_Diff[RFPath][TX_1S]; - if (MGN_MCS8 <= Rate && Rate <= MGN_MCS31) - txPower += pHalData->BW40_24G_Diff[RFPath][TX_2S]; - if (MGN_MCS16 <= Rate && Rate <= MGN_MCS31) - txPower += pHalData->BW40_24G_Diff[RFPath][TX_3S]; - if (MGN_MCS24 <= Rate && Rate <= MGN_MCS31) - txPower += pHalData->BW40_24G_Diff[RFPath][TX_4S]; - } return txPower; @@ -769,87 +565,13 @@ u8 PHY_GetRateIndexOfTxPowerByRate(u8 Rate) case MGN_MCS7: index = 19; break; - case MGN_MCS8: - index = 20; - break; - case MGN_MCS9: - index = 21; - break; - case MGN_MCS10: - index = 22; - break; - case MGN_MCS11: - index = 23; - break; - case MGN_MCS12: - index = 24; - break; - case MGN_MCS13: - index = 25; - break; - case MGN_MCS14: - index = 26; - break; - case MGN_MCS15: - index = 27; - break; - case MGN_MCS16: - index = 28; - break; - case MGN_MCS17: - index = 29; - break; - case MGN_MCS18: - index = 30; - break; - case MGN_MCS19: - index = 31; - break; - case MGN_MCS20: - index = 32; - break; - case MGN_MCS21: - index = 33; - break; - case MGN_MCS22: - index = 34; - break; - case MGN_MCS23: - index = 35; - break; - case MGN_MCS24: - index = 36; - break; - case MGN_MCS25: - index = 37; - break; - case MGN_MCS26: - index = 38; - break; - case MGN_MCS27: - index = 39; - break; - case MGN_MCS28: - index = 40; - break; - case MGN_MCS29: - index = 41; - break; - case MGN_MCS30: - index = 42; - break; - case MGN_MCS31: - index = 43; - break; default: break; } return index; } -s8 PHY_GetTxPowerByRate( - struct adapter *padapter, u8 RFPath, u8 TxNum, u8 Rate -) +s8 PHY_GetTxPowerByRate(struct adapter *padapter, u8 RFPath, u8 Rate) { struct hal_com_data *pHalData = GET_HAL_DATA(padapter); s8 value = 0; @@ -859,23 +581,19 @@ s8 PHY_GetTxPowerByRate( padapter->registrypriv.RegEnableTxPowerByRate == 0) return 0; - if (RFPath > ODM_RF_PATH_D) - return value; - - if (TxNum >= RF_MAX_TX_NUM) + if (RFPath >= RF_PATH_MAX) return value; if (rateIndex >= TX_PWR_BY_RATE_NUM_RATE) return value; - return pHalData->TxPwrByRateOffset[RFPath][TxNum][rateIndex]; + return pHalData->TxPwrByRateOffset[RFPath][rateIndex]; } void PHY_SetTxPowerByRate( struct adapter *padapter, u8 RFPath, - u8 TxNum, u8 Rate, s8 Value ) @@ -883,33 +601,21 @@ void PHY_SetTxPowerByRate( struct hal_com_data *pHalData = GET_HAL_DATA(padapter); u8 rateIndex = PHY_GetRateIndexOfTxPowerByRate(Rate); - if (RFPath > ODM_RF_PATH_D) - return; - - if (TxNum >= RF_MAX_TX_NUM) + if (RFPath >= RF_PATH_MAX) return; if (rateIndex >= TX_PWR_BY_RATE_NUM_RATE) return; - pHalData->TxPwrByRateOffset[RFPath][TxNum][rateIndex] = Value; + pHalData->TxPwrByRateOffset[RFPath][rateIndex] = Value; } void PHY_SetTxPowerLevelByPath(struct adapter *Adapter, u8 channel, u8 path) { - struct hal_com_data *pHalData = GET_HAL_DATA(Adapter); - - /* if (pMgntInfo->RegNByteAccess == 0) */ - { - PHY_SetTxPowerIndexByRateSection(Adapter, path, channel, CCK); + PHY_SetTxPowerIndexByRateSection(Adapter, path, channel, CCK); - PHY_SetTxPowerIndexByRateSection(Adapter, path, channel, OFDM); - PHY_SetTxPowerIndexByRateSection(Adapter, path, channel, HT_MCS0_MCS7); - - if (pHalData->NumTotalRFPath >= 2) - PHY_SetTxPowerIndexByRateSection(Adapter, path, channel, HT_MCS8_MCS15); - - } + PHY_SetTxPowerIndexByRateSection(Adapter, path, channel, OFDM); + PHY_SetTxPowerIndexByRateSection(Adapter, path, channel, HT_MCS0_MCS7); } void PHY_SetTxPowerIndexByRateArray( @@ -971,15 +677,6 @@ static s16 get_rate_sctn_idx(const u8 rate) case MGN_MCS0: case MGN_MCS1: case MGN_MCS2: case MGN_MCS3: case MGN_MCS4: case MGN_MCS5: case MGN_MCS6: case MGN_MCS7: return 2; - case MGN_MCS8: case MGN_MCS9: case MGN_MCS10: case MGN_MCS11: - case MGN_MCS12: case MGN_MCS13: case MGN_MCS14: case MGN_MCS15: - return 3; - case MGN_MCS16: case MGN_MCS17: case MGN_MCS18: case MGN_MCS19: - case MGN_MCS20: case MGN_MCS21: case MGN_MCS22: case MGN_MCS23: - return 4; - case MGN_MCS24: case MGN_MCS25: case MGN_MCS26: case MGN_MCS27: - case MGN_MCS28: case MGN_MCS29: case MGN_MCS30: case MGN_MCS31: - return 5; default: return -1; } @@ -1067,22 +764,16 @@ void PHY_ConvertTxPowerLimitToPowerIndex(struct adapter *Adapter) for (bw = 0; bw < MAX_2_4G_BANDWIDTH_NUM; ++bw) { for (channel = 0; channel < CHANNEL_MAX_NUMBER_2G; ++channel) { for (rateSection = 0; rateSection < MAX_RATE_SECTION_NUM; ++rateSection) { - tempPwrLmt = pHalData->TxPwrLimit_2_4G[regulation][bw][rateSection][channel][ODM_RF_PATH_A]; + tempPwrLmt = pHalData->TxPwrLimit_2_4G[regulation][bw][rateSection][channel][RF_PATH_A]; - for (rfPath = ODM_RF_PATH_A; rfPath < MAX_RF_PATH_NUM; ++rfPath) { + for (rfPath = RF_PATH_A; rfPath < MAX_RF_PATH_NUM; ++rfPath) { if (pHalData->odmpriv.PhyRegPgValueType == PHY_REG_PG_EXACT_VALUE) { - if (rateSection == 5) /* HT 4T */ - BW40PwrBasedBm2_4G = PHY_GetTxPowerByRateBase(Adapter, rfPath, RF_4TX, HT_MCS24_MCS31); - else if (rateSection == 4) /* HT 3T */ - BW40PwrBasedBm2_4G = PHY_GetTxPowerByRateBase(Adapter, rfPath, RF_3TX, HT_MCS16_MCS23); - else if (rateSection == 3) /* HT 2T */ - BW40PwrBasedBm2_4G = PHY_GetTxPowerByRateBase(Adapter, rfPath, RF_2TX, HT_MCS8_MCS15); - else if (rateSection == 2) /* HT 1T */ - BW40PwrBasedBm2_4G = PHY_GetTxPowerByRateBase(Adapter, rfPath, RF_1TX, HT_MCS0_MCS7); + if (rateSection == 2) /* HT 1T */ + BW40PwrBasedBm2_4G = PHY_GetTxPowerByRateBase(Adapter, rfPath, HT_MCS0_MCS7); else if (rateSection == 1) /* OFDM */ - BW40PwrBasedBm2_4G = PHY_GetTxPowerByRateBase(Adapter, rfPath, RF_1TX, OFDM); + BW40PwrBasedBm2_4G = PHY_GetTxPowerByRateBase(Adapter, rfPath, OFDM); else if (rateSection == 0) /* CCK */ - BW40PwrBasedBm2_4G = PHY_GetTxPowerByRateBase(Adapter, rfPath, RF_1TX, CCK); + BW40PwrBasedBm2_4G = PHY_GetTxPowerByRateBase(Adapter, rfPath, CCK); } else BW40PwrBasedBm2_4G = Adapter->registrypriv.RegPowerBase * 2; @@ -1145,12 +836,6 @@ void PHY_SetTxPowerLimit( rateSection = 1; else if (eqNByte(RateSection, (u8 *)("HT"), 2) && eqNByte(RfPath, (u8 *)("1T"), 2)) rateSection = 2; - else if (eqNByte(RateSection, (u8 *)("HT"), 2) && eqNByte(RfPath, (u8 *)("2T"), 2)) - rateSection = 3; - else if (eqNByte(RateSection, (u8 *)("HT"), 2) && eqNByte(RfPath, (u8 *)("3T"), 2)) - rateSection = 4; - else if (eqNByte(RateSection, (u8 *)("HT"), 2) && eqNByte(RfPath, (u8 *)("4T"), 2)) - rateSection = 5; else return; @@ -1158,20 +843,16 @@ void PHY_SetTxPowerLimit( bandwidth = 0; else if (eqNByte(Bandwidth, (u8 *)("40M"), 3)) bandwidth = 1; - else if (eqNByte(Bandwidth, (u8 *)("80M"), 3)) - bandwidth = 2; - else if (eqNByte(Bandwidth, (u8 *)("160M"), 4)) - bandwidth = 3; channelIndex = phy_GetChannelIndexOfTxPowerLimit(channel); if (channelIndex == -1) return; - prevPowerLimit = pHalData->TxPwrLimit_2_4G[regulation][bandwidth][rateSection][channelIndex][ODM_RF_PATH_A]; + prevPowerLimit = pHalData->TxPwrLimit_2_4G[regulation][bandwidth][rateSection][channelIndex][RF_PATH_A]; if (powerLimit < prevPowerLimit) - pHalData->TxPwrLimit_2_4G[regulation][bandwidth][rateSection][channelIndex][ODM_RF_PATH_A] = powerLimit; + pHalData->TxPwrLimit_2_4G[regulation][bandwidth][rateSection][channelIndex][RF_PATH_A] = powerLimit; } void Hal_ChannelPlanToRegulation(struct adapter *Adapter, u16 ChannelPlan) |