mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-19 05:58:42 +07:00
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: Tsang-Shian Lin <thlin@realtek.com> Signed-off-by: Larry 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: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
parent
aa59a1e7c6
commit
1d22b17744
@ -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;
|
||||
|
@ -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 */
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -1865,7 +1865,7 @@ static void rtl92ce_update_hal_rate_table(struct ieee80211_hw *hw,
|
||||
}
|
||||
|
||||
static void rtl92ce_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);
|
||||
@ -1995,12 +1995,12 @@ static void rtl92ce_update_hal_rate_mask(struct ieee80211_hw *hw,
|
||||
}
|
||||
|
||||
void rtl92ce_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)
|
||||
rtl92ce_update_hal_rate_mask(hw, sta, rssi_level);
|
||||
rtl92ce_update_hal_rate_mask(hw, sta, rssi_level, update_bw);
|
||||
else
|
||||
rtl92ce_update_hal_rate_table(hw, sta);
|
||||
}
|
||||
|
@ -56,9 +56,8 @@ void rtl92ce_update_interrupt_mask(struct ieee80211_hw *hw,
|
||||
u32 add_msr, u32 rm_msr);
|
||||
void rtl92ce_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val);
|
||||
void rtl92ce_update_hal_rate_tbl(struct ieee80211_hw *hw,
|
||||
struct ieee80211_sta *sta, u8 rssi_level);
|
||||
void rtl92ce_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 rtl92ce_update_channel_access_setting(struct ieee80211_hw *hw);
|
||||
bool rtl92ce_gpio_radio_on_off_checking(struct ieee80211_hw *hw, u8 *valid);
|
||||
void rtl92ce_enable_hw_security_config(struct ieee80211_hw *hw);
|
||||
|
@ -2006,7 +2006,7 @@ static void rtl92cu_update_hal_rate_table(struct ieee80211_hw *hw,
|
||||
|
||||
static void rtl92cu_update_hal_rate_mask(struct ieee80211_hw *hw,
|
||||
struct ieee80211_sta *sta,
|
||||
u8 rssi_level)
|
||||
u8 rssi_level, bool update_bw)
|
||||
{
|
||||
struct rtl_priv *rtlpriv = rtl_priv(hw);
|
||||
struct rtl_phy *rtlphy = &(rtlpriv->phy);
|
||||
@ -2153,12 +2153,12 @@ static void rtl92cu_update_hal_rate_mask(struct ieee80211_hw *hw,
|
||||
|
||||
void rtl92cu_update_hal_rate_tbl(struct ieee80211_hw *hw,
|
||||
struct ieee80211_sta *sta,
|
||||
u8 rssi_level)
|
||||
u8 rssi_level, bool update_bw)
|
||||
{
|
||||
struct rtl_priv *rtlpriv = rtl_priv(hw);
|
||||
|
||||
if (rtlpriv->dm.useramask)
|
||||
rtl92cu_update_hal_rate_mask(hw, sta, rssi_level);
|
||||
rtl92cu_update_hal_rate_mask(hw, sta, rssi_level, update_bw);
|
||||
else
|
||||
rtl92cu_update_hal_rate_table(hw, sta);
|
||||
}
|
||||
|
@ -104,6 +104,6 @@ void rtl92c_fill_h2c_cmd(struct ieee80211_hw *hw,
|
||||
bool rtl92cu_phy_mac_config(struct ieee80211_hw *hw);
|
||||
void rtl92cu_update_hal_rate_tbl(struct ieee80211_hw *hw,
|
||||
struct ieee80211_sta *sta,
|
||||
u8 rssi_level);
|
||||
u8 rssi_level, bool update_bw);
|
||||
|
||||
#endif
|
||||
|
@ -1897,7 +1897,7 @@ static void rtl92de_update_hal_rate_table(struct ieee80211_hw *hw,
|
||||
}
|
||||
|
||||
static void rtl92de_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);
|
||||
@ -2033,12 +2033,12 @@ static void rtl92de_update_hal_rate_mask(struct ieee80211_hw *hw,
|
||||
}
|
||||
|
||||
void rtl92de_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)
|
||||
rtl92de_update_hal_rate_mask(hw, sta, rssi_level);
|
||||
rtl92de_update_hal_rate_mask(hw, sta, rssi_level, update_bw);
|
||||
else
|
||||
rtl92de_update_hal_rate_table(hw, sta);
|
||||
}
|
||||
|
@ -43,7 +43,8 @@ void rtl92de_update_interrupt_mask(struct ieee80211_hw *hw,
|
||||
u32 add_msr, u32 rm_msr);
|
||||
void rtl92de_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val);
|
||||
void rtl92de_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 rtl92de_update_channel_access_setting(struct ieee80211_hw *hw);
|
||||
bool rtl92de_gpio_radio_on_off_checking(struct ieee80211_hw *hw, u8 *valid);
|
||||
void rtl92de_enable_hw_security_config(struct ieee80211_hw *hw);
|
||||
|
@ -1039,7 +1039,8 @@ static void rtl92ee_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;
|
||||
|
@ -2270,7 +2270,7 @@ static u8 _rtl92ee_mrate_idx_to_arfr_id(struct ieee80211_hw *hw, u8 rate_index)
|
||||
|
||||
static void rtl92ee_update_hal_rate_mask(struct ieee80211_hw *hw,
|
||||
struct ieee80211_sta *sta,
|
||||
u8 rssi_level)
|
||||
u8 rssi_level, bool update_bw)
|
||||
{
|
||||
struct rtl_priv *rtlpriv = rtl_priv(hw);
|
||||
struct rtl_phy *rtlphy = &rtlpriv->phy;
|
||||
@ -2389,7 +2389,7 @@ static void rtl92ee_update_hal_rate_mask(struct ieee80211_hw *hw,
|
||||
(ratr_index << 28);
|
||||
rate_mask[0] = macid;
|
||||
rate_mask[1] = ratr_index | (b_shortgi ? 0x80 : 0x00);
|
||||
rate_mask[2] = curtxbw_40mhz;
|
||||
rate_mask[2] = curtxbw_40mhz | ((!update_bw) << 3);
|
||||
rate_mask[3] = (u8)(ratr_bitmap & 0x000000ff);
|
||||
rate_mask[4] = (u8)((ratr_bitmap & 0x0000ff00) >> 8);
|
||||
rate_mask[5] = (u8)((ratr_bitmap & 0x00ff0000) >> 16);
|
||||
@ -2404,12 +2404,13 @@ static void rtl92ee_update_hal_rate_mask(struct ieee80211_hw *hw,
|
||||
}
|
||||
|
||||
void rtl92ee_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)
|
||||
rtl92ee_update_hal_rate_mask(hw, sta, rssi_level);
|
||||
rtl92ee_update_hal_rate_mask(hw, sta, rssi_level, update_bw);
|
||||
}
|
||||
|
||||
void rtl92ee_update_channel_access_setting(struct ieee80211_hw *hw)
|
||||
|
@ -43,7 +43,8 @@ void rtl92ee_update_interrupt_mask(struct ieee80211_hw *hw,
|
||||
u32 add_msr, u32 rm_msr);
|
||||
void rtl92ee_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val);
|
||||
void rtl92ee_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 rtl92ee_update_channel_access_setting(struct ieee80211_hw *hw);
|
||||
bool rtl92ee_gpio_radio_on_off_checking(struct ieee80211_hw *hw, u8 *valid);
|
||||
void rtl92ee_enable_hw_security_config(struct ieee80211_hw *hw);
|
||||
|
@ -295,7 +295,8 @@ static void _rtl92s_dm_refresh_rateadaptive_mask(struct ieee80211_hw *hw)
|
||||
sta = rtl_find_sta(hw, mac->bssid);
|
||||
if (sta)
|
||||
rtlpriv->cfg->ops->update_rate_tbl(hw, sta,
|
||||
ra->ratr_state);
|
||||
ra->ratr_state,
|
||||
true);
|
||||
rcu_read_unlock();
|
||||
|
||||
ra->pre_ratr_state = ra->ratr_state;
|
||||
|
@ -2129,7 +2129,7 @@ static void rtl92se_update_hal_rate_table(struct ieee80211_hw *hw,
|
||||
|
||||
static void rtl92se_update_hal_rate_mask(struct ieee80211_hw *hw,
|
||||
struct ieee80211_sta *sta,
|
||||
u8 rssi_level)
|
||||
u8 rssi_level, bool update_bw)
|
||||
{
|
||||
struct rtl_priv *rtlpriv = rtl_priv(hw);
|
||||
struct rtl_phy *rtlphy = &(rtlpriv->phy);
|
||||
@ -2288,12 +2288,12 @@ static void rtl92se_update_hal_rate_mask(struct ieee80211_hw *hw,
|
||||
}
|
||||
|
||||
void rtl92se_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)
|
||||
rtl92se_update_hal_rate_mask(hw, sta, rssi_level);
|
||||
rtl92se_update_hal_rate_mask(hw, sta, rssi_level, update_bw);
|
||||
else
|
||||
rtl92se_update_hal_rate_table(hw, sta);
|
||||
}
|
||||
|
@ -59,7 +59,7 @@ void rtl92se_update_interrupt_mask(struct ieee80211_hw *hw,
|
||||
void rtl92se_set_hw_reg(struct ieee80211_hw *hw, u8 variable,
|
||||
u8 *val);
|
||||
void rtl92se_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 rtl92se_update_channel_access_setting(struct ieee80211_hw *hw);
|
||||
bool rtl92se_gpio_radio_on_off_checking(struct ieee80211_hw *hw,
|
||||
u8 *valid);
|
||||
|
@ -1943,7 +1943,7 @@ static void rtl8723e_update_hal_rate_table(struct ieee80211_hw *hw,
|
||||
|
||||
static void rtl8723e_update_hal_rate_mask(struct ieee80211_hw *hw,
|
||||
struct ieee80211_sta *sta,
|
||||
u8 rssi_level)
|
||||
u8 rssi_level, bool update_bw)
|
||||
{
|
||||
struct rtl_priv *rtlpriv = rtl_priv(hw);
|
||||
struct rtl_phy *rtlphy = &(rtlpriv->phy);
|
||||
@ -2074,12 +2074,13 @@ static void rtl8723e_update_hal_rate_mask(struct ieee80211_hw *hw,
|
||||
}
|
||||
|
||||
void rtl8723e_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)
|
||||
rtl8723e_update_hal_rate_mask(hw, sta, rssi_level);
|
||||
rtl8723e_update_hal_rate_mask(hw, sta, rssi_level, update_bw);
|
||||
else
|
||||
rtl8723e_update_hal_rate_table(hw, sta);
|
||||
}
|
||||
|
@ -49,7 +49,8 @@ void rtl8723e_update_interrupt_mask(struct ieee80211_hw *hw,
|
||||
u32 add_msr, u32 rm_msr);
|
||||
void rtl8723e_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val);
|
||||
void rtl8723e_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 rtl8723e_update_channel_access_setting(struct ieee80211_hw *hw);
|
||||
bool rtl8723e_gpio_radio_on_off_checking(struct ieee80211_hw *hw, u8 *valid);
|
||||
void rtl8723e_enable_hw_security_config(struct ieee80211_hw *hw);
|
||||
|
@ -984,7 +984,8 @@ static void rtl8723be_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;
|
||||
|
@ -2325,7 +2325,7 @@ static u8 _rtl8723be_mrate_idx_to_arfr_id(struct ieee80211_hw *hw,
|
||||
|
||||
static void rtl8723be_update_hal_rate_mask(struct ieee80211_hw *hw,
|
||||
struct ieee80211_sta *sta,
|
||||
u8 rssi_level)
|
||||
u8 rssi_level, bool update_bw)
|
||||
{
|
||||
struct rtl_priv *rtlpriv = rtl_priv(hw);
|
||||
struct rtl_phy *rtlphy = &(rtlpriv->phy);
|
||||
@ -2441,7 +2441,7 @@ static void rtl8723be_update_hal_rate_mask(struct ieee80211_hw *hw,
|
||||
rate_mask[0] = macid;
|
||||
rate_mask[1] = _rtl8723be_mrate_idx_to_arfr_id(hw, ratr_index) |
|
||||
(shortgi ? 0x80 : 0x00);
|
||||
rate_mask[2] = curtxbw_40mhz;
|
||||
rate_mask[2] = curtxbw_40mhz | ((!update_bw) << 3);
|
||||
|
||||
rate_mask[3] = (u8)(ratr_bitmap & 0x000000ff);
|
||||
rate_mask[4] = (u8)((ratr_bitmap & 0x0000ff00) >> 8);
|
||||
@ -2461,11 +2461,11 @@ static void rtl8723be_update_hal_rate_mask(struct ieee80211_hw *hw,
|
||||
|
||||
void rtl8723be_update_hal_rate_tbl(struct ieee80211_hw *hw,
|
||||
struct ieee80211_sta *sta,
|
||||
u8 rssi_level)
|
||||
u8 rssi_level, bool update_bw)
|
||||
{
|
||||
struct rtl_priv *rtlpriv = rtl_priv(hw);
|
||||
if (rtlpriv->dm.useramask)
|
||||
rtl8723be_update_hal_rate_mask(hw, sta, rssi_level);
|
||||
rtl8723be_update_hal_rate_mask(hw, sta, rssi_level, update_bw);
|
||||
}
|
||||
|
||||
void rtl8723be_update_channel_access_setting(struct ieee80211_hw *hw)
|
||||
|
@ -46,7 +46,7 @@ void rtl8723be_update_interrupt_mask(struct ieee80211_hw *hw,
|
||||
void rtl8723be_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val);
|
||||
void rtl8723be_update_hal_rate_tbl(struct ieee80211_hw *hw,
|
||||
struct ieee80211_sta *sta,
|
||||
u8 rssi_level);
|
||||
u8 rssi_level, bool update_bw);
|
||||
void rtl8723be_update_channel_access_setting(struct ieee80211_hw *hw);
|
||||
bool rtl8723be_gpio_radio_on_off_checking(struct ieee80211_hw *hw, u8 *valid);
|
||||
void rtl8723be_enable_hw_security_config(struct ieee80211_hw *hw);
|
||||
|
@ -2592,7 +2592,7 @@ static void rtl8821ae_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);
|
||||
sta, p_ra->ratr_state, true);
|
||||
rcu_read_unlock();
|
||||
|
||||
p_ra->pre_ratr_state = p_ra->ratr_state;
|
||||
|
@ -3599,7 +3599,7 @@ static bool _rtl8821ae_get_ra_shortgi(struct ieee80211_hw *hw, struct ieee80211_
|
||||
}
|
||||
|
||||
static void rtl8821ae_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;
|
||||
@ -3778,7 +3778,7 @@ static void rtl8821ae_update_hal_rate_mask(struct ieee80211_hw *hw,
|
||||
|
||||
rate_mask[0] = macid;
|
||||
rate_mask[1] = ratr_index | (b_shortgi ? 0x80 : 0x00);
|
||||
rate_mask[2] = rtlphy->current_chan_bw
|
||||
rate_mask[2] = rtlphy->current_chan_bw | ((!update_bw) << 3)
|
||||
| _rtl8821ae_get_vht_eni(wirelessmode, ratr_bitmap)
|
||||
| _rtl8821ae_get_ra_ldpc(hw, macid, sta_entry, wirelessmode);
|
||||
|
||||
@ -3799,11 +3799,11 @@ static void rtl8821ae_update_hal_rate_mask(struct ieee80211_hw *hw,
|
||||
}
|
||||
|
||||
void rtl8821ae_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)
|
||||
rtl8821ae_update_hal_rate_mask(hw, sta, rssi_level);
|
||||
rtl8821ae_update_hal_rate_mask(hw, sta, rssi_level, update_bw);
|
||||
else
|
||||
/*RT_TRACE(rtlpriv, COMP_RATR,DBG_LOUD,
|
||||
"rtl8821ae_update_hal_rate_tbl() Error! 8821ae FW RA Only\n");*/
|
||||
|
@ -46,7 +46,7 @@ void rtl8821ae_update_interrupt_mask(struct ieee80211_hw *hw,
|
||||
void rtl8821ae_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val);
|
||||
void rtl8821ae_update_hal_rate_tbl(struct ieee80211_hw *hw,
|
||||
struct ieee80211_sta *sta,
|
||||
u8 rssi_level);
|
||||
u8 rssi_level, bool update_bw);
|
||||
void rtl8821ae_update_channel_access_setting(struct ieee80211_hw *hw);
|
||||
bool rtl8821ae_gpio_radio_on_off_checking(struct ieee80211_hw *hw, u8 *valid);
|
||||
void rtl8821ae_enable_hw_security_config(struct ieee80211_hw *hw);
|
||||
|
@ -2123,7 +2123,8 @@ struct rtl_hal_ops {
|
||||
void (*get_hw_reg) (struct ieee80211_hw *hw, u8 variable, u8 *val);
|
||||
void (*set_hw_reg) (struct ieee80211_hw *hw, u8 variable, u8 *val);
|
||||
void (*update_rate_tbl) (struct ieee80211_hw *hw,
|
||||
struct ieee80211_sta *sta, u8 rssi_level);
|
||||
struct ieee80211_sta *sta, u8 rssi_leve,
|
||||
bool update_bw);
|
||||
void (*pre_fill_tx_bd_desc)(struct ieee80211_hw *hw, u8 *tx_bd_desc,
|
||||
u8 *desc, u8 queue_index,
|
||||
struct sk_buff *skb, dma_addr_t addr);
|
||||
|
Loading…
Reference in New Issue
Block a user