2021-07-25 16:03:09

by Martin Kaiser

[permalink] [raw]
Subject: [PATCH 01/18] staging: rtl8188eu: remove unused defines

Now that power cut mask is not used any more, we can also remove the
defines for power cut masks.

Signed-off-by: Martin Kaiser <[email protected]>
---
drivers/staging/rtl8188eu/include/pwrseqcmd.h | 11 -----------
1 file changed, 11 deletions(-)

diff --git a/drivers/staging/rtl8188eu/include/pwrseqcmd.h b/drivers/staging/rtl8188eu/include/pwrseqcmd.h
index bfa0405cccde..bbf4f302c9f4 100644
--- a/drivers/staging/rtl8188eu/include/pwrseqcmd.h
+++ b/drivers/staging/rtl8188eu/include/pwrseqcmd.h
@@ -15,17 +15,6 @@
#define PWR_CMD_DELAY 0x03
#define PWR_CMD_END 0x04

-/* The value of cut_msk: 8 bits */
-#define PWR_CUT_TESTCHIP_MSK BIT(0)
-#define PWR_CUT_A_MSK BIT(1)
-#define PWR_CUT_B_MSK BIT(2)
-#define PWR_CUT_C_MSK BIT(3)
-#define PWR_CUT_D_MSK BIT(4)
-#define PWR_CUT_E_MSK BIT(5)
-#define PWR_CUT_F_MSK BIT(6)
-#define PWR_CUT_G_MSK BIT(7)
-#define PWR_CUT_ALL_MSK 0xFF
-
enum pwrseq_cmd_delat_unit {
PWRSEQ_DELAY_US,
PWRSEQ_DELAY_MS,
--
2.20.1


2021-07-25 16:03:09

by Martin Kaiser

[permalink] [raw]
Subject: [PATCH 07/18] staging: rtl8188eu: remove a bunch of unused defines

Only RF_CHANGE_BY_PS is used by this driver, the other
RF_CHANGE_BY_... defines can be removed.

Signed-off-by: Martin Kaiser <[email protected]>
---
drivers/staging/rtl8188eu/include/hal_intf.h | 4 ----
1 file changed, 4 deletions(-)

diff --git a/drivers/staging/rtl8188eu/include/hal_intf.h b/drivers/staging/rtl8188eu/include/hal_intf.h
index 4328431d6015..8396659f6acb 100644
--- a/drivers/staging/rtl8188eu/include/hal_intf.h
+++ b/drivers/staging/rtl8188eu/include/hal_intf.h
@@ -105,11 +105,7 @@ enum hal_odm_variable {
HAL_ODM_WIFI_DISPLAY_STATE,
};

-#define RF_CHANGE_BY_INIT 0
-#define RF_CHANGE_BY_IPS BIT(28)
#define RF_CHANGE_BY_PS BIT(29)
-#define RF_CHANGE_BY_HW BIT(30)
-#define RF_CHANGE_BY_SW BIT(31)

enum hardware_type {
HARDWARE_TYPE_RTL8188EU,
--
2.20.1

2021-07-25 16:03:09

by Martin Kaiser

[permalink] [raw]
Subject: [PATCH 03/18] staging: rtl8188eu: remove HW_VAR_TXPAUSE

The "HAL layer variable" HW_VAR_TXPAUSE is not used in this driver.
Remove its define and the code for setting and for reading a value.

Signed-off-by: Martin Kaiser <[email protected]>
---
drivers/staging/rtl8188eu/hal/usb_halinit.c | 6 ------
drivers/staging/rtl8188eu/include/hal_intf.h | 1 -
2 files changed, 7 deletions(-)

diff --git a/drivers/staging/rtl8188eu/hal/usb_halinit.c b/drivers/staging/rtl8188eu/hal/usb_halinit.c
index 633feae0fca5..79e86ed8798e 100644
--- a/drivers/staging/rtl8188eu/hal/usb_halinit.c
+++ b/drivers/staging/rtl8188eu/hal/usb_halinit.c
@@ -1178,9 +1178,6 @@ void rtw_hal_set_hwreg(struct adapter *Adapter, u8 variable, u8 *val)
usb_write8(Adapter, REG_INIRTS_RATE_SEL, RateIndex);
}
break;
- case HW_VAR_TXPAUSE:
- usb_write8(Adapter, REG_TXPAUSE, *((u8 *)val));
- break;
case HW_VAR_BCN_FUNC:
hw_var_set_bcn_func(Adapter, variable, val);
break;
@@ -1613,9 +1610,6 @@ void rtw_hal_get_hwreg(struct adapter *Adapter, u8 variable, u8 *val)
case HW_VAR_BASIC_RATE:
*((u16 *)(val)) = Adapter->HalData->BasicRateSet;
fallthrough;
- case HW_VAR_TXPAUSE:
- val[0] = usb_read8(Adapter, REG_TXPAUSE);
- break;
case HW_VAR_BCN_VALID:
/* BCN_VALID, BIT16 of REG_TDECTRL = BIT0 of REG_TDECTRL+2 */
val[0] = (BIT(0) & usb_read8(Adapter, REG_TDECTRL + 2)) ? true : false;
diff --git a/drivers/staging/rtl8188eu/include/hal_intf.h b/drivers/staging/rtl8188eu/include/hal_intf.h
index e2ce71db3fa1..ad0a6bd5f510 100644
--- a/drivers/staging/rtl8188eu/include/hal_intf.h
+++ b/drivers/staging/rtl8188eu/include/hal_intf.h
@@ -18,7 +18,6 @@ enum hw_variables {
HW_VAR_BSSID,
HW_VAR_INIT_RTS_RATE,
HW_VAR_BASIC_RATE,
- HW_VAR_TXPAUSE,
HW_VAR_BCN_FUNC,
HW_VAR_CORRECT_TSF,
HW_VAR_CHECK_BSSID,
--
2.20.1

2021-07-25 16:03:09

by Martin Kaiser

[permalink] [raw]
Subject: [PATCH 06/18] staging: rtl8188eu: remove another unused enum

The rt_eeprom_type enum is not used. Remove it.

Signed-off-by: Martin Kaiser <[email protected]>
---
drivers/staging/rtl8188eu/include/hal_intf.h | 6 ------
1 file changed, 6 deletions(-)

diff --git a/drivers/staging/rtl8188eu/include/hal_intf.h b/drivers/staging/rtl8188eu/include/hal_intf.h
index 8aa4ebd6440f..4328431d6015 100644
--- a/drivers/staging/rtl8188eu/include/hal_intf.h
+++ b/drivers/staging/rtl8188eu/include/hal_intf.h
@@ -105,12 +105,6 @@ enum hal_odm_variable {
HAL_ODM_WIFI_DISPLAY_STATE,
};

-enum rt_eeprom_type {
- EEPROM_93C46,
- EEPROM_93C56,
- EEPROM_BOOT_EFUSE,
-};
-
#define RF_CHANGE_BY_INIT 0
#define RF_CHANGE_BY_IPS BIT(28)
#define RF_CHANGE_BY_PS BIT(29)
--
2.20.1

2021-07-25 16:03:54

by Martin Kaiser

[permalink] [raw]
Subject: [PATCH 10/18] staging: rtl8188eu: remove write-only power struct component

pwrpriv->bFwCurrentInPSMode is initialized and updated but nobody reads
its value. Remove this write-only component.

Signed-off-by: Martin Kaiser <[email protected]>
---
drivers/staging/rtl8188eu/core/rtw_pwrctrl.c | 3 ---
drivers/staging/rtl8188eu/hal/rtl8188e_hal_init.c | 3 ---
drivers/staging/rtl8188eu/include/rtw_pwrctrl.h | 1 -
3 files changed, 7 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_pwrctrl.c b/drivers/staging/rtl8188eu/core/rtw_pwrctrl.c
index cbb34b920ab9..f1af49af1105 100644
--- a/drivers/staging/rtl8188eu/core/rtw_pwrctrl.c
+++ b/drivers/staging/rtl8188eu/core/rtw_pwrctrl.c
@@ -335,7 +335,6 @@ void rtw_set_ps_mode(struct adapter *padapter, u8 ps_mode, u8 smart_ps, u8 bcn_a
/* if (pwrpriv->pwr_mode == PS_MODE_ACTIVE) */
if (ps_mode == PS_MODE_ACTIVE) {
if (PS_RDY_CHECK(padapter)) {
- pwrpriv->bFwCurrentInPSMode = true;
pwrpriv->pwr_mode = ps_mode;
pwrpriv->smart_ps = smart_ps;
pwrpriv->bcn_ant_mode = bcn_ant_mode;
@@ -461,8 +460,6 @@ void rtw_init_pwrctrl_priv(struct adapter *padapter)
pwrctrlpriv->power_mgnt = padapter->registrypriv.power_mgnt;/* PS_MODE_MIN; */
pwrctrlpriv->bLeisurePs = (pwrctrlpriv->power_mgnt != PS_MODE_ACTIVE);

- pwrctrlpriv->bFwCurrentInPSMode = false;
-
pwrctrlpriv->rpwm = 0;
pwrctrlpriv->cpwm = PS_STATE_S4;

diff --git a/drivers/staging/rtl8188eu/hal/rtl8188e_hal_init.c b/drivers/staging/rtl8188eu/hal/rtl8188e_hal_init.c
index 2afef26ddb56..d4c1c5413593 100644
--- a/drivers/staging/rtl8188eu/hal/rtl8188e_hal_init.c
+++ b/drivers/staging/rtl8188eu/hal/rtl8188e_hal_init.c
@@ -95,9 +95,6 @@ void _8051Reset88E(struct adapter *padapter)

void rtl8188e_InitializeFirmwareVars(struct adapter *padapter)
{
- /* Init Fw LPS related. */
- padapter->pwrctrlpriv.bFwCurrentInPSMode = false;
-
/* Init H2C counter. by tynli. 2009.12.09. */
padapter->HalData->LastHMEBoxNum = 0;
}
diff --git a/drivers/staging/rtl8188eu/include/rtw_pwrctrl.h b/drivers/staging/rtl8188eu/include/rtw_pwrctrl.h
index 4345dc0c7cf9..78febd3605c7 100644
--- a/drivers/staging/rtl8188eu/include/rtw_pwrctrl.h
+++ b/drivers/staging/rtl8188eu/include/rtw_pwrctrl.h
@@ -174,7 +174,6 @@ struct pwrctrl_priv {
bool bLeisurePs;
u8 LpsIdleCount;
u8 power_mgnt;
- u8 bFwCurrentInPSMode;
u32 DelayLPSLastTimeStamp;
u8 btcoex_rfon;
s32 pnp_current_pwr_state;
--
2.20.1

2021-07-25 16:05:00

by Martin Kaiser

[permalink] [raw]
Subject: [PATCH 14/18] staging: rtl8188eu: simplify rtl88eu_phy_iq_calibrate

The boolean is2t variable in rtl88eu_phy_iq_calibrate is always false.
Remove some code that's unused in this case.

Signed-off-by: Martin Kaiser <[email protected]>
---
drivers/staging/rtl8188eu/hal/phy.c | 57 +----------------------------
1 file changed, 1 insertion(+), 56 deletions(-)

diff --git a/drivers/staging/rtl8188eu/hal/phy.c b/drivers/staging/rtl8188eu/hal/phy.c
index 256f87b9d630..3866d5ebe960 100644
--- a/drivers/staging/rtl8188eu/hal/phy.c
+++ b/drivers/staging/rtl8188eu/hal/phy.c
@@ -703,53 +703,6 @@ static void patha_fill_iqk(struct adapter *adapt, bool iqkok, s32 result[][8],
}
}

-static void pathb_fill_iqk(struct adapter *adapt, bool iqkok, s32 result[][8],
- u8 final_candidate, bool txonly)
-{
- u32 oldval_1, x, tx1_a, reg;
- s32 y, tx1_c;
-
- if (final_candidate == 0xFF) {
- return;
- } else if (iqkok) {
- oldval_1 = (phy_query_bb_reg(adapt, rOFDM0_XBTxIQImbalance, bMaskDWord) >> 22) & 0x3FF;
-
- x = result[final_candidate][4];
- if ((x & 0x00000200) != 0)
- x = x | 0xFFFFFC00;
- tx1_a = (x * oldval_1) >> 8;
- phy_set_bb_reg(adapt, rOFDM0_XBTxIQImbalance, 0x3FF, tx1_a);
-
- phy_set_bb_reg(adapt, rOFDM0_ECCAThreshold, BIT(27),
- ((x * oldval_1 >> 7) & 0x1));
-
- y = result[final_candidate][5];
- if ((y & 0x00000200) != 0)
- y = y | 0xFFFFFC00;
-
- tx1_c = (y * oldval_1) >> 8;
-
- phy_set_bb_reg(adapt, rOFDM0_XDTxAFE, 0xF0000000,
- ((tx1_c & 0x3C0) >> 6));
- phy_set_bb_reg(adapt, rOFDM0_XBTxIQImbalance, 0x003F0000,
- (tx1_c & 0x3F));
- phy_set_bb_reg(adapt, rOFDM0_ECCAThreshold, BIT(25),
- ((y * oldval_1 >> 7) & 0x1));
-
- if (txonly)
- return;
-
- reg = result[final_candidate][6];
- phy_set_bb_reg(adapt, rOFDM0_XBRxIQImbalance, 0x3FF, reg);
-
- reg = result[final_candidate][7] & 0x3F;
- phy_set_bb_reg(adapt, rOFDM0_XBRxIQImbalance, 0xFC00, reg);
-
- reg = (result[final_candidate][7] >> 6) & 0xF;
- phy_set_bb_reg(adapt, rOFDM0_AGCRSSITable, 0x0000F000, reg);
- }
-}
-
static void save_adda_registers(struct adapter *adapt, const u32 *addareg,
u32 *backup, u32 register_num)
{
@@ -1159,9 +1112,6 @@ void rtl88eu_phy_iq_calibrate(struct adapter *adapt, bool recovery)
rOFDM0_XATxIQImbalance, rOFDM0_XBTxIQImbalance,
rOFDM0_XCTxAFE, rOFDM0_XDTxAFE,
rOFDM0_RxIQExtAnta};
- bool is2t;
-
- is2t = false;

if (!(dm_odm->SupportAbility & ODM_RF_CALIBRATION))
return;
@@ -1184,7 +1134,7 @@ void rtl88eu_phy_iq_calibrate(struct adapter *adapt, bool recovery)
is13simular = false;

for (i = 0; i < 3; i++) {
- phy_iq_calibrate(adapt, result, i, is2t);
+ phy_iq_calibrate(adapt, result, i, false);

if (i == 1) {
is12simular = simularity_compare(adapt, result, 0, 1);
@@ -1239,11 +1189,6 @@ void rtl88eu_phy_iq_calibrate(struct adapter *adapt, bool recovery)
if (reg_e94 != 0)
patha_fill_iqk(adapt, pathaok, result, final,
(reg_ea4 == 0));
- if (is2t) {
- if (reg_eb4 != 0)
- pathb_fill_iqk(adapt, pathbok, result, final,
- (reg_ec4 == 0));
- }

if (final < 4) {
for (i = 0; i < IQK_Matrix_REG_NUM; i++)
--
2.20.1

2021-07-25 16:05:00

by Martin Kaiser

[permalink] [raw]
Subject: [PATCH 09/18] staging: rtl8188eu: remove unused _HAL_INTF_C_ define

This define can be removed.

Signed-off-by: Martin Kaiser <[email protected]>
---
drivers/staging/rtl8188eu/hal/hal_intf.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/staging/rtl8188eu/hal/hal_intf.c b/drivers/staging/rtl8188eu/hal/hal_intf.c
index f09620c54e69..3e132e00c81c 100644
--- a/drivers/staging/rtl8188eu/hal/hal_intf.c
+++ b/drivers/staging/rtl8188eu/hal/hal_intf.c
@@ -5,7 +5,6 @@
*
******************************************************************************/

-#define _HAL_INTF_C_
#include <hal_intf.h>

uint rtw_hal_init(struct adapter *adapt)
--
2.20.1

2021-07-25 16:05:00

by Martin Kaiser

[permalink] [raw]
Subject: [PATCH 05/18] staging: rtl8188eu: remove an unused enum

The hal_intf_ps_func enum is not used. Remove it.

Signed-off-by: Martin Kaiser <[email protected]>
---
drivers/staging/rtl8188eu/include/hal_intf.h | 5 -----
1 file changed, 5 deletions(-)

diff --git a/drivers/staging/rtl8188eu/include/hal_intf.h b/drivers/staging/rtl8188eu/include/hal_intf.h
index ad0a6bd5f510..8aa4ebd6440f 100644
--- a/drivers/staging/rtl8188eu/include/hal_intf.h
+++ b/drivers/staging/rtl8188eu/include/hal_intf.h
@@ -105,11 +105,6 @@ enum hal_odm_variable {
HAL_ODM_WIFI_DISPLAY_STATE,
};

-enum hal_intf_ps_func {
- HAL_USB_SELECT_SUSPEND,
- HAL_MAX_ID,
-};
-
enum rt_eeprom_type {
EEPROM_93C46,
EEPROM_93C56,
--
2.20.1

2021-07-25 16:05:00

by Martin Kaiser

[permalink] [raw]
Subject: [PATCH 13/18] staging: rtl8188eu: remove write-only HwRxPageSize

HwRxPageSize from struct hal_data_8188e is set but never read. Remove the
component and the code to initialise it.

Signed-off-by: Martin Kaiser <[email protected]>
---
drivers/staging/rtl8188eu/hal/usb_halinit.c | 20 -------------------
.../staging/rtl8188eu/include/rtl8188e_hal.h | 1 -
.../staging/rtl8188eu/include/rtl8188e_spec.h | 4 ----
3 files changed, 25 deletions(-)

diff --git a/drivers/staging/rtl8188eu/hal/usb_halinit.c b/drivers/staging/rtl8188eu/hal/usb_halinit.c
index aaa68356d211..b2dd648aecd7 100644
--- a/drivers/staging/rtl8188eu/hal/usb_halinit.c
+++ b/drivers/staging/rtl8188eu/hal/usb_halinit.c
@@ -515,26 +515,6 @@ static void usb_AggSettingRxUpdate(struct adapter *Adapter)
/* TODO: */
break;
}
-
- switch (PBP_128) {
- case PBP_128:
- haldata->HwRxPageSize = 128;
- break;
- case PBP_64:
- haldata->HwRxPageSize = 64;
- break;
- case PBP_256:
- haldata->HwRxPageSize = 256;
- break;
- case PBP_512:
- haldata->HwRxPageSize = 512;
- break;
- case PBP_1024:
- haldata->HwRxPageSize = 1024;
- break;
- default:
- break;
- }
} /* usb_AggSettingRxUpdate */

static void InitUsbAggregationSetting(struct adapter *Adapter)
diff --git a/drivers/staging/rtl8188eu/include/rtl8188e_hal.h b/drivers/staging/rtl8188eu/include/rtl8188e_hal.h
index 7d95943fc05e..3e697a3321e1 100644
--- a/drivers/staging/rtl8188eu/include/rtl8188e_hal.h
+++ b/drivers/staging/rtl8188eu/include/rtl8188e_hal.h
@@ -265,7 +265,6 @@ struct hal_data_8188e {
u8 C2hArray[16];
u8 UsbTxAggMode;
u8 UsbTxAggDescNum;
- u16 HwRxPageSize; /* Hardware setting */

enum usb_rx_agg_mode UsbRxAggMode;
u8 UsbRxAggBlockCount; /* USB Block count. Block size is
diff --git a/drivers/staging/rtl8188eu/include/rtl8188e_spec.h b/drivers/staging/rtl8188eu/include/rtl8188e_spec.h
index fe0871bbb95f..c7be0a1d70b9 100644
--- a/drivers/staging/rtl8188eu/include/rtl8188e_spec.h
+++ b/drivers/staging/rtl8188eu/include/rtl8188e_spec.h
@@ -803,11 +803,7 @@ So the following defines for 92C is not entire!!!!!!
#define _PSRX(x) (x)
#define _PSTX(x) ((x) << 4)

-#define PBP_64 0x0
#define PBP_128 0x1
-#define PBP_256 0x2
-#define PBP_512 0x3
-#define PBP_1024 0x4

/* 2 TX/RXDMA */
#define RXDMA_ARBBW_EN BIT(0)
--
2.20.1

2021-07-25 16:05:01

by Martin Kaiser

[permalink] [raw]
Subject: [PATCH 15/18] staging: rtl8188eu: simplify phy_iq_calibrate

phy_iq_calibrate's is2t parameter is always false.
Remove some code that would be called only for is2t == true.

Signed-off-by: Martin Kaiser <[email protected]>
---
drivers/staging/rtl8188eu/hal/phy.c | 91 ++---------------------------
1 file changed, 6 insertions(+), 85 deletions(-)

diff --git a/drivers/staging/rtl8188eu/hal/phy.c b/drivers/staging/rtl8188eu/hal/phy.c
index 3866d5ebe960..62f979ceadc6 100644
--- a/drivers/staging/rtl8188eu/hal/phy.c
+++ b/drivers/staging/rtl8188eu/hal/phy.c
@@ -625,38 +625,6 @@ static u8 phy_path_a_rx_iqk(struct adapter *adapt, bool configPathB)
return result;
}

-static u8 phy_path_b_iqk(struct adapter *adapt)
-{
- u32 regeac, regeb4, regebc, regec4, regecc;
- u8 result = 0x00;
-
- /* One shot, path B LOK & IQK */
- phy_set_bb_reg(adapt, rIQK_AGC_Cont, bMaskDWord, 0x00000002);
- phy_set_bb_reg(adapt, rIQK_AGC_Cont, bMaskDWord, 0x00000000);
-
- mdelay(IQK_DELAY_TIME_88E);
-
- regeac = phy_query_bb_reg(adapt, rRx_Power_After_IQK_A_2, bMaskDWord);
- regeb4 = phy_query_bb_reg(adapt, rTx_Power_Before_IQK_B, bMaskDWord);
- regebc = phy_query_bb_reg(adapt, rTx_Power_After_IQK_B, bMaskDWord);
- regec4 = phy_query_bb_reg(adapt, rRx_Power_Before_IQK_B_2, bMaskDWord);
- regecc = phy_query_bb_reg(adapt, rRx_Power_After_IQK_B_2, bMaskDWord);
-
- if (!(regeac & BIT(31)) &&
- (((regeb4 & 0x03FF0000) >> 16) != 0x142) &&
- (((regebc & 0x03FF0000) >> 16) != 0x42))
- result |= 0x01;
- else
- return result;
-
- if (!(regeac & BIT(30)) &&
- (((regec4 & 0x03FF0000) >> 16) != 0x132) &&
- (((regecc & 0x03FF0000) >> 16) != 0x36))
- result |= 0x02;
-
- return result;
-}
-
static void patha_fill_iqk(struct adapter *adapt, bool iqkok, s32 result[][8],
u8 final_candidate, bool txonly)
{
@@ -774,13 +742,6 @@ static void mac_setting_calibration(struct adapter *adapt, const u32 *mac_reg,
usb_write8(adapt, mac_reg[i], (u8)(backup[i] & (~BIT(5))));
}

-static void path_a_standby(struct adapter *adapt)
-{
- phy_set_bb_reg(adapt, rFPGA0_IQK, bMaskDWord, 0x0);
- phy_set_bb_reg(adapt, 0x840, bMaskDWord, 0x00010000);
- phy_set_bb_reg(adapt, rFPGA0_IQK, bMaskDWord, 0x80800000);
-}
-
static void pi_mode_switch(struct adapter *adapt, bool pi_mode)
{
u32 mode;
@@ -865,11 +826,11 @@ static bool simularity_compare(struct adapter *adapt, s32 resulta[][8],
}

static void phy_iq_calibrate(struct adapter *adapt, s32 result[][8],
- u8 t, bool is2t)
+ u8 t)
{
struct odm_dm_struct *dm_odm = &adapt->HalData->odmpriv;
u32 i;
- u8 path_a_ok, path_b_ok;
+ u8 path_a_ok;
static const u32 adda_reg[IQK_ADDA_REG_NUM] = {
rFPGA0_XCD_SwitchControl, rBlue_Tooth,
rRx_Wait_CCA, rTx_CCK_RFON,
@@ -909,7 +870,7 @@ static void phy_iq_calibrate(struct adapter *adapt, s32 result[][8],
dm_odm->RFCalibrateInfo.IQK_BB_backup, IQK_BB_REG_NUM);
}

- path_adda_on(adapt, adda_reg, true, is2t);
+ path_adda_on(adapt, adda_reg, true, false);
if (t == 0)
dm_odm->RFCalibrateInfo.bRfPiEnable = (u8)phy_query_bb_reg(adapt, rFPGA0_XA_HSSIParameter1,
BIT(8));
@@ -930,13 +891,6 @@ static void phy_iq_calibrate(struct adapter *adapt, s32 result[][8],
phy_set_bb_reg(adapt, rFPGA0_XA_RFInterfaceOE, BIT(10), 0x00);
phy_set_bb_reg(adapt, rFPGA0_XB_RFInterfaceOE, BIT(10), 0x00);

- if (is2t) {
- phy_set_bb_reg(adapt, rFPGA0_XA_LSSIParameter, bMaskDWord,
- 0x00010000);
- phy_set_bb_reg(adapt, rFPGA0_XB_LSSIParameter, bMaskDWord,
- 0x00010000);
- }
-
/* MAC settings */
mac_setting_calibration(adapt, iqk_mac_reg,
dm_odm->RFCalibrateInfo.IQK_MAC_backup);
@@ -945,16 +899,13 @@ static void phy_iq_calibrate(struct adapter *adapt, s32 result[][8],
/* AP or IQK */
phy_set_bb_reg(adapt, rConfig_AntA, bMaskDWord, 0x0f600000);

- if (is2t)
- phy_set_bb_reg(adapt, rConfig_AntB, bMaskDWord, 0x0f600000);
-
/* IQ calibration setting */
phy_set_bb_reg(adapt, rFPGA0_IQK, bMaskDWord, 0x80800000);
phy_set_bb_reg(adapt, rTx_IQK, bMaskDWord, 0x01007c00);
phy_set_bb_reg(adapt, rRx_IQK, bMaskDWord, 0x81004800);

for (i = 0; i < retry_count; i++) {
- path_a_ok = phy_path_a_iqk(adapt, is2t);
+ path_a_ok = phy_path_a_iqk(adapt, false);
if (path_a_ok == 0x01) {
result[t][0] = (phy_query_bb_reg(adapt, rTx_Power_Before_IQK_A,
bMaskDWord) & 0x3FF0000) >> 16;
@@ -965,7 +916,7 @@ static void phy_iq_calibrate(struct adapter *adapt, s32 result[][8],
}

for (i = 0; i < retry_count; i++) {
- path_a_ok = phy_path_a_rx_iqk(adapt, is2t);
+ path_a_ok = phy_path_a_rx_iqk(adapt, false);
if (path_a_ok == 0x03) {
result[t][2] = (phy_query_bb_reg(adapt, rRx_Power_Before_IQK_A_2,
bMaskDWord) & 0x3FF0000) >> 16;
@@ -975,33 +926,6 @@ static void phy_iq_calibrate(struct adapter *adapt, s32 result[][8],
}
}

- if (is2t) {
- path_a_standby(adapt);
-
- /* Turn Path B ADDA on */
- path_adda_on(adapt, adda_reg, false, is2t);
-
- for (i = 0; i < retry_count; i++) {
- path_b_ok = phy_path_b_iqk(adapt);
- if (path_b_ok == 0x03) {
- result[t][4] = (phy_query_bb_reg(adapt, rTx_Power_Before_IQK_B,
- bMaskDWord) & 0x3FF0000) >> 16;
- result[t][5] = (phy_query_bb_reg(adapt, rTx_Power_After_IQK_B,
- bMaskDWord) & 0x3FF0000) >> 16;
- result[t][6] = (phy_query_bb_reg(adapt, rRx_Power_Before_IQK_B_2,
- bMaskDWord) & 0x3FF0000) >> 16;
- result[t][7] = (phy_query_bb_reg(adapt, rRx_Power_After_IQK_B_2,
- bMaskDWord) & 0x3FF0000) >> 16;
- break;
- } else if (i == (retry_count - 1) && path_b_ok == 0x01) { /* Tx IQK OK */
- result[t][4] = (phy_query_bb_reg(adapt, rTx_Power_Before_IQK_B,
- bMaskDWord) & 0x3FF0000) >> 16;
- result[t][5] = (phy_query_bb_reg(adapt, rTx_Power_After_IQK_B,
- bMaskDWord) & 0x3FF0000) >> 16;
- }
- }
- }
-
/* Back to BB mode, load original value */
phy_set_bb_reg(adapt, rFPGA0_IQK, bMaskDWord, 0);

@@ -1027,9 +951,6 @@ static void phy_iq_calibrate(struct adapter *adapt, s32 result[][8],
/* Restore RX initial gain */
phy_set_bb_reg(adapt, rFPGA0_XA_LSSIParameter,
bMaskDWord, 0x00032ed3);
- if (is2t)
- phy_set_bb_reg(adapt, rFPGA0_XB_LSSIParameter,
- bMaskDWord, 0x00032ed3);

/* load 0xe30 IQC default value */
phy_set_bb_reg(adapt, rTx_IQK_Tone_A, bMaskDWord, 0x01008c00);
@@ -1134,7 +1055,7 @@ void rtl88eu_phy_iq_calibrate(struct adapter *adapt, bool recovery)
is13simular = false;

for (i = 0; i < 3; i++) {
- phy_iq_calibrate(adapt, result, i, false);
+ phy_iq_calibrate(adapt, result, i);

if (i == 1) {
is12simular = simularity_compare(adapt, result, 0, 1);
--
2.20.1

2021-07-25 16:05:42

by Martin Kaiser

[permalink] [raw]
Subject: [PATCH 17/18] staging: rtl8188eu: simplify phy_lc_calibrate

phy_lc_calibrate's is2t parameter is always false.
Remove some code that would be called only for is2t == true.

Signed-off-by: Martin Kaiser <[email protected]>
---
drivers/staging/rtl8188eu/hal/phy.c | 20 +++-----------------
1 file changed, 3 insertions(+), 17 deletions(-)

diff --git a/drivers/staging/rtl8188eu/hal/phy.c b/drivers/staging/rtl8188eu/hal/phy.c
index faa94dc7190c..6c6404eb2f1e 100644
--- a/drivers/staging/rtl8188eu/hal/phy.c
+++ b/drivers/staging/rtl8188eu/hal/phy.c
@@ -952,10 +952,10 @@ static void phy_iq_calibrate(struct adapter *adapt, s32 result[][8],
}
}

-static void phy_lc_calibrate(struct adapter *adapt, bool is2t)
+static void phy_lc_calibrate(struct adapter *adapt)
{
u8 tmpreg;
- u32 rf_a_mode = 0, rf_b_mode = 0, lc_cal;
+ u32 rf_a_mode = 0, lc_cal;

/* Check continuous TX and Packet TX */
tmpreg = usb_read8(adapt, 0xd03);
@@ -971,20 +971,10 @@ static void phy_lc_calibrate(struct adapter *adapt, bool is2t)
rf_a_mode = rtw_hal_read_rfreg(adapt, RF_PATH_A, RF_AC,
bMask12Bits);

- /* Path-B */
- if (is2t)
- rf_b_mode = rtw_hal_read_rfreg(adapt, RF_PATH_B, RF_AC,
- bMask12Bits);
-
/* 2. Set RF mode = standby mode */
/* Path-A */
phy_set_rf_reg(adapt, RF_PATH_A, RF_AC, bMask12Bits,
(rf_a_mode & 0x8FFFF) | 0x10000);
-
- /* Path-B */
- if (is2t)
- phy_set_rf_reg(adapt, RF_PATH_B, RF_AC, bMask12Bits,
- (rf_b_mode & 0x8FFFF) | 0x10000);
}

/* 3. Read RF reg18 */
@@ -1003,10 +993,6 @@ static void phy_lc_calibrate(struct adapter *adapt, bool is2t)
usb_write8(adapt, 0xd03, tmpreg);
phy_set_rf_reg(adapt, RF_PATH_A, RF_AC, bMask12Bits, rf_a_mode);

- /* Path-B */
- if (is2t)
- phy_set_rf_reg(adapt, RF_PATH_B, RF_AC, bMask12Bits,
- rf_b_mode);
} else {
/* Deal with Packet TX case */
usb_write8(adapt, REG_TXPAUSE, 0x00);
@@ -1130,7 +1116,7 @@ void rtl88eu_phy_lc_calibrate(struct adapter *adapt)

dm_odm->RFCalibrateInfo.bLCKInProgress = true;

- phy_lc_calibrate(adapt, false);
+ phy_lc_calibrate(adapt);

dm_odm->RFCalibrateInfo.bLCKInProgress = false;
}
--
2.20.1

2021-07-25 16:05:43

by Martin Kaiser

[permalink] [raw]
Subject: [PATCH 18/18] staging: rtl8188eu: remove unused IQKMatrixRegSetting array

The IQKMatrixRegSetting array in struct odm_rf_cal is initialised
but never used. Remove it.

Signed-off-by: Martin Kaiser <[email protected]>
---
drivers/staging/rtl8188eu/hal/phy.c | 6 ------
drivers/staging/rtl8188eu/include/odm.h | 7 -------
2 files changed, 13 deletions(-)

diff --git a/drivers/staging/rtl8188eu/hal/phy.c b/drivers/staging/rtl8188eu/hal/phy.c
index 6c6404eb2f1e..4a4d4a23eda6 100644
--- a/drivers/staging/rtl8188eu/hal/phy.c
+++ b/drivers/staging/rtl8188eu/hal/phy.c
@@ -1091,12 +1091,6 @@ void rtl88eu_phy_iq_calibrate(struct adapter *adapt, bool recovery)
patha_fill_iqk(adapt, pathaok, result, final,
(reg_ea4 == 0));

- if (final < 4) {
- for (i = 0; i < IQK_Matrix_REG_NUM; i++)
- dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[0].Value[0][i] = result[final][i];
- dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[0].bIQKDone = true;
- }
-
save_adda_registers(adapt, iqk_bb_reg_92c,
dm_odm->RFCalibrateInfo.IQK_BB_backup_recover, 9);
}
diff --git a/drivers/staging/rtl8188eu/include/odm.h b/drivers/staging/rtl8188eu/include/odm.h
index 98402cfb1168..9cd612414ab9 100644
--- a/drivers/staging/rtl8188eu/include/odm.h
+++ b/drivers/staging/rtl8188eu/include/odm.h
@@ -241,7 +241,6 @@ struct odm_rate_adapt {
#define HP_THERMAL_NUM 8

#define AVG_THERMAL_NUM 8
-#define IQK_Matrix_REG_NUM 8
#define IQK_Matrix_Settings_NUM (1 + 24 + 21)

#define DM_Type_ByFWi 0
@@ -565,11 +564,6 @@ struct odm_ra_info {
u8 PTSmoothFactor;
};

-struct ijk_matrix_regs_set {
- bool bIQKDone;
- s32 Value[1][IQK_Matrix_REG_NUM];
-};
-
struct odm_rf_cal {
/* for tx power tracking */
u32 RegA24; /* for TempCCK */
@@ -613,7 +607,6 @@ struct odm_rf_cal {

u8 ThermalValue_HP[HP_THERMAL_NUM];
u8 ThermalValue_HP_index;
- struct ijk_matrix_regs_set IQKMatrixRegSetting[IQK_Matrix_Settings_NUM];

u8 Delta_IQK;
u8 Delta_LCK;
--
2.20.1

2021-07-25 16:05:50

by Martin Kaiser

[permalink] [raw]
Subject: [PATCH 12/18] staging: rtl8188eu: remove unused IntrMask

The IntrMask array is set but never read. Remove it.

Signed-off-by: Martin Kaiser <[email protected]>
---
drivers/staging/rtl8188eu/hal/usb_halinit.c | 2 --
drivers/staging/rtl8188eu/include/rtl8188e_hal.h | 1 -
2 files changed, 3 deletions(-)

diff --git a/drivers/staging/rtl8188eu/hal/usb_halinit.c b/drivers/staging/rtl8188eu/hal/usb_halinit.c
index 62013999c569..aaa68356d211 100644
--- a/drivers/staging/rtl8188eu/hal/usb_halinit.c
+++ b/drivers/staging/rtl8188eu/hal/usb_halinit.c
@@ -118,11 +118,9 @@ static void _InitInterrupt(struct adapter *Adapter)
/* HIMR - */
imr = IMR_PSTIMEOUT_88E | IMR_TBDER_88E | IMR_CPWM_88E | IMR_CPWM2_88E;
usb_write32(Adapter, REG_HIMR_88E, imr);
- Adapter->HalData->IntrMask[0] = imr;

imr_ex = IMR_TXERR_88E | IMR_RXERR_88E | IMR_TXFOVW_88E | IMR_RXFOVW_88E;
usb_write32(Adapter, REG_HIMRE_88E, imr_ex);
- Adapter->HalData->IntrMask[1] = imr_ex;

/* REG_USB_SPECIAL_OPTION - BIT(4) */
/* 0; Use interrupt endpoint to upload interrupt pkt */
diff --git a/drivers/staging/rtl8188eu/include/rtl8188e_hal.h b/drivers/staging/rtl8188eu/include/rtl8188e_hal.h
index 9aba67233c24..7d95943fc05e 100644
--- a/drivers/staging/rtl8188eu/include/rtl8188e_hal.h
+++ b/drivers/staging/rtl8188eu/include/rtl8188e_hal.h
@@ -262,7 +262,6 @@ struct hal_data_8188e {

/* Interrupt relatd register information. */
u32 IntArray[3];/* HISR0,HISR1,HSISR */
- u32 IntrMask[3];
u8 C2hArray[16];
u8 UsbTxAggMode;
u8 UsbTxAggDescNum;
--
2.20.1

2021-07-25 16:06:04

by Martin Kaiser

[permalink] [raw]
Subject: [PATCH 11/18] staging: rtl8188eu: remove two write-only hal components

RegTxPause and RegBcnCtrlVal from struct hal_data_8188e are set but
never read. Remove them.

Signed-off-by: Martin Kaiser <[email protected]>
---
drivers/staging/rtl8188eu/hal/usb_halinit.c | 2 --
drivers/staging/rtl8188eu/include/rtl8188e_hal.h | 3 ---
2 files changed, 5 deletions(-)

diff --git a/drivers/staging/rtl8188eu/hal/usb_halinit.c b/drivers/staging/rtl8188eu/hal/usb_halinit.c
index 6af411e0c28e..62013999c569 100644
--- a/drivers/staging/rtl8188eu/hal/usb_halinit.c
+++ b/drivers/staging/rtl8188eu/hal/usb_halinit.c
@@ -563,8 +563,6 @@ static void _InitBeaconParameters(struct adapter *Adapter)
/* beacause test chip does not contension before sending beacon. by tynli. 2009.11.03 */
usb_write16(Adapter, REG_BCNTCFG, 0x660F);

- haldata->RegBcnCtrlVal = usb_read8(Adapter, REG_BCN_CTRL);
- haldata->RegTxPause = usb_read8(Adapter, REG_TXPAUSE);
haldata->RegFwHwTxQCtrl = usb_read8(Adapter, REG_FWHW_TXQ_CTRL + 2);
haldata->RegReg542 = usb_read8(Adapter, REG_TBTT_PROHIBIT + 2);
haldata->RegCR_1 = usb_read8(Adapter, REG_CR + 1);
diff --git a/drivers/staging/rtl8188eu/include/rtl8188e_hal.h b/drivers/staging/rtl8188eu/include/rtl8188e_hal.h
index e508b4b9ef7f..9aba67233c24 100644
--- a/drivers/staging/rtl8188eu/include/rtl8188e_hal.h
+++ b/drivers/staging/rtl8188eu/include/rtl8188e_hal.h
@@ -230,9 +230,6 @@ struct hal_data_8188e {
/* for host message to fw */
u8 LastHMEBoxNum;

- u8 RegTxPause;
- /* Beacon function related global variable. */
- u32 RegBcnCtrlVal;
u8 RegFwHwTxQCtrl;
u8 RegReg542;
u8 RegCR_1;
--
2.20.1

2021-07-25 16:07:02

by Martin Kaiser

[permalink] [raw]
Subject: [PATCH 16/18] staging: rtl8188eu: simplify path_adda_on

path_adda_on's is2t parameter is always false.
Remove some code that would be called only for is2t == true.

Signed-off-by: Martin Kaiser <[email protected]>
---
drivers/staging/rtl8188eu/hal/phy.c | 14 ++++----------
1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/drivers/staging/rtl8188eu/hal/phy.c b/drivers/staging/rtl8188eu/hal/phy.c
index 62f979ceadc6..faa94dc7190c 100644
--- a/drivers/staging/rtl8188eu/hal/phy.c
+++ b/drivers/staging/rtl8188eu/hal/phy.c
@@ -711,19 +711,13 @@ static void reload_mac_registers(struct adapter *adapt, const u32 *mac_reg,
usb_write32(adapt, mac_reg[i], backup[i]);
}

-static void path_adda_on(struct adapter *adapt, const u32 *adda_reg,
- bool is_path_a_on, bool is2t)
+static void path_adda_on(struct adapter *adapt, const u32 *adda_reg, bool is_path_a_on)
{
u32 path_on;
u32 i;

- if (!is2t) {
- path_on = 0x0bdb25a0;
- phy_set_bb_reg(adapt, adda_reg[0], bMaskDWord, 0x0b1b25a0);
- } else {
- path_on = is_path_a_on ? 0x04db25a4 : 0x0b1b25a4;
- phy_set_bb_reg(adapt, adda_reg[0], bMaskDWord, path_on);
- }
+ path_on = 0x0bdb25a0;
+ phy_set_bb_reg(adapt, adda_reg[0], bMaskDWord, 0x0b1b25a0);

for (i = 1; i < IQK_ADDA_REG_NUM; i++)
phy_set_bb_reg(adapt, adda_reg[i], bMaskDWord, path_on);
@@ -870,7 +864,7 @@ static void phy_iq_calibrate(struct adapter *adapt, s32 result[][8],
dm_odm->RFCalibrateInfo.IQK_BB_backup, IQK_BB_REG_NUM);
}

- path_adda_on(adapt, adda_reg, true, false);
+ path_adda_on(adapt, adda_reg, true);
if (t == 0)
dm_odm->RFCalibrateInfo.bRfPiEnable = (u8)phy_query_bb_reg(adapt, rFPGA0_XA_HSSIParameter1,
BIT(8));
--
2.20.1

2021-07-25 16:34:22

by Christophe JAILLET

[permalink] [raw]
Subject: Re: [PATCH 09/18] staging: rtl8188eu: remove unused _HAL_INTF_C_ define

Le 25/07/2021 à 17:58, Martin Kaiser a écrit :
> This define can be removed.
>
> Signed-off-by: Martin Kaiser <[email protected]>
> ---
> drivers/staging/rtl8188eu/hal/hal_intf.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/drivers/staging/rtl8188eu/hal/hal_intf.c b/drivers/staging/rtl8188eu/hal/hal_intf.c
> index f09620c54e69..3e132e00c81c 100644
> --- a/drivers/staging/rtl8188eu/hal/hal_intf.c
> +++ b/drivers/staging/rtl8188eu/hal/hal_intf.c
> @@ -5,7 +5,6 @@
> *
> ******************************************************************************/
>
> -#define _HAL_INTF_C_
> #include <hal_intf.h>
>
> uint rtw_hal_init(struct adapter *adapt)
>

Hi,

This one looks like an include guard.

#ifndef _HAL_INTF_C_
#define _HAL_INTF_C_
...
#endif /* _HAL_INTF_C_ */

?

2021-07-25 16:39:17

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH 09/18] staging: rtl8188eu: remove unused _HAL_INTF_C_ define

On Sun, Jul 25, 2021 at 06:32:10PM +0200, Christophe JAILLET wrote:
> Le 25/07/2021 ? 17:58, Martin Kaiser a ?crit?:
> > This define can be removed.
> >
> > Signed-off-by: Martin Kaiser <[email protected]>
> > ---
> > drivers/staging/rtl8188eu/hal/hal_intf.c | 1 -
> > 1 file changed, 1 deletion(-)
> >
> > diff --git a/drivers/staging/rtl8188eu/hal/hal_intf.c b/drivers/staging/rtl8188eu/hal/hal_intf.c
> > index f09620c54e69..3e132e00c81c 100644
> > --- a/drivers/staging/rtl8188eu/hal/hal_intf.c
> > +++ b/drivers/staging/rtl8188eu/hal/hal_intf.c
> > @@ -5,7 +5,6 @@
> > *
> > ******************************************************************************/
> > -#define _HAL_INTF_C_
> > #include <hal_intf.h>
> > uint rtw_hal_init(struct adapter *adapt)
> >
>
> Hi,
>
> This one looks like an include guard.
>
> #ifndef _HAL_INTF_C_
> #define _HAL_INTF_C_
> ...
> #endif /* _HAL_INTF_C_ */
>
> ?

But it really does not do anything, so should be dropped as the patch
does.

Unless I am reading the code wrong?

greg k-h

2021-07-25 16:46:34

by Christophe JAILLET

[permalink] [raw]
Subject: Re: [PATCH 09/18] staging: rtl8188eu: remove unused _HAL_INTF_C_ define

Le 25/07/2021 à 18:38, Greg Kroah-Hartman a écrit :
> On Sun, Jul 25, 2021 at 06:32:10PM +0200, Christophe JAILLET wrote:
>> Le 25/07/2021 à 17:58, Martin Kaiser a écrit :
>>> This define can be removed.
>>>
>>> Signed-off-by: Martin Kaiser <[email protected]>
>>> ---
>>> drivers/staging/rtl8188eu/hal/hal_intf.c | 1 -
>>> 1 file changed, 1 deletion(-)
>>>
>>> diff --git a/drivers/staging/rtl8188eu/hal/hal_intf.c b/drivers/staging/rtl8188eu/hal/hal_intf.c
>>> index f09620c54e69..3e132e00c81c 100644
>>> --- a/drivers/staging/rtl8188eu/hal/hal_intf.c
>>> +++ b/drivers/staging/rtl8188eu/hal/hal_intf.c
>>> @@ -5,7 +5,6 @@
>>> *
>>> ******************************************************************************/
>>> -#define _HAL_INTF_C_
>>> #include <hal_intf.h>
>>> uint rtw_hal_init(struct adapter *adapt)
>>>
>>
>> Hi,
>>
>> This one looks like an include guard.
>>
>> #ifndef _HAL_INTF_C_
>> #define _HAL_INTF_C_
>> ...
>> #endif /* _HAL_INTF_C_ */
>>
>> ?
>
> But it really does not do anything, so should be dropped as the patch
> does.
>
> Unless I am reading the code wrong?
>
> greg k-h
>

+1, I thought it was a .h file.

Sorry for the noise.

CJ

2021-07-25 18:51:01

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH 14/18] staging: rtl8188eu: simplify rtl88eu_phy_iq_calibrate

Hi Martin,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on staging/staging-testing]

url: https://github.com/0day-ci/linux/commits/Martin-Kaiser/staging-rtl8188eu-remove-unused-defines/20210726-000245
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git f133717efc6f28052667daf682e99ffd4b3d7588
config: arc-allyesconfig (attached as .config)
compiler: arceb-elf-gcc (GCC) 10.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/fd8745a2293eb9616eb3ae4c2e231462a18bdbac
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Martin-Kaiser/staging-rtl8188eu-remove-unused-defines/20210726-000245
git checkout fd8745a2293eb9616eb3ae4c2e231462a18bdbac
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=arc

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>

All warnings (new ones prefixed by >>):

drivers/staging/rtl8188eu/hal/phy.c: In function 'rtl88eu_phy_iq_calibrate':
>> drivers/staging/rtl8188eu/hal/phy.c:1107:51: warning: variable 'reg_ec4' set but not used [-Wunused-but-set-variable]
1107 | s32 reg_e94, reg_e9c, reg_ea4, reg_eb4, reg_ebc, reg_ec4;
| ^~~~~~~
>> drivers/staging/rtl8188eu/hal/phy.c:1106:16: warning: variable 'pathbok' set but not used [-Wunused-but-set-variable]
1106 | bool pathaok, pathbok;
| ^~~~~~~


vim +/reg_ec4 +1107 drivers/staging/rtl8188eu/hal/phy.c

d9124e064d27a5 navin patidar 2014-09-07 1100
d9124e064d27a5 navin patidar 2014-09-07 1101 void rtl88eu_phy_iq_calibrate(struct adapter *adapt, bool recovery)
d9124e064d27a5 navin patidar 2014-09-07 1102 {
177aa53a0d11b2 Ivan Safonov 2016-09-19 1103 struct odm_dm_struct *dm_odm = &adapt->HalData->odmpriv;
d9124e064d27a5 navin patidar 2014-09-07 1104 s32 result[4][8];
dee43f7ad325ec Michael Straube 2018-09-27 1105 u8 i, final;
d9124e064d27a5 navin patidar 2014-09-07 @1106 bool pathaok, pathbok;
9393d34e4905ff Sudip Mukherjee 2015-06-12 @1107 s32 reg_e94, reg_e9c, reg_ea4, reg_eb4, reg_ebc, reg_ec4;
d9124e064d27a5 navin patidar 2014-09-07 1108 bool is12simular, is13simular, is23simular;
d9124e064d27a5 navin patidar 2014-09-07 1109 u32 iqk_bb_reg_92c[IQK_BB_REG_NUM] = {
d9124e064d27a5 navin patidar 2014-09-07 1110 rOFDM0_XARxIQImbalance, rOFDM0_XBRxIQImbalance,
d9124e064d27a5 navin patidar 2014-09-07 1111 rOFDM0_ECCAThreshold, rOFDM0_AGCRSSITable,
d9124e064d27a5 navin patidar 2014-09-07 1112 rOFDM0_XATxIQImbalance, rOFDM0_XBTxIQImbalance,
d9124e064d27a5 navin patidar 2014-09-07 1113 rOFDM0_XCTxAFE, rOFDM0_XDTxAFE,
d9124e064d27a5 navin patidar 2014-09-07 1114 rOFDM0_RxIQExtAnta};
d9124e064d27a5 navin patidar 2014-09-07 1115
d9124e064d27a5 navin patidar 2014-09-07 1116 if (!(dm_odm->SupportAbility & ODM_RF_CALIBRATION))
d9124e064d27a5 navin patidar 2014-09-07 1117 return;
d9124e064d27a5 navin patidar 2014-09-07 1118
d9124e064d27a5 navin patidar 2014-09-07 1119 if (recovery) {
d9124e064d27a5 navin patidar 2014-09-07 1120 reload_adda_reg(adapt, iqk_bb_reg_92c,
d9124e064d27a5 navin patidar 2014-09-07 1121 dm_odm->RFCalibrateInfo.IQK_BB_backup_recover, 9);
d9124e064d27a5 navin patidar 2014-09-07 1122 return;
d9124e064d27a5 navin patidar 2014-09-07 1123 }
d9124e064d27a5 navin patidar 2014-09-07 1124
a793dbe926014e Michael Straube 2018-12-07 1125 memset(result, 0, sizeof(result));
a793dbe926014e Michael Straube 2018-12-07 1126 for (i = 0; i < 8; i += 2)
d9124e064d27a5 navin patidar 2014-09-07 1127 result[3][i] = 0x100;
a793dbe926014e Michael Straube 2018-12-07 1128
d9124e064d27a5 navin patidar 2014-09-07 1129 final = 0xff;
d9124e064d27a5 navin patidar 2014-09-07 1130 pathaok = false;
d9124e064d27a5 navin patidar 2014-09-07 1131 pathbok = false;
d9124e064d27a5 navin patidar 2014-09-07 1132 is12simular = false;
d9124e064d27a5 navin patidar 2014-09-07 1133 is23simular = false;
d9124e064d27a5 navin patidar 2014-09-07 1134 is13simular = false;
d9124e064d27a5 navin patidar 2014-09-07 1135
d9124e064d27a5 navin patidar 2014-09-07 1136 for (i = 0; i < 3; i++) {
fd8745a2293eb9 Martin Kaiser 2021-07-25 1137 phy_iq_calibrate(adapt, result, i, false);
d9124e064d27a5 navin patidar 2014-09-07 1138
d9124e064d27a5 navin patidar 2014-09-07 1139 if (i == 1) {
d9124e064d27a5 navin patidar 2014-09-07 1140 is12simular = simularity_compare(adapt, result, 0, 1);
d9124e064d27a5 navin patidar 2014-09-07 1141 if (is12simular) {
d9124e064d27a5 navin patidar 2014-09-07 1142 final = 0;
d9124e064d27a5 navin patidar 2014-09-07 1143 break;
d9124e064d27a5 navin patidar 2014-09-07 1144 }
d9124e064d27a5 navin patidar 2014-09-07 1145 }
d9124e064d27a5 navin patidar 2014-09-07 1146
d9124e064d27a5 navin patidar 2014-09-07 1147 if (i == 2) {
d9124e064d27a5 navin patidar 2014-09-07 1148 is13simular = simularity_compare(adapt, result, 0, 2);
d9124e064d27a5 navin patidar 2014-09-07 1149 if (is13simular) {
d9124e064d27a5 navin patidar 2014-09-07 1150 final = 0;
d9124e064d27a5 navin patidar 2014-09-07 1151 break;
d9124e064d27a5 navin patidar 2014-09-07 1152 }
d9124e064d27a5 navin patidar 2014-09-07 1153 is23simular = simularity_compare(adapt, result, 1, 2);
d9124e064d27a5 navin patidar 2014-09-07 1154 if (is23simular)
d9124e064d27a5 navin patidar 2014-09-07 1155 final = 1;
d9124e064d27a5 navin patidar 2014-09-07 1156 else
d9124e064d27a5 navin patidar 2014-09-07 1157 final = 3;
d9124e064d27a5 navin patidar 2014-09-07 1158 }
d9124e064d27a5 navin patidar 2014-09-07 1159 }
d9124e064d27a5 navin patidar 2014-09-07 1160
d9124e064d27a5 navin patidar 2014-09-07 1161 for (i = 0; i < 4; i++) {
d9124e064d27a5 navin patidar 2014-09-07 1162 reg_e94 = result[i][0];
d9124e064d27a5 navin patidar 2014-09-07 1163 reg_e9c = result[i][1];
d9124e064d27a5 navin patidar 2014-09-07 1164 reg_ea4 = result[i][2];
d9124e064d27a5 navin patidar 2014-09-07 1165 reg_eb4 = result[i][4];
d9124e064d27a5 navin patidar 2014-09-07 1166 reg_ebc = result[i][5];
d9124e064d27a5 navin patidar 2014-09-07 1167 reg_ec4 = result[i][6];
d9124e064d27a5 navin patidar 2014-09-07 1168 }
d9124e064d27a5 navin patidar 2014-09-07 1169
d9124e064d27a5 navin patidar 2014-09-07 1170 if (final != 0xff) {
d9124e064d27a5 navin patidar 2014-09-07 1171 reg_e94 = result[final][0];
d9124e064d27a5 navin patidar 2014-09-07 1172 reg_e9c = result[final][1];
d9124e064d27a5 navin patidar 2014-09-07 1173 reg_ea4 = result[final][2];
d9124e064d27a5 navin patidar 2014-09-07 1174 reg_eb4 = result[final][4];
d9124e064d27a5 navin patidar 2014-09-07 1175 reg_ebc = result[final][5];
d9124e064d27a5 navin patidar 2014-09-07 1176 dm_odm->RFCalibrateInfo.RegE94 = reg_e94;
d9124e064d27a5 navin patidar 2014-09-07 1177 dm_odm->RFCalibrateInfo.RegE9C = reg_e9c;
d9124e064d27a5 navin patidar 2014-09-07 1178 dm_odm->RFCalibrateInfo.RegEB4 = reg_eb4;
d9124e064d27a5 navin patidar 2014-09-07 1179 dm_odm->RFCalibrateInfo.RegEBC = reg_ebc;
d9124e064d27a5 navin patidar 2014-09-07 1180 reg_ec4 = result[final][6];
d9124e064d27a5 navin patidar 2014-09-07 1181 pathaok = true;
d9124e064d27a5 navin patidar 2014-09-07 1182 pathbok = true;
d9124e064d27a5 navin patidar 2014-09-07 1183 } else {
d9124e064d27a5 navin patidar 2014-09-07 1184 dm_odm->RFCalibrateInfo.RegE94 = 0x100;
d9124e064d27a5 navin patidar 2014-09-07 1185 dm_odm->RFCalibrateInfo.RegEB4 = 0x100;
d9124e064d27a5 navin patidar 2014-09-07 1186 dm_odm->RFCalibrateInfo.RegE9C = 0x0;
d9124e064d27a5 navin patidar 2014-09-07 1187 dm_odm->RFCalibrateInfo.RegEBC = 0x0;
d9124e064d27a5 navin patidar 2014-09-07 1188 }
d9124e064d27a5 navin patidar 2014-09-07 1189 if (reg_e94 != 0)
d9124e064d27a5 navin patidar 2014-09-07 1190 patha_fill_iqk(adapt, pathaok, result, final,
d9124e064d27a5 navin patidar 2014-09-07 1191 (reg_ea4 == 0));
d9124e064d27a5 navin patidar 2014-09-07 1192
d9124e064d27a5 navin patidar 2014-09-07 1193 if (final < 4) {
d9124e064d27a5 navin patidar 2014-09-07 1194 for (i = 0; i < IQK_Matrix_REG_NUM; i++)
dee43f7ad325ec Michael Straube 2018-09-27 1195 dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[0].Value[0][i] = result[final][i];
dee43f7ad325ec Michael Straube 2018-09-27 1196 dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[0].bIQKDone = true;
d9124e064d27a5 navin patidar 2014-09-07 1197 }
d9124e064d27a5 navin patidar 2014-09-07 1198
d9124e064d27a5 navin patidar 2014-09-07 1199 save_adda_registers(adapt, iqk_bb_reg_92c,
d9124e064d27a5 navin patidar 2014-09-07 1200 dm_odm->RFCalibrateInfo.IQK_BB_backup_recover, 9);
d9124e064d27a5 navin patidar 2014-09-07 1201 }
d9124e064d27a5 navin patidar 2014-09-07 1202

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]


Attachments:
(No filename) (9.48 kB)
.config.gz (66.81 kB)
Download all attachments

2021-07-25 21:07:13

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH 14/18] staging: rtl8188eu: simplify rtl88eu_phy_iq_calibrate

Hi Martin,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on staging/staging-testing]

url: https://github.com/0day-ci/linux/commits/Martin-Kaiser/staging-rtl8188eu-remove-unused-defines/20210726-000245
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git f133717efc6f28052667daf682e99ffd4b3d7588
config: x86_64-randconfig-a005-20210725 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project c63dbd850182797bc4b76124d08e1c320ab2365d)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://github.com/0day-ci/linux/commit/fd8745a2293eb9616eb3ae4c2e231462a18bdbac
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Martin-Kaiser/staging-rtl8188eu-remove-unused-defines/20210726-000245
git checkout fd8745a2293eb9616eb3ae4c2e231462a18bdbac
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>

All warnings (new ones prefixed by >>):

>> drivers/staging/rtl8188eu/hal/phy.c:1106:16: warning: variable 'pathbok' set but not used [-Wunused-but-set-variable]
bool pathaok, pathbok;
^
>> drivers/staging/rtl8188eu/hal/phy.c:1107:51: warning: variable 'reg_ec4' set but not used [-Wunused-but-set-variable]
s32 reg_e94, reg_e9c, reg_ea4, reg_eb4, reg_ebc, reg_ec4;
^
2 warnings generated.
--
>> drivers/staging/rtl8188eu/hal/phy.c:1107:51: warning: variable 'reg_ec4' set but not used [-Wunused-but-set-variable]
s32 reg_e94, reg_e9c, reg_ea4, reg_eb4, reg_ebc, reg_ec4;
^
>> drivers/staging/rtl8188eu/hal/phy.c:1106:16: warning: variable 'pathbok' set but not used [-Wunused-but-set-variable]
bool pathaok, pathbok;
^
2 warnings generated.


vim +/pathbok +1106 drivers/staging/rtl8188eu/hal/phy.c

d9124e064d27a5 navin patidar 2014-09-07 1100
d9124e064d27a5 navin patidar 2014-09-07 1101 void rtl88eu_phy_iq_calibrate(struct adapter *adapt, bool recovery)
d9124e064d27a5 navin patidar 2014-09-07 1102 {
177aa53a0d11b2 Ivan Safonov 2016-09-19 1103 struct odm_dm_struct *dm_odm = &adapt->HalData->odmpriv;
d9124e064d27a5 navin patidar 2014-09-07 1104 s32 result[4][8];
dee43f7ad325ec Michael Straube 2018-09-27 1105 u8 i, final;
d9124e064d27a5 navin patidar 2014-09-07 @1106 bool pathaok, pathbok;
9393d34e4905ff Sudip Mukherjee 2015-06-12 @1107 s32 reg_e94, reg_e9c, reg_ea4, reg_eb4, reg_ebc, reg_ec4;
d9124e064d27a5 navin patidar 2014-09-07 1108 bool is12simular, is13simular, is23simular;
d9124e064d27a5 navin patidar 2014-09-07 1109 u32 iqk_bb_reg_92c[IQK_BB_REG_NUM] = {
d9124e064d27a5 navin patidar 2014-09-07 1110 rOFDM0_XARxIQImbalance, rOFDM0_XBRxIQImbalance,
d9124e064d27a5 navin patidar 2014-09-07 1111 rOFDM0_ECCAThreshold, rOFDM0_AGCRSSITable,
d9124e064d27a5 navin patidar 2014-09-07 1112 rOFDM0_XATxIQImbalance, rOFDM0_XBTxIQImbalance,
d9124e064d27a5 navin patidar 2014-09-07 1113 rOFDM0_XCTxAFE, rOFDM0_XDTxAFE,
d9124e064d27a5 navin patidar 2014-09-07 1114 rOFDM0_RxIQExtAnta};
d9124e064d27a5 navin patidar 2014-09-07 1115
d9124e064d27a5 navin patidar 2014-09-07 1116 if (!(dm_odm->SupportAbility & ODM_RF_CALIBRATION))
d9124e064d27a5 navin patidar 2014-09-07 1117 return;
d9124e064d27a5 navin patidar 2014-09-07 1118
d9124e064d27a5 navin patidar 2014-09-07 1119 if (recovery) {
d9124e064d27a5 navin patidar 2014-09-07 1120 reload_adda_reg(adapt, iqk_bb_reg_92c,
d9124e064d27a5 navin patidar 2014-09-07 1121 dm_odm->RFCalibrateInfo.IQK_BB_backup_recover, 9);
d9124e064d27a5 navin patidar 2014-09-07 1122 return;
d9124e064d27a5 navin patidar 2014-09-07 1123 }
d9124e064d27a5 navin patidar 2014-09-07 1124
a793dbe926014e Michael Straube 2018-12-07 1125 memset(result, 0, sizeof(result));
a793dbe926014e Michael Straube 2018-12-07 1126 for (i = 0; i < 8; i += 2)
d9124e064d27a5 navin patidar 2014-09-07 1127 result[3][i] = 0x100;
a793dbe926014e Michael Straube 2018-12-07 1128
d9124e064d27a5 navin patidar 2014-09-07 1129 final = 0xff;
d9124e064d27a5 navin patidar 2014-09-07 1130 pathaok = false;
d9124e064d27a5 navin patidar 2014-09-07 1131 pathbok = false;
d9124e064d27a5 navin patidar 2014-09-07 1132 is12simular = false;
d9124e064d27a5 navin patidar 2014-09-07 1133 is23simular = false;
d9124e064d27a5 navin patidar 2014-09-07 1134 is13simular = false;
d9124e064d27a5 navin patidar 2014-09-07 1135
d9124e064d27a5 navin patidar 2014-09-07 1136 for (i = 0; i < 3; i++) {
fd8745a2293eb9 Martin Kaiser 2021-07-25 1137 phy_iq_calibrate(adapt, result, i, false);
d9124e064d27a5 navin patidar 2014-09-07 1138
d9124e064d27a5 navin patidar 2014-09-07 1139 if (i == 1) {
d9124e064d27a5 navin patidar 2014-09-07 1140 is12simular = simularity_compare(adapt, result, 0, 1);
d9124e064d27a5 navin patidar 2014-09-07 1141 if (is12simular) {
d9124e064d27a5 navin patidar 2014-09-07 1142 final = 0;
d9124e064d27a5 navin patidar 2014-09-07 1143 break;
d9124e064d27a5 navin patidar 2014-09-07 1144 }
d9124e064d27a5 navin patidar 2014-09-07 1145 }
d9124e064d27a5 navin patidar 2014-09-07 1146
d9124e064d27a5 navin patidar 2014-09-07 1147 if (i == 2) {
d9124e064d27a5 navin patidar 2014-09-07 1148 is13simular = simularity_compare(adapt, result, 0, 2);
d9124e064d27a5 navin patidar 2014-09-07 1149 if (is13simular) {
d9124e064d27a5 navin patidar 2014-09-07 1150 final = 0;
d9124e064d27a5 navin patidar 2014-09-07 1151 break;
d9124e064d27a5 navin patidar 2014-09-07 1152 }
d9124e064d27a5 navin patidar 2014-09-07 1153 is23simular = simularity_compare(adapt, result, 1, 2);
d9124e064d27a5 navin patidar 2014-09-07 1154 if (is23simular)
d9124e064d27a5 navin patidar 2014-09-07 1155 final = 1;
d9124e064d27a5 navin patidar 2014-09-07 1156 else
d9124e064d27a5 navin patidar 2014-09-07 1157 final = 3;
d9124e064d27a5 navin patidar 2014-09-07 1158 }
d9124e064d27a5 navin patidar 2014-09-07 1159 }
d9124e064d27a5 navin patidar 2014-09-07 1160
d9124e064d27a5 navin patidar 2014-09-07 1161 for (i = 0; i < 4; i++) {
d9124e064d27a5 navin patidar 2014-09-07 1162 reg_e94 = result[i][0];
d9124e064d27a5 navin patidar 2014-09-07 1163 reg_e9c = result[i][1];
d9124e064d27a5 navin patidar 2014-09-07 1164 reg_ea4 = result[i][2];
d9124e064d27a5 navin patidar 2014-09-07 1165 reg_eb4 = result[i][4];
d9124e064d27a5 navin patidar 2014-09-07 1166 reg_ebc = result[i][5];
d9124e064d27a5 navin patidar 2014-09-07 1167 reg_ec4 = result[i][6];
d9124e064d27a5 navin patidar 2014-09-07 1168 }
d9124e064d27a5 navin patidar 2014-09-07 1169
d9124e064d27a5 navin patidar 2014-09-07 1170 if (final != 0xff) {
d9124e064d27a5 navin patidar 2014-09-07 1171 reg_e94 = result[final][0];
d9124e064d27a5 navin patidar 2014-09-07 1172 reg_e9c = result[final][1];
d9124e064d27a5 navin patidar 2014-09-07 1173 reg_ea4 = result[final][2];
d9124e064d27a5 navin patidar 2014-09-07 1174 reg_eb4 = result[final][4];
d9124e064d27a5 navin patidar 2014-09-07 1175 reg_ebc = result[final][5];
d9124e064d27a5 navin patidar 2014-09-07 1176 dm_odm->RFCalibrateInfo.RegE94 = reg_e94;
d9124e064d27a5 navin patidar 2014-09-07 1177 dm_odm->RFCalibrateInfo.RegE9C = reg_e9c;
d9124e064d27a5 navin patidar 2014-09-07 1178 dm_odm->RFCalibrateInfo.RegEB4 = reg_eb4;
d9124e064d27a5 navin patidar 2014-09-07 1179 dm_odm->RFCalibrateInfo.RegEBC = reg_ebc;
d9124e064d27a5 navin patidar 2014-09-07 1180 reg_ec4 = result[final][6];
d9124e064d27a5 navin patidar 2014-09-07 1181 pathaok = true;
d9124e064d27a5 navin patidar 2014-09-07 1182 pathbok = true;
d9124e064d27a5 navin patidar 2014-09-07 1183 } else {
d9124e064d27a5 navin patidar 2014-09-07 1184 dm_odm->RFCalibrateInfo.RegE94 = 0x100;
d9124e064d27a5 navin patidar 2014-09-07 1185 dm_odm->RFCalibrateInfo.RegEB4 = 0x100;
d9124e064d27a5 navin patidar 2014-09-07 1186 dm_odm->RFCalibrateInfo.RegE9C = 0x0;
d9124e064d27a5 navin patidar 2014-09-07 1187 dm_odm->RFCalibrateInfo.RegEBC = 0x0;
d9124e064d27a5 navin patidar 2014-09-07 1188 }
d9124e064d27a5 navin patidar 2014-09-07 1189 if (reg_e94 != 0)
d9124e064d27a5 navin patidar 2014-09-07 1190 patha_fill_iqk(adapt, pathaok, result, final,
d9124e064d27a5 navin patidar 2014-09-07 1191 (reg_ea4 == 0));
d9124e064d27a5 navin patidar 2014-09-07 1192
d9124e064d27a5 navin patidar 2014-09-07 1193 if (final < 4) {
d9124e064d27a5 navin patidar 2014-09-07 1194 for (i = 0; i < IQK_Matrix_REG_NUM; i++)
dee43f7ad325ec Michael Straube 2018-09-27 1195 dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[0].Value[0][i] = result[final][i];
dee43f7ad325ec Michael Straube 2018-09-27 1196 dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[0].bIQKDone = true;
d9124e064d27a5 navin patidar 2014-09-07 1197 }
d9124e064d27a5 navin patidar 2014-09-07 1198
d9124e064d27a5 navin patidar 2014-09-07 1199 save_adda_registers(adapt, iqk_bb_reg_92c,
d9124e064d27a5 navin patidar 2014-09-07 1200 dm_odm->RFCalibrateInfo.IQK_BB_backup_recover, 9);
d9124e064d27a5 navin patidar 2014-09-07 1201 }
d9124e064d27a5 navin patidar 2014-09-07 1202

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]


Attachments:
(No filename) (10.07 kB)
.config.gz (36.05 kB)
Download all attachments

2021-07-26 19:58:15

by Martin Kaiser

[permalink] [raw]
Subject: [PATCH v2 14/18] staging: rtl8188eu: simplify rtl88eu_phy_iq_calibrate

The boolean is2t variable in rtl88eu_phy_iq_calibrate is always false.
Remove some code that's unused in this case.

Signed-off-by: Martin Kaiser <[email protected]>
---
v2:
- fixed two -Wunused-but-set-variable warnings
reported by kernel test robot <[email protected]>

drivers/staging/rtl8188eu/hal/phy.c | 65 ++---------------------------
1 file changed, 3 insertions(+), 62 deletions(-)

diff --git a/drivers/staging/rtl8188eu/hal/phy.c b/drivers/staging/rtl8188eu/hal/phy.c
index 256f87b9d630..fcac885b6581 100644
--- a/drivers/staging/rtl8188eu/hal/phy.c
+++ b/drivers/staging/rtl8188eu/hal/phy.c
@@ -703,53 +703,6 @@ static void patha_fill_iqk(struct adapter *adapt, bool iqkok, s32 result[][8],
}
}

-static void pathb_fill_iqk(struct adapter *adapt, bool iqkok, s32 result[][8],
- u8 final_candidate, bool txonly)
-{
- u32 oldval_1, x, tx1_a, reg;
- s32 y, tx1_c;
-
- if (final_candidate == 0xFF) {
- return;
- } else if (iqkok) {
- oldval_1 = (phy_query_bb_reg(adapt, rOFDM0_XBTxIQImbalance, bMaskDWord) >> 22) & 0x3FF;
-
- x = result[final_candidate][4];
- if ((x & 0x00000200) != 0)
- x = x | 0xFFFFFC00;
- tx1_a = (x * oldval_1) >> 8;
- phy_set_bb_reg(adapt, rOFDM0_XBTxIQImbalance, 0x3FF, tx1_a);
-
- phy_set_bb_reg(adapt, rOFDM0_ECCAThreshold, BIT(27),
- ((x * oldval_1 >> 7) & 0x1));
-
- y = result[final_candidate][5];
- if ((y & 0x00000200) != 0)
- y = y | 0xFFFFFC00;
-
- tx1_c = (y * oldval_1) >> 8;
-
- phy_set_bb_reg(adapt, rOFDM0_XDTxAFE, 0xF0000000,
- ((tx1_c & 0x3C0) >> 6));
- phy_set_bb_reg(adapt, rOFDM0_XBTxIQImbalance, 0x003F0000,
- (tx1_c & 0x3F));
- phy_set_bb_reg(adapt, rOFDM0_ECCAThreshold, BIT(25),
- ((y * oldval_1 >> 7) & 0x1));
-
- if (txonly)
- return;
-
- reg = result[final_candidate][6];
- phy_set_bb_reg(adapt, rOFDM0_XBRxIQImbalance, 0x3FF, reg);
-
- reg = result[final_candidate][7] & 0x3F;
- phy_set_bb_reg(adapt, rOFDM0_XBRxIQImbalance, 0xFC00, reg);
-
- reg = (result[final_candidate][7] >> 6) & 0xF;
- phy_set_bb_reg(adapt, rOFDM0_AGCRSSITable, 0x0000F000, reg);
- }
-}
-
static void save_adda_registers(struct adapter *adapt, const u32 *addareg,
u32 *backup, u32 register_num)
{
@@ -1150,8 +1103,8 @@ void rtl88eu_phy_iq_calibrate(struct adapter *adapt, bool recovery)
struct odm_dm_struct *dm_odm = &adapt->HalData->odmpriv;
s32 result[4][8];
u8 i, final;
- bool pathaok, pathbok;
- s32 reg_e94, reg_e9c, reg_ea4, reg_eb4, reg_ebc, reg_ec4;
+ bool pathaok;
+ s32 reg_e94, reg_e9c, reg_ea4, reg_eb4, reg_ebc;
bool is12simular, is13simular, is23simular;
u32 iqk_bb_reg_92c[IQK_BB_REG_NUM] = {
rOFDM0_XARxIQImbalance, rOFDM0_XBRxIQImbalance,
@@ -1159,9 +1112,6 @@ void rtl88eu_phy_iq_calibrate(struct adapter *adapt, bool recovery)
rOFDM0_XATxIQImbalance, rOFDM0_XBTxIQImbalance,
rOFDM0_XCTxAFE, rOFDM0_XDTxAFE,
rOFDM0_RxIQExtAnta};
- bool is2t;
-
- is2t = false;

if (!(dm_odm->SupportAbility & ODM_RF_CALIBRATION))
return;
@@ -1178,13 +1128,12 @@ void rtl88eu_phy_iq_calibrate(struct adapter *adapt, bool recovery)

final = 0xff;
pathaok = false;
- pathbok = false;
is12simular = false;
is23simular = false;
is13simular = false;

for (i = 0; i < 3; i++) {
- phy_iq_calibrate(adapt, result, i, is2t);
+ phy_iq_calibrate(adapt, result, i, false);

if (i == 1) {
is12simular = simularity_compare(adapt, result, 0, 1);
@@ -1214,7 +1163,6 @@ void rtl88eu_phy_iq_calibrate(struct adapter *adapt, bool recovery)
reg_ea4 = result[i][2];
reg_eb4 = result[i][4];
reg_ebc = result[i][5];
- reg_ec4 = result[i][6];
}

if (final != 0xff) {
@@ -1227,9 +1175,7 @@ void rtl88eu_phy_iq_calibrate(struct adapter *adapt, bool recovery)
dm_odm->RFCalibrateInfo.RegE9C = reg_e9c;
dm_odm->RFCalibrateInfo.RegEB4 = reg_eb4;
dm_odm->RFCalibrateInfo.RegEBC = reg_ebc;
- reg_ec4 = result[final][6];
pathaok = true;
- pathbok = true;
} else {
dm_odm->RFCalibrateInfo.RegE94 = 0x100;
dm_odm->RFCalibrateInfo.RegEB4 = 0x100;
@@ -1239,11 +1185,6 @@ void rtl88eu_phy_iq_calibrate(struct adapter *adapt, bool recovery)
if (reg_e94 != 0)
patha_fill_iqk(adapt, pathaok, result, final,
(reg_ea4 == 0));
- if (is2t) {
- if (reg_eb4 != 0)
- pathb_fill_iqk(adapt, pathbok, result, final,
- (reg_ec4 == 0));
- }

if (final < 4) {
for (i = 0; i < IQK_Matrix_REG_NUM; i++)
--
2.20.1