mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 11:50:43 +09:00
net: wireless: rtl8723ds: fixed some issues
1. fix disconnection during suspend/resume 2. fix unable to wake during suspend Change-Id: I3e1d535e7cee536a253446dc482d85f54a612323 Signed-off-by: Yao Xiao <xiaoyao@rock-chips.com>
This commit is contained in:
@@ -4451,6 +4451,11 @@ static u8 rtw_hal_set_wowlan_ctrl_cmd(_adapter *adapter, u8 enable, u8 change_un
|
||||
gpio_pulse_cnt = 0x04;
|
||||
}
|
||||
#endif
|
||||
if (enable) {
|
||||
RTW_INFO("gpio_pulse_en\n");
|
||||
gpio_pulse_en = 1;
|
||||
gpio_pulse_cnt = 0x04;
|
||||
}
|
||||
|
||||
SET_H2CCMD_WOWLAN_FUNC_ENABLE(u1H2CWoWlanCtrlParm, enable);
|
||||
SET_H2CCMD_WOWLAN_PATTERN_MATCH_ENABLE(u1H2CWoWlanCtrlParm, enable);
|
||||
|
||||
@@ -1645,6 +1645,7 @@ u8 SetHwReg8723DS(PADAPTER padapter, u8 variable, u8 *val)
|
||||
} else if (enable == _FALSE) {
|
||||
RTW_INFO("%s: keep WLAN ctrl\n", __func__);
|
||||
}
|
||||
// 0x66[4,8]=0
|
||||
/*0x66 bit4*/
|
||||
value = rtw_read8(padapter, REG_PAD_CTRL_1 + 2);
|
||||
if (enable && (value & BIT(4))) {
|
||||
@@ -1664,7 +1665,15 @@ u8 SetHwReg8723DS(PADAPTER padapter, u8 variable, u8 *val)
|
||||
value |= BIT(0);
|
||||
rtw_write8(padapter, REG_PAD_CTRL_1 + 3, value);
|
||||
}
|
||||
RTW_INFO("%s: HW_SET_GPIO_WL_CTRL\n", __func__);
|
||||
// 0x40[1:0] = 0 0x40[3] = 0
|
||||
rtw_write32(padapter, 0x40, rtw_read32(padapter, 0x40) & 0xFFFFFFF4);
|
||||
//0x44[30] = 0
|
||||
rtw_write32(padapter, 0x44, rtw_read32(padapter, 0x44) & ~BIT(30));
|
||||
//0x64[27]=0
|
||||
rtw_write32(padapter, 0x64, rtw_read32(padapter, 0x64) & ~BIT(27));
|
||||
//0x70[18]=0
|
||||
rtw_write32(padapter, 0x70, rtw_read32(padapter, 0x70) & ~BIT(18));
|
||||
RTW_INFO("%s: HW_SET_GPIO_WL_CTRL pinmux\n", __func__);
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
|
||||
@@ -4092,7 +4092,8 @@ int rtw_suspend_wow(_adapter *padapter)
|
||||
else {
|
||||
if (!(pwrpriv->wowlan_dis_lps)) {
|
||||
rtw_wow_lps_level_decide(padapter, _TRUE);
|
||||
rtw_set_ps_mode(padapter, PS_MODE_MAX, 0, 0, "WOWLAN");
|
||||
RTW_INFO("[WIFIDBG] smart_ps = 2\n");
|
||||
rtw_set_ps_mode(padapter, PS_MODE_MAX, 2, 0, "WOWLAN");
|
||||
}
|
||||
}
|
||||
#endif /* #ifdef CONFIG_LPS */
|
||||
|
||||
Reference in New Issue
Block a user