]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: rtw89: switch to using FIELD_GET_SIGNED()
authorYury Norov <ynorov@nvidia.com>
Mon, 27 Apr 2026 21:41:24 +0000 (17:41 -0400)
committerYury Norov <ynorov@nvidia.com>
Wed, 20 May 2026 15:18:27 +0000 (11:18 -0400)
Switch from sign_extend32(FIELD_GET()) to the dedicated
FIELD_GET_SIGNED() and don't calculate the fields length explicitly.

Acked-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Yury Norov <ynorov@nvidia.com>
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
drivers/net/wireless/realtek/rtw89/rtw8852c.c

index 4633994133185e04c1c89ab56c01c1bffe49186b..8679b21fd3fd77e997061c1e8ba02755394e4b90 100644 (file)
@@ -334,8 +334,8 @@ static void _check_addc(struct rtw89_dev *rtwdev, enum rtw89_rf_path path)
 
        for (i = 0; i < ADDC_T_AVG; i++) {
                tmp = rtw89_phy_read32_mask(rtwdev, R_DBG32_D, MASKDWORD);
-               dc_re += sign_extend32(FIELD_GET(0xfff000, tmp), 11);
-               dc_im += sign_extend32(FIELD_GET(0xfff, tmp), 11);
+               dc_re += FIELD_GET_SIGNED(0xfff000, tmp);
+               dc_im += FIELD_GET_SIGNED(0xfff, tmp);
        }
 
        dc_re /= ADDC_T_AVG;
index 65b839323e3e3157082da5527ac6d5cdc3aba1ea..df5fbae50ff5507e728042e078e20ace2f2f0af2 100644 (file)
@@ -206,9 +206,9 @@ static void rtw8852bx_efuse_parsing_tssi(struct rtw89_dev *rtwdev,
 static bool _decode_efuse_gain(u8 data, s8 *high, s8 *low)
 {
        if (high)
-               *high = sign_extend32(FIELD_GET(GENMASK(7,  4), data), 3);
+               *high = FIELD_GET_SIGNED(GENMASK(7,  4), data);
        if (low)
-               *low = sign_extend32(FIELD_GET(GENMASK(3,  0), data), 3);
+               *low = FIELD_GET_SIGNED(GENMASK(3,  0), data);
 
        return data != 0xff;
 }
index 70b1515c00fa58a1f7d2f3c0d3e87cffae1e31ad..8db6ea475128978d15758b1bf913c50946e25706 100644 (file)
@@ -497,8 +497,8 @@ static void _check_addc(struct rtw89_dev *rtwdev, enum rtw89_rf_path path)
 
        for (i = 0; i < ADDC_T_AVG; i++) {
                tmp = rtw89_phy_read32_mask(rtwdev, R_DBG32_D, MASKDWORD);
-               dc_re += sign_extend32(FIELD_GET(0xfff000, tmp), 11);
-               dc_im += sign_extend32(FIELD_GET(0xfff, tmp), 11);
+               dc_re += FIELD_GET_SIGNED(0xfff000, tmp);
+               dc_im += FIELD_GET_SIGNED(0xfff, tmp);
        }
 
        dc_re /= ADDC_T_AVG;
index 40db7e3c0d9740fa8bbfa2ee15e9d44cd18e8e77..32eecd184b7c7ac2a631ef10889ee0a8f32b0e37 100644 (file)
@@ -517,9 +517,9 @@ static void rtw8852c_efuse_parsing_tssi(struct rtw89_dev *rtwdev,
 static bool _decode_efuse_gain(u8 data, s8 *high, s8 *low)
 {
        if (high)
-               *high = sign_extend32(FIELD_GET(GENMASK(7,  4), data), 3);
+               *high = FIELD_GET_SIGNED(GENMASK(7, 4), data);
        if (low)
-               *low = sign_extend32(FIELD_GET(GENMASK(3,  0), data), 3);
+               *low = FIELD_GET_SIGNED(GENMASK(3, 0), data);
 
        return data != 0xff;
 }