diff options
| author | Srinivas Girigowda <sgirigow@qca.qualcomm.com> | 2015-04-10 15:41:31 -0700 |
|---|---|---|
| committer | AnjaneeDevi Kapparapu <c_akappa@qti.qualcomm.com> | 2015-04-13 18:27:25 +0530 |
| commit | acd1b538b6aaabd9aa7d13c1ca28f60202890645 (patch) | |
| tree | 0f220836df192f63cb301dd81cb54735588c07cf | |
| parent | cf25b05e8efa729580bf0681a268ae7231510cb4 (diff) | |
qcacld-2.0: extscan: Add support for WOW_EXTSCAN_EVENT
Add host support to configure WOW_EXTSCAN_EVENT before going to
APPS power collapse if extscan is in progress.
Firmware shall wake up the host with WOW_EXTSCAN_EVENT event and
WOW_REASON_EXTSCAN reason before forwarding any EXTSCAN_* events.
Change-Id: Ieecfd436a30a12917113c02bf4f8a6381cdd2a16
CRs-Fixed: 821049
| -rw-r--r-- | CORE/SERVICES/WMA/wma.c | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c index a6733f19d34c..1606d12eaea7 100644 --- a/CORE/SERVICES/WMA/wma.c +++ b/CORE/SERVICES/WMA/wma.c @@ -17542,6 +17542,11 @@ static const u8 *wma_wow_wake_reason_str(A_INT32 wake_reason) #endif case WOW_REASON_CLIENT_KICKOUT_EVENT: return "WOW_REASON_CLIENT_KICKOUT_EVENT"; + +#ifdef FEATURE_WLAN_EXTSCAN + case WOW_REASON_EXTSCAN: + return "WOW_REASON_EXTSCAN"; +#endif } return "unknown"; } @@ -17880,6 +17885,13 @@ static int wma_wow_wakeup_host_event(void *handle, u_int8_t *event, } break; } +#ifdef FEATURE_WLAN_EXTSCAN + case WOW_REASON_EXTSCAN: + { + WMA_LOGD("Host woken up because of extscan reason"); + } + break; +#endif default: break; } @@ -18731,7 +18743,8 @@ end: * wakeup trigger events. */ static VOS_STATUS wma_feed_wow_config_to_fw(tp_wma_handle wma, - v_BOOL_t pno_in_progress) + v_BOOL_t pno_in_progress, + bool extscan_in_progress) { struct wma_txrx_node *iface; VOS_STATUS ret = VOS_STATUS_SUCCESS; @@ -18982,6 +18995,17 @@ static VOS_STATUS wma_feed_wow_config_to_fw(tp_wma_handle wma, } #endif +#ifdef FEATURE_WLAN_EXTSCAN + ret = wma_add_wow_wakeup_event(wma, WOW_EXTSCAN_EVENT, + extscan_in_progress); + + if (ret != VOS_STATUS_SUCCESS) { + WMA_LOGE("Failed to Configure WOW_EXTSCAN_EVENT to FW"); + goto end; + } else + WMA_LOGD("Successfully Configured WOW_EXTSCAN_EVENT to FW"); +#endif + /* WOW is enabled in pcie suspend callback */ wma->wow.wow_enable = TRUE; wma->wow.wow_enable_cmd_sent = FALSE; @@ -19256,7 +19280,8 @@ enable_wow: } #endif - ret = wma_feed_wow_config_to_fw(wma, pno_in_progress); + ret = wma_feed_wow_config_to_fw(wma, pno_in_progress, + extscan_in_progress); if (ret != VOS_STATUS_SUCCESS) { vos_mem_free(info); wma_send_status_to_suspend_ind(wma, FALSE); @@ -19344,7 +19369,7 @@ static VOS_STATUS wma_auto_suspend_req(tp_wma_handle wma, WMA_LOGD("WOW Suspend"); - ret = wma_feed_wow_config_to_fw(wma, pno_in_progress); + ret = wma_feed_wow_config_to_fw(wma, pno_in_progress, false); if (ret != VOS_STATUS_SUCCESS) { wma_send_status_to_suspend_ind(wma, false); return ret; |
