diff mbox series

[1/2] wifi: rtlwifi: remove dead code in phy_get_tx_swing_8812A()

Message ID 20231101113510.51290-1-dmantipov@yandex.ru (mailing list archive)
State Changes Requested
Delegated to: Kalle Valo
Headers show
Series [1/2] wifi: rtlwifi: remove dead code in phy_get_tx_swing_8812A() | expand

Commit Message

Dmitry Antipov Nov. 1, 2023, 11:35 a.m. UTC
Since 'reg_swing_2g', 'swing_2g', 'reg_swing_5g', and 'swing_5g'
are compile-time constants, mark all of them as such and remove
never executed blocks in 'phy_get_tx_swing_8812A()'. Minor style
adjustments, compile tested only.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
---
 .../wireless/realtek/rtlwifi/rtl8821ae/phy.c  | 77 ++++---------------
 1 file changed, 16 insertions(+), 61 deletions(-)

Comments

Ping-Ke Shih Nov. 6, 2023, 3:37 a.m. UTC | #1
> -----Original Message-----
> From: Dmitry Antipov <dmantipov@yandex.ru>
> Sent: Wednesday, November 1, 2023 7:35 PM
> To: Ping-Ke Shih <pkshih@realtek.com>
> Cc: Kalle Valo <kvalo@kernel.org>; linux-wireless@vger.kernel.org; lvc-project@linuxtesting.org; Dmitry
> Antipov <dmantipov@yandex.ru>
> Subject: [PATCH 1/2] wifi: rtlwifi: remove dead code in phy_get_tx_swing_8812A()
> 
> Since 'reg_swing_2g', 'swing_2g', 'reg_swing_5g', and 'swing_5g'
> are compile-time constants, mark all of them as such and remove
> never executed blocks in 'phy_get_tx_swing_8812A()'. Minor style
> adjustments, compile tested only.
> 
> Found by Linux Verification Center (linuxtesting.org) with SVACE.
> 
> Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
> ---
>  .../wireless/realtek/rtlwifi/rtl8821ae/phy.c  | 77 ++++---------------
>  1 file changed, 16 insertions(+), 61 deletions(-)
> 
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
> b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
> index 5323ead30db0..c262770fea29 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
> @@ -437,12 +437,11 @@ u32 phy_get_tx_swing_8812A(struct ieee80211_hw *hw, u8    band,
>         struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw));
>         struct rtl_dm *rtldm = rtl_dm(rtlpriv);
>         struct rtl_efuse *rtlefuse = rtl_efuse(rtl_priv(hw));
> -       s8 reg_swing_2g = -1;/* 0xff; */
> -       s8 reg_swing_5g = -1;/* 0xff; */
> -       s8 swing_2g = -1 * reg_swing_2g;
> -       s8 swing_5g = -1 * reg_swing_5g;
> -       u32  out = 0x200;
> -       const s8 auto_temp = -1;
> +       const s8 reg_swing_2g = -1; /* 0xff; */
> +       const s8 reg_swing_5g = -1; /* 0xff; */

Looks like these two can be removed, but I don't really understand what it
wants originally.

> +       const s8 swing_2g = -1 * reg_swing_2g;
> +       const s8 swing_5g = -1 * reg_swing_5g;
> +       u32 out = 0x200;
> 
>         rtl_dbg(rtlpriv, COMP_SCAN, DBG_LOUD,
>                 "===> PHY_GetTXBBSwing_8812A, bbSwing_2G: %d, bbSwing_5G: %d,autoload_failflag=%d.\n",
> @@ -452,36 +451,16 @@ u32 phy_get_tx_swing_8812A(struct ieee80211_hw *hw, u8    band,
>         if (rtlefuse->autoload_failflag) {
>                 if (band == BAND_ON_2_4G) {
>                         rtldm->swing_diff_2g = swing_2g;
> -                       if (swing_2g == 0) {
> -                               out = 0x200; /* 0 dB */
> -                       } else if (swing_2g == -3) {
> -                               out = 0x16A; /* -3 dB */
> -                       } else if (swing_2g == -6) {
> -                               out = 0x101; /* -6 dB */
> -                       } else if (swing_2g == -9) {
> -                               out = 0x0B6; /* -9 dB */
> -                       } else {
> -                               rtldm->swing_diff_2g = 0;
> -                               out = 0x200;
> -                       }
> +                       rtldm->swing_diff_2g = 0;
> +                       out = 0x200;

This branch becomes duplicate assignments of swing_diff_2g. 
    rtldm->swing_diff_2g = swing_2g;
    rtldm->swing_diff_2g = 0;
    out = 0x200;

The original branch chunk might be debug purpose, so maybe add a debugfs entry as
the input of 'swing_2g'. Or, that is used by some boards that don't programmed efuse
but read 'swing_2g' from external file.


It is hard to me to decide if we should take this cleanup.

Ping-Ke
diff mbox series

Patch

diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
index 5323ead30db0..c262770fea29 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
@@ -437,12 +437,11 @@  u32 phy_get_tx_swing_8812A(struct ieee80211_hw *hw, u8	band,
 	struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw));
 	struct rtl_dm *rtldm = rtl_dm(rtlpriv);
 	struct rtl_efuse *rtlefuse = rtl_efuse(rtl_priv(hw));
-	s8 reg_swing_2g = -1;/* 0xff; */
-	s8 reg_swing_5g = -1;/* 0xff; */
-	s8 swing_2g = -1 * reg_swing_2g;
-	s8 swing_5g = -1 * reg_swing_5g;
-	u32  out = 0x200;
-	const s8 auto_temp = -1;
+	const s8 reg_swing_2g = -1; /* 0xff; */
+	const s8 reg_swing_5g = -1; /* 0xff; */
+	const s8 swing_2g = -1 * reg_swing_2g;
+	const s8 swing_5g = -1 * reg_swing_5g;
+	u32 out = 0x200;
 
 	rtl_dbg(rtlpriv, COMP_SCAN, DBG_LOUD,
 		"===> PHY_GetTXBBSwing_8812A, bbSwing_2G: %d, bbSwing_5G: %d,autoload_failflag=%d.\n",
@@ -452,36 +451,16 @@  u32 phy_get_tx_swing_8812A(struct ieee80211_hw *hw, u8	band,
 	if (rtlefuse->autoload_failflag) {
 		if (band == BAND_ON_2_4G) {
 			rtldm->swing_diff_2g = swing_2g;
-			if (swing_2g == 0) {
-				out = 0x200; /* 0 dB */
-			} else if (swing_2g == -3) {
-				out = 0x16A; /* -3 dB */
-			} else if (swing_2g == -6) {
-				out = 0x101; /* -6 dB */
-			} else if (swing_2g == -9) {
-				out = 0x0B6; /* -9 dB */
-			} else {
-				rtldm->swing_diff_2g = 0;
-				out = 0x200;
-			}
+			rtldm->swing_diff_2g = 0;
+			out = 0x200;
 		} else if (band == BAND_ON_5G) {
 			rtldm->swing_diff_5g = swing_5g;
-			if (swing_5g == 0) {
-				out = 0x200; /* 0 dB */
-			} else if (swing_5g == -3) {
-				out = 0x16A; /* -3 dB */
-			} else if (swing_5g == -6) {
-				out = 0x101; /* -6 dB */
-			} else if (swing_5g == -9) {
-				out = 0x0B6; /* -9 dB */
+			if (rtlhal->hw_type == HARDWARE_TYPE_RTL8821AE) {
+				rtldm->swing_diff_5g = -3;
+				out = 0x16A;
 			} else {
-				if (rtlhal->hw_type == HARDWARE_TYPE_RTL8821AE) {
-					rtldm->swing_diff_5g = -3;
-					out = 0x16A;
-				} else {
-					rtldm->swing_diff_5g = 0;
-					out = 0x200;
-				}
+				rtldm->swing_diff_5g = 0;
+				out = 0x200;
 			}
 		} else {
 			rtldm->swing_diff_2g = -3;
@@ -492,35 +471,11 @@  u32 phy_get_tx_swing_8812A(struct ieee80211_hw *hw, u8	band,
 		u32 swing = 0, swing_a = 0, swing_b = 0;
 
 		if (band == BAND_ON_2_4G) {
-			if (reg_swing_2g == auto_temp) {
-				efuse_shadow_read(hw, 1, 0xC6, (u32 *)&swing);
-				swing = (swing == 0xFF) ? 0x00 : swing;
-			} else if (swing_2g ==  0) {
-				swing = 0x00; /* 0 dB */
-			} else if (swing_2g == -3) {
-				swing = 0x05; /* -3 dB */
-			} else if (swing_2g == -6) {
-				swing = 0x0A; /* -6 dB */
-			} else if (swing_2g == -9) {
-				swing = 0xFF; /* -9 dB */
-			} else {
-				swing = 0x00;
-			}
+			efuse_shadow_read(hw, 1, 0xC6, (u32 *)&swing);
+			swing = (swing == 0xFF) ? 0x00 : swing;
 		} else {
-			if (reg_swing_5g == auto_temp) {
-				efuse_shadow_read(hw, 1, 0xC7, (u32 *)&swing);
-				swing = (swing == 0xFF) ? 0x00 : swing;
-			} else if (swing_5g ==  0) {
-				swing = 0x00; /* 0 dB */
-			} else if (swing_5g == -3) {
-				swing = 0x05; /* -3 dB */
-			} else if (swing_5g == -6) {
-				swing = 0x0A; /* -6 dB */
-			} else if (swing_5g == -9) {
-				swing = 0xFF; /* -9 dB */
-			} else {
-				swing = 0x00;
-			}
+			efuse_shadow_read(hw, 1, 0xC7, (u32 *)&swing);
+			swing = (swing == 0xFF) ? 0x00 : swing;
 		}
 
 		swing_a = (swing & 0x3) >> 0; /* 0xC6/C7[1:0] */