mirror of
https://github.com/RinCat/RTL88x2BU-Linux-Driver.git
synced 2026-01-19 10:26:35 +00:00
Update to 5.6.1.5
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -20,17 +20,17 @@
|
||||
|
||||
#ifdef LOAD_FW_HEADER_FROM_DRIVER
|
||||
#if (defined(CONFIG_AP_WOWLAN) || (DM_ODM_SUPPORT_TYPE & (ODM_AP)))
|
||||
extern u8 array_mp_8822b_fw_ap[104720];
|
||||
extern u8 array_mp_8822b_fw_ap[104872];
|
||||
extern u32 array_length_mp_8822b_fw_ap;
|
||||
#endif
|
||||
|
||||
#if (DM_ODM_SUPPORT_TYPE & (ODM_WIN)) || (DM_ODM_SUPPORT_TYPE & (ODM_CE))
|
||||
extern u8 array_mp_8822b_fw_hybrid[173880];
|
||||
extern u8 array_mp_8822b_fw_hybrid[174352];
|
||||
extern u32 array_length_mp_8822b_fw_hybrid;
|
||||
extern u8 array_mp_8822b_fw_nic[153152];
|
||||
extern u8 array_mp_8822b_fw_nic[153424];
|
||||
extern u32 array_length_mp_8822b_fw_nic;
|
||||
#ifdef CONFIG_WOWLAN
|
||||
extern u8 array_mp_8822b_fw_wowlan[84448];
|
||||
extern u8 array_mp_8822b_fw_wowlan[85064];
|
||||
extern u32 array_length_mp_8822b_fw_wowlan;
|
||||
#endif /*CONFIG_WOWLAN*/
|
||||
#endif
|
||||
|
||||
@@ -65,6 +65,7 @@ enum rx_rpt_type {
|
||||
HT_MPDU_OK,
|
||||
HT_MPDU_FAIL,
|
||||
HT_PPDU,
|
||||
HT_FALSE_ALARM,
|
||||
RX_FULL_DROP, /* 10 */
|
||||
FWFF_FULL_DROP,
|
||||
VHT_SU_MPDU_OK = 16, /* 16 */
|
||||
|
||||
@@ -661,6 +661,7 @@ void rtl8822b_c2h_handler_no_io(PADAPTER adapter, u8 *pbuf, u16 length)
|
||||
case C2H_IQK_FINISH:
|
||||
case C2H_MCC:
|
||||
case C2H_BCN_EARLY_RPT:
|
||||
case C2H_LPS_STATUS_RPT:
|
||||
case C2H_EXTEND:
|
||||
/* no I/O, process directly */
|
||||
#ifdef CONFIG_LPS_PWR_TRACKING
|
||||
|
||||
@@ -1567,6 +1567,21 @@ static void hw_var_set_mlme_sitesurvey(PADAPTER adapter, u8 enable)
|
||||
}
|
||||
}
|
||||
|
||||
static void clear_macid_drop(struct _ADAPTER *a)
|
||||
{
|
||||
u16 offset;
|
||||
u32 drop;
|
||||
u8 i;
|
||||
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
offset = REG_MACID_DROP0_8822B + (i * 4);
|
||||
drop = rtw_read32(a, offset);
|
||||
if (drop)
|
||||
rtw_write32(a, offset, 0);
|
||||
}
|
||||
}
|
||||
|
||||
static void hw_var_set_mlme_join(PADAPTER adapter, u8 type)
|
||||
{
|
||||
u8 val8;
|
||||
@@ -1681,6 +1696,10 @@ static void hw_var_set_mlme_join(PADAPTER adapter, u8 type)
|
||||
val16 = BIT_LRL_8822B(RetryLimit) | BIT_SRL_8822B(RetryLimit);
|
||||
rtw_write16(adapter, REG_RETRY_LIMIT_8822B, val16);
|
||||
#endif /* !CONFIG_CONCURRENT_MODE */
|
||||
|
||||
if (type == 0)
|
||||
/* Clear macid drop to avoid lost data frame */
|
||||
clear_macid_drop(adapter);
|
||||
}
|
||||
|
||||
static void hw_var_set_acm_ctrl(PADAPTER adapter, u8 ctrl)
|
||||
|
||||
@@ -529,6 +529,9 @@ void rtl8822b_phy_haldm_watchdog(PADAPTER adapter)
|
||||
struct pwrctrl_priv *pwrpriv = adapter_to_pwrctl(adapter);
|
||||
u8 lps_changed = _FALSE;
|
||||
u8 in_lps = _FALSE;
|
||||
PADAPTER current_lps_iface = NULL, iface = NULL;
|
||||
struct dvobj_priv *dvobj = adapter_to_dvobj(adapter);
|
||||
u8 i = 0;
|
||||
|
||||
#ifdef CONFIG_MP_INCLUDED
|
||||
/* for MP power tracking */
|
||||
@@ -570,9 +573,16 @@ void rtl8822b_phy_haldm_watchdog(PADAPTER adapter)
|
||||
|
||||
#ifdef CONFIG_LPS
|
||||
if (pwrpriv->bLeisurePs && bFwCurrentInPSMode && pwrpriv->pwr_mode != PS_MODE_ACTIVE) {
|
||||
|
||||
for (i = 0; i < dvobj->iface_nums; i++) {
|
||||
iface = dvobj->padapters[i];
|
||||
if (pwrpriv->current_lps_hw_port_id == rtw_hal_get_port(iface))
|
||||
current_lps_iface = iface;
|
||||
}
|
||||
|
||||
lps_changed = _TRUE;
|
||||
in_lps = _TRUE;
|
||||
LPS_Leave(adapter, "LPS_CTRL_PHYDM");
|
||||
LPS_Leave(current_lps_iface, "LPS_CTRL_PHYDM");
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -580,7 +590,7 @@ void rtl8822b_phy_haldm_watchdog(PADAPTER adapter)
|
||||
|
||||
#ifdef CONFIG_LPS
|
||||
if (lps_changed)
|
||||
LPS_Enter(adapter, "LPS_CTRL_PHYDM");
|
||||
LPS_Enter(current_lps_iface, "LPS_CTRL_PHYDM");
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user