[WCNCR00169883] wowlan: apply wow wrapper to SDIO & PCIE suspend/resume
[Description]
Add wow wrapper to SDIO & PCIE suspend/resume sequence,
instead of direct function call
Change-Id: I4cf8dd8af78aae5704e05b62dbeef4e364103de1
Signed-off-by: Bennett Ou <bennett.ou@mediatek.com>
CR-Id: WCNCR00169883
Feature: wowlan
Reviewed-on: http://gerrit.mediatek.inc:8080/1261520
CheckPatch: Check Patch <srv_checkpatch@mediatek.com>
Reviewed-by: Allan Wang <allan.wang@mediatek.com>
Reviewed-by: Chiahsuan Chuang <chiahsuan.chuang@mediatek.com>
Reviewed-by: Wayne Guo <wayne.guo@mediatek.com>
Reviewed-by: Sarick Jiang <sarick.jiang@mediatek.com>
Build: srv_neptune_adm <srv_neptune_adm@mediatek.com>
diff --git a/os/linux/hif/pcie/pcie.c b/os/linux/hif/pcie/pcie.c
index 71efba9..5e3ff7b 100644
--- a/os/linux/hif/pcie/pcie.c
+++ b/os/linux/hif/pcie/pcie.c
@@ -249,15 +249,7 @@
return -1;
}
- /* 1) wifi cfg "Wow" is true, 2) wow is enable 3) WIfI connected => execute WOW flow */
- if (prGlueInfo->prAdapter->rWifiVar.ucWow && prGlueInfo->prAdapter->rWowCtrl.fgWowEnable) {
- if (kalGetMediaStateIndicated(prGlueInfo) == PARAM_MEDIA_STATE_CONNECTED) {
- DBGLOG(HAL, EVENT, "enter WOW flow\n");
- ACQUIRE_POWER_CONTROL_FROM_PM(prGlueInfo->prAdapter);
- kalWowProcess(prGlueInfo, TRUE);
- }
- /* else: do nothing, and FW enter LMAC sleep */
- }
+ wlanSuspendPmHandle(prGlueInfo);
if (prGlueInfo->prAdapter->fgIsFwOwn == FALSE)
RECLAIM_POWER_CONTROL_TO_PM(prGlueInfo->prAdapter, FALSE);
@@ -336,10 +328,7 @@
kalMsleep(5);
- if (prGlueInfo->prAdapter->rWifiVar.ucWow) {
- DBGLOG(HAL, EVENT, "leave WOW flow\n");
- kalWowProcess(prGlueInfo, FALSE);
- }
+ wlanResumePmHandle(prGlueInfo);
DBGLOG(HAL, STATE, "mtk_pci_resume done\n");
diff --git a/os/linux/hif/sdio/sdio.c b/os/linux/hif/sdio/sdio.c
index c704837..7c25422 100644
--- a/os/linux/hif/sdio/sdio.c
+++ b/os/linux/hif/sdio/sdio.c
@@ -418,17 +418,7 @@
func = dev_to_sdio_func(pDev);
prGlueInfo = sdio_get_drvdata(func);
- DBGLOG(REQ, STATE, "Wow:%d, WowEnable:%d, state:%d\n",
- prGlueInfo->prAdapter->rWifiVar.ucWow, prGlueInfo->prAdapter->rWowCtrl.fgWowEnable,
- kalGetMediaStateIndicated(prGlueInfo));
-
- /* 1) wifi cfg "Wow" is true, 2) wow is enable 3) WIfI connected => execute WOW flow */
- if (prGlueInfo->prAdapter->rWifiVar.ucWow &&
- prGlueInfo->prAdapter->rWowCtrl.fgWowEnable &&
- (kalGetMediaStateIndicated(prGlueInfo) == PARAM_MEDIA_STATE_CONNECTED)) {
- DBGLOG(HAL, STATE, "enter WOW flow\n");
- kalWowProcess(prGlueInfo, TRUE);
- }
+ wlanSuspendPmHandle(prGlueInfo);
prGlueInfo->prAdapter->fgForceFwOwn = TRUE;
@@ -496,18 +486,9 @@
func = dev_to_sdio_func(pDev);
prGlueInfo = sdio_get_drvdata(func);
- DBGLOG(REQ, STATE, "Wow:%d, WowEnable:%d, state:%d\n",
- prGlueInfo->prAdapter->rWifiVar.ucWow, prGlueInfo->prAdapter->rWowCtrl.fgWowEnable,
- kalGetMediaStateIndicated(prGlueInfo));
-
prGlueInfo->prAdapter->fgForceFwOwn = FALSE;
- if (prGlueInfo->prAdapter->rWifiVar.ucWow &&
- prGlueInfo->prAdapter->rWowCtrl.fgWowEnable &&
- (kalGetMediaStateIndicated(prGlueInfo) == PARAM_MEDIA_STATE_CONNECTED)) {
- DBGLOG(HAL, STATE, "leave WOW flow\n");
- kalWowProcess(prGlueInfo, FALSE);
- }
+ wlanResumePmHandle(prGlueInfo);
DBGLOG(HAL, STATE, "<==\n");
return 0;