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:
Yao Xiao
2018-09-25 11:34:28 +08:00
committed by Tao Huang
parent aa8bacf821
commit f167118953
3 changed files with 17 additions and 2 deletions

View File

@@ -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);

View File

@@ -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

View File

@@ -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 */