Skip to contentSkip to conversation

staging: r8188eu: remove local variable Indexforchannel

PATCH In review Michael Straube 2 participants 4 messages Aug 29, 2021 – Aug 30, 2021 Staging

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 staging: r8188eu: remove local variable Indexforchannel

The local variable Indexforchannel in function odm_TXPowerTrackingCallback_ThermalMeter_8188E() is initilaized to 0 and never changed. Remove the variable and replace its usage with 0.

---
 drivers/staging/r8188eu/hal/HalPhyRf_8188e.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)
drivers/staging/r8188eu/hal/HalPhyRf_8188e.c +4 -5
index 356885e27edd..1b0e1e7307cd 100644
@@ -110,7 +110,6 @@ odm_TXPowerTrackingCallback_ThermalMeter_8188E(
 	bool is2t = false;
 
 	u8 OFDM_min_index = 6, rf; /* OFDM BB Swing should be less than +3.0dB, which is required by Arthur */
-	u8 Indexforchannel = 0/*GetRightChnlPlaceforIQK(pHalData->CurrentChannel)*/;
 	s8 OFDM_index_mapping[2][index_mapping_NUM_88E] = {
 		{0, 0, 2, 3, 4, 4, 		/* 2.4G, decrease power */
 		5, 6, 7, 7, 8, 9,
@@ -280,8 +279,8 @@ odm_TXPowerTrackingCallback_ThermalMeter_8188E(
 
 				/* Adujst OFDM Ant_A according to IQK result */
 				ele_D = (OFDMSwingTable[(u8)OFDM_index[0]] & 0xFFC00000) >> 22;
-				X = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[Indexforchannel].Value[0][0];
-				Y = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[Indexforchannel].Value[0][1];
+				X = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[0].Value[0][0];
+				Y = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[0].Value[0][1];
 
 				/*  Revse TX power table. */
 				dm_odm->BbSwingIdxOfdm		= (u8)OFDM_index[0];
@@ -315,8 +314,8 @@ odm_TXPowerTrackingCallback_ThermalMeter_8188E(
 					ele_D = (OFDMSwingTable[(u8)OFDM_index[1]] & 0xFFC00000) >> 22;
 
 					/* new element A = element D x X */
-					X = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[Indexforchannel].Value[0][4];
-					Y = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[Indexforchannel].Value[0][5];
+					X = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[0].Value[0][4];
+					Y = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[0].Value[0][5];
 
 					if ((X != 0) && (*dm_odm->pBandType == ODM_BAND_2_4G)) {
 						if ((X & 0x00000200) != 0)	/* consider minus */
Signature · 1 line
2.33.0
#1 lore raw

PATCH 2/2 staging: r8188eu: refactor field of struct odm_rf_cal

Refactor the field IQKMatrixRegSetting of struct odm_rf_cal to be not an array. The driver is for chips that operate in the 2.4 GHz band only. So only the first element of the array is used and there is no need for an array.

---
 drivers/staging/r8188eu/hal/HalPhyRf_8188e.c | 12 ++++++------
 drivers/staging/r8188eu/include/odm.h        |  3 +--
 2 files changed, 7 insertions(+), 8 deletions(-)
drivers/staging/r8188eu/hal/HalPhyRf_8188e.c +6 -6
index 1b0e1e7307cd..6e0abaf58791 100644
@@ -279,8 +279,8 @@ odm_TXPowerTrackingCallback_ThermalMeter_8188E(
 
 				/* Adujst OFDM Ant_A according to IQK result */
 				ele_D = (OFDMSwingTable[(u8)OFDM_index[0]] & 0xFFC00000) >> 22;
-				X = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[0].Value[0][0];
-				Y = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[0].Value[0][1];
+				X = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting.Value[0][0];
+				Y = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting.Value[0][1];
 
 				/*  Revse TX power table. */
 				dm_odm->BbSwingIdxOfdm		= (u8)OFDM_index[0];
@@ -314,8 +314,8 @@ odm_TXPowerTrackingCallback_ThermalMeter_8188E(
 					ele_D = (OFDMSwingTable[(u8)OFDM_index[1]] & 0xFFC00000) >> 22;
 
 					/* new element A = element D x X */
-					X = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[0].Value[0][4];
-					Y = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[0].Value[0][5];
+					X = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting.Value[0][4];
+					Y = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting.Value[0][5];
 
 					if ((X != 0) && (*dm_odm->pBandType == ODM_BAND_2_4G)) {
 						if ((X & 0x00000200) != 0)	/* consider minus */
@@ -1182,8 +1182,8 @@ void PHY_IQCalibrate_8188E(struct adapter *adapt, bool recovery)
 /* by sherry 20120321 */
 	if (final_candidate < 4) {
 		for (i = 0; i < IQK_Matrix_REG_NUM; i++)
-			dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[0].Value[0][i] = result[final_candidate][i];
-		dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[0].bIQKDone = true;
+			dm_odm->RFCalibrateInfo.IQKMatrixRegSetting.Value[0][i] = result[final_candidate][i];
+		dm_odm->RFCalibrateInfo.IQKMatrixRegSetting.bIQKDone = true;
 	}
 
 	_PHY_SaveADDARegisters(adapt, IQK_BB_REG_92C, dm_odm->RFCalibrateInfo.IQK_BB_backup_recover, 9);
drivers/staging/r8188eu/include/odm.h +1 -2
index d9041ee576bb..7c8f082930dd 100644
@@ -260,7 +260,6 @@ struct odm_rate_adapt {
 
 #define AVG_THERMAL_NUM		8
 #define IQK_Matrix_REG_NUM	8
-#define IQK_Matrix_Settings_NUM	1+24+21
 
 #define	DM_Type_ByFWi		0
 #define	DM_Type_ByDriver	1
@@ -664,7 +663,7 @@ struct odm_rf_cal {
 
 	u8	ThermalValue_HP[HP_THERMAL_NUM];
 	u8	ThermalValue_HP_index;
-	struct ijk_matrix_regs_set IQKMatrixRegSetting[IQK_Matrix_Settings_NUM];
+	struct ijk_matrix_regs_set IQKMatrixRegSetting;
 
 	u8	Delta_IQK;
 	u8	Delta_LCK;
Signature · 1 line
2.33.0
Acked-by on v1 2/2
#2 lore raw

Re: [PATCH 2/2] staging: r8188eu: refactor field of struct odm_rf_cal

Quoted 71 lines · Michael Straube

Refactor the field IQKMatrixRegSetting of struct odm_rf_cal to be not an array. The driver is for chips that operate in the 2.4 GHz band only. So only the first element of the array is used and there is no need for an array.

---
 drivers/staging/r8188eu/hal/HalPhyRf_8188e.c | 12 ++++++------
 drivers/staging/r8188eu/include/odm.h        |  3 +--
 2 files changed, 7 insertions(+), 8 deletions(-)
drivers/staging/r8188eu/hal/HalPhyRf_8188e.c +6 -6
index 1b0e1e7307cd..6e0abaf58791 100644
@@ -279,8 +279,8 @@ odm_TXPowerTrackingCallback_ThermalMeter_8188E(
 
                                /* Adujst OFDM Ant_A according to IQK result */
                                ele_D = (OFDMSwingTable[(u8)OFDM_index[0]] & 0xFFC00000) >> 22;
-                               X = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[0].Value[0][0];
-                               Y = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[0].Value[0][1];
+                               X = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting.Value[0][0];
+                               Y = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting.Value[0][1];
 
                                /*  Revse TX power table. */
                                dm_odm->BbSwingIdxOfdm          = (u8)OFDM_index[0];
@@ -314,8 +314,8 @@ odm_TXPowerTrackingCallback_ThermalMeter_8188E(
                                        ele_D = (OFDMSwingTable[(u8)OFDM_index[1]] & 0xFFC00000) >> 22;
 
                                        /* new element A = element D x X */
-                                       X = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[0].Value[0][4];
-                                       Y = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[0].Value[0][5];
+                                       X = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting.Value[0][4];
+                                       Y = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting.Value[0][5];
 
                                        if ((X != 0) && (*dm_odm->pBandType == ODM_BAND_2_4G)) {
                                                if ((X & 0x00000200) != 0)      /* consider minus */
@@ -1182,8 +1182,8 @@ void PHY_IQCalibrate_8188E(struct adapter *adapt, bool recovery)
 /* by sherry 20120321 */
        if (final_candidate < 4) {
                for (i = 0; i < IQK_Matrix_REG_NUM; i++)
-                       dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[0].Value[0][i] = result[final_candidate][i];
-               dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[0].bIQKDone = true;
+                       dm_odm->RFCalibrateInfo.IQKMatrixRegSetting.Value[0][i] = result[final_candidate][i];
+               dm_odm->RFCalibrateInfo.IQKMatrixRegSetting.bIQKDone = true;
        }
 
        _PHY_SaveADDARegisters(adapt, IQK_BB_REG_92C, dm_odm->RFCalibrateInfo.IQK_BB_backup_recover, 9);
drivers/staging/r8188eu/include/odm.h +1 -3
index d9041ee576bb..7c8f082930dd 100644
@@ -260,7 +260,6 @@ struct odm_rate_adapt {
 
 #define AVG_THERMAL_NUM                8
 #define IQK_Matrix_REG_NUM     8
-#define IQK_Matrix_Settings_NUM        1+24+21
 
 #define        DM_Type_ByFWi           0
 #define        DM_Type_ByDriver        1
@@ -664,7 +663,7 @@ struct odm_rf_cal {
 
        u8      ThermalValue_HP[HP_THERMAL_NUM];
        u8      ThermalValue_HP_index;
-       struct ijk_matrix_regs_set IQKMatrixRegSetting[IQK_Matrix_Settings_NUM];
+       struct ijk_matrix_regs_set IQKMatrixRegSetting;
 
        u8      Delta_IQK;
        u8      Delta_LCK;
--
Quoted 2 lines

2.33.0

Regards,
Phil

Acked-by on v1 1/2
#3 lore raw
In reply to Michael Straube
Quoted 45 lines · Michael Straube

The local variable Indexforchannel in function odm_TXPowerTrackingCallback_ThermalMeter_8188E() is initilaized to 0 and never changed. Remove the variable and replace its usage with 0.

---
 drivers/staging/r8188eu/hal/HalPhyRf_8188e.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)
drivers/staging/r8188eu/hal/HalPhyRf_8188e.c +4 -6
index 356885e27edd..1b0e1e7307cd 100644
@@ -110,7 +110,6 @@ odm_TXPowerTrackingCallback_ThermalMeter_8188E(
        bool is2t = false;
 
        u8 OFDM_min_index = 6, rf; /* OFDM BB Swing should be less than +3.0dB, which is required by Arthur */
-       u8 Indexforchannel = 0/*GetRightChnlPlaceforIQK(pHalData->CurrentChannel)*/;
        s8 OFDM_index_mapping[2][index_mapping_NUM_88E] = {
                {0, 0, 2, 3, 4, 4,              /* 2.4G, decrease power */
                5, 6, 7, 7, 8, 9,
@@ -280,8 +279,8 @@ odm_TXPowerTrackingCallback_ThermalMeter_8188E(
 
                                /* Adujst OFDM Ant_A according to IQK result */
                                ele_D = (OFDMSwingTable[(u8)OFDM_index[0]] & 0xFFC00000) >> 22;
-                               X = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[Indexforchannel].Value[0][0];
-                               Y = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[Indexforchannel].Value[0][1];
+                               X = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[0].Value[0][0];
+                               Y = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[0].Value[0][1];
 
                                /*  Revse TX power table. */
                                dm_odm->BbSwingIdxOfdm          = (u8)OFDM_index[0];
@@ -315,8 +314,8 @@ odm_TXPowerTrackingCallback_ThermalMeter_8188E(
                                        ele_D = (OFDMSwingTable[(u8)OFDM_index[1]] & 0xFFC00000) >> 22;
 
                                        /* new element A = element D x X */
-                                       X = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[Indexforchannel].Value[0][4];
-                                       Y = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[Indexforchannel].Value[0][5];
+                                       X = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[0].Value[0][4];
+                                       Y = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[0].Value[0][5];
 
                                        if ((X != 0) && (*dm_odm->pBandType == ODM_BAND_2_4G)) {
                                                if ((X & 0x00000200) != 0)      /* consider minus */
--
Quoted 2 lines

2.33.0

Regards,
Phil