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

Commit 1d22b177 authored by Ping-Ke Shih's avatar Ping-Ke Shih Committed by Kalle Valo
Browse files

rtlwifi: Add bw_update parameter for RA mask update.



- Add new parameter "is_bw_update" to control if current bandwidth setting
  is updated to FW RA.
- After this commit, we keep the same setting as before.
- Later, bandwidth update in watchdog is changed to false for 8822BE.

Signed-off-by: default avatarTsang-Shian Lin <thlin@realtek.com>
Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
Cc: Yan-Hsuan Chuang <yhchuang@realtek.com>
Cc: Birming Chiu <birming@realtek.com>
Cc: Shaofu <shaofu@realtek.com>
Cc: Steven Ting <steventing@realtek.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent aa59a1e7
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2286,7 +2286,7 @@ int rtl_send_smps_action(struct ieee80211_hw *hw,
		struct rtl_sta_info *sta_entry =
			(struct rtl_sta_info *) sta->drv_priv;
		sta_entry->mimo_ps = smps;
		/* rtlpriv->cfg->ops->update_rate_tbl(hw, sta, 0); */
		/* rtlpriv->cfg->ops->update_rate_tbl(hw, sta, 0, true); */

		info->control.rates[0].idx = 0;
		info->band = hw->conf.chandef.chan->band;
+3 −2
Original line number Diff line number Diff line
@@ -946,7 +946,7 @@ static int rtl_op_sta_add(struct ieee80211_hw *hw,
		memcpy(sta_entry->mac_addr, sta->addr, ETH_ALEN);
		RT_TRACE(rtlpriv, COMP_MAC80211, DBG_DMESG,
			"Add sta addr is %pM\n", sta->addr);
		rtlpriv->cfg->ops->update_rate_tbl(hw, sta, 0);
		rtlpriv->cfg->ops->update_rate_tbl(hw, sta, 0, true);
	}

	return 0;
@@ -1152,7 +1152,8 @@ static void rtl_op_bss_info_changed(struct ieee80211_hw *hw,
			}

			if (vif->type == NL80211_IFTYPE_STATION)
				rtlpriv->cfg->ops->update_rate_tbl(hw, sta, 0);
				rtlpriv->cfg->ops->update_rate_tbl(hw, sta, 0,
								   true);
			rcu_read_unlock();

			/* to avoid AP Disassociation caused by inactivity */
+2 −1
Original line number Diff line number Diff line
@@ -1221,7 +1221,8 @@ static void rtl88e_dm_refresh_rate_adaptive_mask(struct ieee80211_hw *hw)
			sta = rtl_find_sta(hw, mac->bssid);
			if (sta)
				rtlpriv->cfg->ops->update_rate_tbl(hw, sta,
								   p_ra->ratr_state);
							p_ra->ratr_state,
								   true);
			rcu_read_unlock();

			p_ra->pre_ratr_state = p_ra->ratr_state;
+3 −3
Original line number Diff line number Diff line
@@ -2077,7 +2077,7 @@ static void rtl88ee_update_hal_rate_table(struct ieee80211_hw *hw,
}

static void rtl88ee_update_hal_rate_mask(struct ieee80211_hw *hw,
		struct ieee80211_sta *sta, u8 rssi_level)
		struct ieee80211_sta *sta, u8 rssi_level, bool update_bw)
{
	struct rtl_priv *rtlpriv = rtl_priv(hw);
	struct rtl_phy *rtlphy = &(rtlpriv->phy);
@@ -2208,12 +2208,12 @@ static void rtl88ee_update_hal_rate_mask(struct ieee80211_hw *hw,
}

void rtl88ee_update_hal_rate_tbl(struct ieee80211_hw *hw,
		struct ieee80211_sta *sta, u8 rssi_level)
		struct ieee80211_sta *sta, u8 rssi_level, bool update_bw)
{
	struct rtl_priv *rtlpriv = rtl_priv(hw);

	if (rtlpriv->dm.useramask)
		rtl88ee_update_hal_rate_mask(hw, sta, rssi_level);
		rtl88ee_update_hal_rate_mask(hw, sta, rssi_level, update_bw);
	else
		rtl88ee_update_hal_rate_table(hw, sta);
}
+2 −1
Original line number Diff line number Diff line
@@ -43,7 +43,8 @@ void rtl88ee_update_interrupt_mask(struct ieee80211_hw *hw,
				   u32 add_msr, u32 rm_msr);
void rtl88ee_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val);
void rtl88ee_update_hal_rate_tbl(struct ieee80211_hw *hw,
				 struct ieee80211_sta *sta, u8 rssi_level);
				 struct ieee80211_sta *sta, u8 rssi_level,
				 bool update_bw);
void rtl88ee_update_channel_access_setting(struct ieee80211_hw *hw);
bool rtl88ee_gpio_radio_on_off_checking(struct ieee80211_hw *hw, u8 *valid);
void rtl88ee_enable_hw_security_config(struct ieee80211_hw *hw);
Loading