Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4838d166 authored by Su Hui's avatar Su Hui Committed by Greg Kroah-Hartman
Browse files

wifi: rtlwifi: rtl8192de: using calculate_bit_shift()



[ Upstream commit b8b2baad2e652042cf8b6339939ac2f4e6f53de4 ]

Using calculate_bit_shift() to replace _rtl92d_phy_calculate_bit_shift().
And fix the undefined bitwise shift behavior problem.

Fixes: 7274a8c2 ("rtlwifi: rtl8192de: Merge phy routines")
Signed-off-by: default avatarSu Hui <suhui@nfschina.com>
Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20231219065739.1895666-8-suhui@nfschina.com


Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent e15fcb19
Loading
Loading
Loading
Loading
+4 −11
Original line number Diff line number Diff line
@@ -169,13 +169,6 @@ static const u8 channel_all[59] = {
	157, 159, 161, 163, 165
};

static u32 _rtl92d_phy_calculate_bit_shift(u32 bitmask)
{
	u32 i = ffs(bitmask);

	return i ? i - 1 : 32;
}

u32 rtl92d_phy_query_bb_reg(struct ieee80211_hw *hw, u32 regaddr, u32 bitmask)
{
	struct rtl_priv *rtlpriv = rtl_priv(hw);
@@ -198,7 +191,7 @@ u32 rtl92d_phy_query_bb_reg(struct ieee80211_hw *hw, u32 regaddr, u32 bitmask)
	} else {
		originalvalue = rtl_read_dword(rtlpriv, regaddr);
	}
	bitshift = _rtl92d_phy_calculate_bit_shift(bitmask);
	bitshift = calculate_bit_shift(bitmask);
	returnvalue = (originalvalue & bitmask) >> bitshift;
	RT_TRACE(rtlpriv, COMP_RF, DBG_TRACE,
		 "BBR MASK=0x%x Addr[0x%x]=0x%x\n",
@@ -230,7 +223,7 @@ void rtl92d_phy_set_bb_reg(struct ieee80211_hw *hw,
					dbi_direct);
		else
			originalvalue = rtl_read_dword(rtlpriv, regaddr);
		bitshift = _rtl92d_phy_calculate_bit_shift(bitmask);
		bitshift = calculate_bit_shift(bitmask);
		data = ((originalvalue & (~bitmask)) | (data << bitshift));
	}
	if (rtlhal->during_mac1init_radioa || rtlhal->during_mac0init_radiob)
@@ -318,7 +311,7 @@ u32 rtl92d_phy_query_rf_reg(struct ieee80211_hw *hw,
		 regaddr, rfpath, bitmask);
	spin_lock_irqsave(&rtlpriv->locks.rf_lock, flags);
	original_value = _rtl92d_phy_rf_serial_read(hw, rfpath, regaddr);
	bitshift = _rtl92d_phy_calculate_bit_shift(bitmask);
	bitshift = calculate_bit_shift(bitmask);
	readback_value = (original_value & bitmask) >> bitshift;
	spin_unlock_irqrestore(&rtlpriv->locks.rf_lock, flags);
	RT_TRACE(rtlpriv, COMP_RF, DBG_TRACE,
@@ -345,7 +338,7 @@ void rtl92d_phy_set_rf_reg(struct ieee80211_hw *hw, enum radio_path rfpath,
		if (bitmask != RFREG_OFFSET_MASK) {
			original_value = _rtl92d_phy_rf_serial_read(hw,
				rfpath, regaddr);
			bitshift = _rtl92d_phy_calculate_bit_shift(bitmask);
			bitshift = calculate_bit_shift(bitmask);
			data = ((original_value & (~bitmask)) |
				(data << bitshift));
		}