diff options
| author | Raja Mani <rmani@qti.qualcomm.com> | 2013-10-28 15:02:20 +0530 |
|---|---|---|
| committer | Madan Mohan Koyyalamudi <mkoyyala@qca.qualcomm.com> | 2013-11-14 19:51:44 -0800 |
| commit | a443dafb68f89d6a4d48224616c4eddd4a7231e0 (patch) | |
| tree | b0ebef51d9b35288d465289de0d7eeea285896e4 | |
| parent | 7eaef24f1c7dfe41cd07e962f9cdf6614be4cd52 (diff) | |
cld: Cleanup FEATURE_WLAN_PNO_OFFLOAD in UMAC
There are two feature macros defined and used for PNO in umac,
* FEATURE_WLAN_SCAN_PNO
* FEATURE_WLAN_PNO_OFFLOAD
It's bit confusing that which one to define for PNO. This patch
replaces FEATURE_WLAN_PNO_OFFLOAD with FEATURE_WLAN_SCAN_PNO.
Going forward, FEATURE_WLAN_SCAN_PNO is only feature macro
defined for PNO.
Change-Id: I084c6cb7dda4fab3c434b35b791327ef980cd58c
CRs-fixed: 567665
| -rw-r--r-- | CORE/HDD/inc/wlan_hdd_cfg.h | 2 | ||||
| -rw-r--r-- | CORE/HDD/inc/wlan_hdd_tgt_cfg.h | 2 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_cfg.c | 5 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_cfg80211.c | 4 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_main.c | 2 | ||||
| -rw-r--r-- | CORE/MAC/inc/aniGlobal.h | 3 | ||||
| -rw-r--r-- | CORE/MAC/inc/sirApi.h | 4 | ||||
| -rw-r--r-- | CORE/MAC/src/include/sirParams.h | 2 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/lim/limProcessMlmRspMessages.c | 4 | ||||
| -rw-r--r-- | CORE/SME/inc/csrInternal.h | 7 | ||||
| -rw-r--r-- | CORE/SME/inc/sme_Api.h | 3 | ||||
| -rw-r--r-- | CORE/SME/src/csr/csrApiScan.c | 12 | ||||
| -rw-r--r-- | CORE/SME/src/pmc/pmcApi.c | 9 | ||||
| -rw-r--r-- | CORE/SME/src/sme_common/sme_Api.c | 98 | ||||
| -rw-r--r-- | CORE/WDA/inc/wlan_qct_wda.h | 2 |
15 files changed, 83 insertions, 76 deletions
diff --git a/CORE/HDD/inc/wlan_hdd_cfg.h b/CORE/HDD/inc/wlan_hdd_cfg.h index e0c799942b2b..16c754d76214 100644 --- a/CORE/HDD/inc/wlan_hdd_cfg.h +++ b/CORE/HDD/inc/wlan_hdd_cfg.h @@ -2068,7 +2068,7 @@ typedef struct v_BOOL_t bSingleTidRc; v_U8_t mcastBcastFilterSetting; v_BOOL_t fhostArpOffload; -#if defined (QCA_WIFI_2_0) && defined(FEATURE_WLAN_PNO_OFFLOAD) +#ifdef FEATURE_WLAN_SCAN_PNO v_BOOL_t PnoOffload; #endif v_BOOL_t fhostNSOffload; diff --git a/CORE/HDD/inc/wlan_hdd_tgt_cfg.h b/CORE/HDD/inc/wlan_hdd_tgt_cfg.h index 1d15b2d8b76e..b36a863b8bd0 100644 --- a/CORE/HDD/inc/wlan_hdd_tgt_cfg.h +++ b/CORE/HDD/inc/wlan_hdd_tgt_cfg.h @@ -37,7 +37,7 @@ struct hdd_tgt_services { u_int32_t ap_dfs; u_int32_t en_11ac; u_int32_t arp_offload; -#if defined (QCA_WIFI_2_0) && defined(FEATURE_WLAN_PNO_OFFLOAD) +#ifdef FEATURE_WLAN_SCAN_PNO v_BOOL_t pno_offload; #endif }; diff --git a/CORE/HDD/src/wlan_hdd_cfg.c b/CORE/HDD/src/wlan_hdd_cfg.c index fd66807f951f..3ff0e5c1a1b8 100644 --- a/CORE/HDD/src/wlan_hdd_cfg.c +++ b/CORE/HDD/src/wlan_hdd_cfg.c @@ -4153,6 +4153,11 @@ VOS_STATUS hdd_set_sme_config( hdd_context_t *pHddCtx ) /* Update the p2p listen offload setting */ smeConfig.fP2pListenOffload = pHddCtx->cfg_ini->fP2pListenOffload; +#ifdef FEATURE_WLAN_SCAN_PNO + /* Update PNO offoad status */ + smeConfig.pnoOffload = pHddCtx->cfg_ini->PnoOffload; +#endif + halStatus = sme_UpdateConfig( pHddCtx->hHal, &smeConfig); if ( !HAL_STATUS_SUCCESS( halStatus ) ) { diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c index 3d57dd43dbf9..916605584d7b 100644 --- a/CORE/HDD/src/wlan_hdd_cfg80211.c +++ b/CORE/HDD/src/wlan_hdd_cfg80211.c @@ -607,7 +607,7 @@ int wlan_hdd_cfg80211_register(struct device *dev, | WIPHY_FLAG_TDLS_EXTERNAL_SETUP; #endif #ifdef FEATURE_WLAN_SCAN_PNO -#if defined (QCA_WIFI_2_0) && defined(FEATURE_WLAN_PNO_OFFLOAD) +#if defined (QCA_WIFI_2_0) if (pCfg->PnoOffload) { #endif /* TODO: Current discrete FW is lacking few enhancement @@ -619,7 +619,7 @@ int wlan_hdd_cfg80211_register(struct device *dev, wiphy->max_sched_scan_ssids = MAX_SCAN_SSID; wiphy->max_match_sets = SIR_PNO_MAX_SUPP_NETWORKS; #endif -#if defined (QCA_WIFI_2_0) && defined(FEATURE_WLAN_PNO_OFFLOAD) +#if defined (QCA_WIFI_2_0) wiphy->max_sched_scan_ie_len = SIR_PNO_MAX_IE_LEN; } #endif diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c index 7da603398066..00b273e99545 100644 --- a/CORE/HDD/src/wlan_hdd_main.c +++ b/CORE/HDD/src/wlan_hdd_main.c @@ -1766,7 +1766,7 @@ static void hdd_update_tgt_services(hdd_context_t *hdd_ctx, /* ARP offload: override user setting if invalid */ cfg_ini->fhostArpOffload &= cfg->arp_offload; -#if defined (QCA_WIFI_2_0) && defined(FEATURE_WLAN_PNO_OFFLOAD) +#ifdef FEATURE_WLAN_SCAN_PNO /* PNO offload */ if (cfg->pno_offload) cfg_ini->PnoOffload = TRUE; diff --git a/CORE/MAC/inc/aniGlobal.h b/CORE/MAC/inc/aniGlobal.h index 84fd26773166..b8cb894cbe6d 100644 --- a/CORE/MAC/inc/aniGlobal.h +++ b/CORE/MAC/inc/aniGlobal.h @@ -1051,6 +1051,9 @@ typedef struct sAniSirGlobal /* P2P Listen Offload */ tANI_U8 fP2pListenOffload; + + /* PNO offload */ + v_BOOL_t pnoOffload; } tAniSirGlobal; #ifdef FEATURE_WLAN_TDLS diff --git a/CORE/MAC/inc/sirApi.h b/CORE/MAC/inc/sirApi.h index 4c1151aca08c..88cd943bde5d 100644 --- a/CORE/MAC/inc/sirApi.h +++ b/CORE/MAC/inc/sirApi.h @@ -3463,7 +3463,7 @@ typedef struct sSirWlanSetRxpFilters #define SIR_PNO_MAX_NETW_CHANNELS_EX 60 #define SIR_PNO_MAX_SUPP_NETWORKS 16 #define SIR_PNO_MAX_SCAN_TIMERS 10 -#ifdef FEATURE_WLAN_PNO_OFFLOAD +#ifdef FEATURE_WLAN_SCAN_PNO /* TODO: Need to sync max ie len size with FW */ #define SIR_PNO_MAX_IE_LEN 500 #endif @@ -3524,9 +3524,7 @@ typedef struct sSirPNOScanReq tANI_U8 ucNetworksCount; tSirNetworkType aNetworks[SIR_PNO_MAX_SUPP_NETWORKS]; tSirScanTimersType scanTimers; -#ifdef FEATURE_WLAN_PNO_OFFLOAD tANI_U8 sessionId; -#endif /*added by SME*/ tANI_U16 us24GProbeTemplateLen; diff --git a/CORE/MAC/src/include/sirParams.h b/CORE/MAC/src/include/sirParams.h index 2aee3bf057e4..41443107e873 100644 --- a/CORE/MAC/src/include/sirParams.h +++ b/CORE/MAC/src/include/sirParams.h @@ -568,7 +568,7 @@ typedef struct sSirMbMsgP2p #ifndef REMOVE_PKT_LOG #define SIR_HAL_PKTLOG_ENABLE_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 206) #endif -#ifdef FEATURE_WLAN_PNO_OFFLOAD +#ifdef FEATURE_WLAN_SCAN_PNO #define SIR_HAL_SME_SCAN_CACHE_UPDATED (SIR_HAL_ITC_MSG_TYPES_BEGIN + 207) #endif #endif diff --git a/CORE/MAC/src/pe/lim/limProcessMlmRspMessages.c b/CORE/MAC/src/pe/lim/limProcessMlmRspMessages.c index 95fa6b395637..92bc64b59f05 100644 --- a/CORE/MAC/src/pe/lim/limProcessMlmRspMessages.c +++ b/CORE/MAC/src/pe/lim/limProcessMlmRspMessages.c @@ -4811,7 +4811,7 @@ limSendBeaconInd(tpAniSirGlobal pMac, tpPESession psessionEntry){ return; } -#ifdef FEATURE_WLAN_PNO_OFFLOAD +#ifdef FEATURE_WLAN_SCAN_PNO /** * limSendSmeScanCacheUpdatedInd() * @@ -4865,7 +4865,7 @@ void limSendScanOffloadComplete(tpAniSirGlobal pMac, pScanEvent->sessionId, 0); -#ifdef FEATURE_WLAN_PNO_OFFLOAD +#ifdef FEATURE_WLAN_SCAN_PNO limSendSmeScanCacheUpdatedInd(); #endif } diff --git a/CORE/SME/inc/csrInternal.h b/CORE/SME/inc/csrInternal.h index a3f5861f4e7e..1c74303aa694 100644 --- a/CORE/SME/inc/csrInternal.h +++ b/CORE/SME/inc/csrInternal.h @@ -914,7 +914,7 @@ typedef struct tagCsrRoamSession tANI_BOOLEAN fIgnorePMKIDCache; //ht config tSirHTConfig htConfig; -#ifdef FEATURE_WLAN_PNO_OFFLOAD +#ifdef FEATURE_WLAN_SCAN_PNO eCsrRoamState lastRoamStateBeforePno; #endif } tCsrRoamSession; @@ -1316,9 +1316,8 @@ tANI_BOOLEAN csrIsSetKeyAllowed(tpAniSirGlobal pMac, tANI_U32 sessionId); void csrSetOppositeBandChannelInfo( tpAniSirGlobal pMac ); void csrConstructCurrentValidChannelList( tpAniSirGlobal pMac, tDblLinkList *pChannelSetList, tANI_U8 *pChannelList, tANI_U8 bSize, tANI_U8 *pNumChannels ); -#ifdef FEATURE_WLAN_PNO_OFFLOAD +#ifdef FEATURE_WLAN_SCAN_PNO void csrMoveToScanStateForPno( tpAniSirGlobal pMac, tANI_U8 sessionId ); -#endif eHalStatus csrScanSavePreferredNetworkFound(tpAniSirGlobal pMac, tSirPrefNetworkFoundInd *pPrefNetworkFoundInd); #endif @@ -1351,4 +1350,4 @@ eHalStatus csrScanRequestLfrResult(tpAniSirGlobal pMac, tANI_U32 sessionId, #endif tANI_BOOLEAN csrRoamIsStaMode(tpAniSirGlobal pMac, tANI_U32 sessionId); #endif - +#endif diff --git a/CORE/SME/inc/sme_Api.h b/CORE/SME/inc/sme_Api.h index bfc7a63bbeeb..fbfba958b6c7 100644 --- a/CORE/SME/inc/sme_Api.h +++ b/CORE/SME/inc/sme_Api.h @@ -123,6 +123,7 @@ typedef struct _smeConfigParams #endif tANI_BOOLEAN fScanOffload; tANI_BOOLEAN fP2pListenOffload; + tANI_BOOLEAN pnoOffload; } tSmeConfigParams, *tpSmeConfigParams; #ifdef QCA_WIFI_2_0 @@ -2851,7 +2852,7 @@ int sme_UpdateHTConfig(tHalHandle hHal, tANI_U8 sessionId, tANI_U16 htCapab, tANI_S16 sme_GetHTConfig(tHalHandle hHal, tANI_U8 session_id, tANI_U16 ht_capab); eHalStatus sme_getValidChannelList(tHalHandle hHal, tANI_U8 *numChannels, tANI_U8 **chanList); -#ifdef FEATURE_WLAN_PNO_OFFLOAD +#ifdef FEATURE_WLAN_SCAN_PNO eHalStatus sme_MoveCsrToScanStateForPno (tHalHandle hHal, tANI_U8 sessionId); #endif #ifdef QCA_WIFI_2_0 diff --git a/CORE/SME/src/csr/csrApiScan.c b/CORE/SME/src/csr/csrApiScan.c index fa08212a9c55..479c1e810b0a 100644 --- a/CORE/SME/src/csr/csrApiScan.c +++ b/CORE/SME/src/csr/csrApiScan.c @@ -4718,7 +4718,7 @@ tANI_BOOLEAN csrScanIsWildCardScan( tpAniSirGlobal pMac, tSmeCmd *pCommand ) (pCommand->u.scanCmd.u.scanRequest.SSIDs.numOfSSIDs != 1) )); } -#ifdef FEATURE_WLAN_PNO_OFFLOAD +#ifdef FEATURE_WLAN_SCAN_PNO eHalStatus csrSavePnoScanResults(tpAniSirGlobal pMac, tSirSmeScanRsp *pScanRsp) { tSirBssDescription *pSirBssDescription; @@ -4892,14 +4892,14 @@ eHalStatus csrScanSmeScanResponse( tpAniSirGlobal pMac, void *pMsgBuf ) status = eHAL_STATUS_FAILURE; } } -#ifdef FEATURE_WLAN_PNO_OFFLOAD - else if (!HAL_STATUS_SUCCESS(csrSavePnoScanResults(pMac, pScanRsp))) +#ifdef FEATURE_WLAN_SCAN_PNO + else if (pMac->pnoOffload && !HAL_STATUS_SUCCESS(csrSavePnoScanResults(pMac, pScanRsp))) { smsLog( pMac, LOGW, "CSR: Unable to store scan results for PNO" ); status = eHAL_STATUS_FAILURE; } #endif - else + else if (pMac->pnoOffload == FALSE) { smsLog( pMac, LOGW, "CSR: Scan Completion called but NO commands are ACTIVE ..." ); status = eHAL_STATUS_FAILURE; @@ -7640,7 +7640,7 @@ tANI_BOOLEAN csrRoamIsValidChannel( tpAniSirGlobal pMac, tANI_U8 channel ) return fValid; } -#ifdef FEATURE_WLAN_PNO_OFFLOAD +#ifdef FEATURE_WLAN_SCAN_PNO void csrMoveToScanStateForPno( tpAniSirGlobal pMac, tANI_U8 sessionId ) { tCsrRoamSession *pSession = &pMac->roam.roamSession[sessionId]; @@ -7653,7 +7653,6 @@ void csrMoveToScanStateForPno( tpAniSirGlobal pMac, tANI_U8 sessionId ) pSession->lastRoamStateBeforePno = csrRoamStateChange(pMac, eCSR_ROAMING_STATE_SCANNING, sessionId); } -#endif eHalStatus csrScanSavePreferredNetworkFound(tpAniSirGlobal pMac, tSirPrefNetworkFoundInd *pPrefNetworkFoundInd) @@ -7824,6 +7823,7 @@ eHalStatus csrScanSavePreferredNetworkFound(tpAniSirGlobal pMac, return eHAL_STATUS_SUCCESS; } +#endif #ifdef FEATURE_WLAN_LFR void csrInitOccupiedChannelsList(tpAniSirGlobal pMac) diff --git a/CORE/SME/src/pmc/pmcApi.c b/CORE/SME/src/pmc/pmcApi.c index 17200e479647..140fbe5b8a26 100644 --- a/CORE/SME/src/pmc/pmcApi.c +++ b/CORE/SME/src/pmc/pmcApi.c @@ -2996,10 +2996,11 @@ eHalStatus pmcSetPreferredNetworkList &pRequestBuf->us5GProbeTemplateLen, pSession); -#ifdef FEATURE_WLAN_PNO_OFFLOAD - sme_MoveCsrToScanStateForPno(hHal, sessionId); - pRequestBuf->sessionId = sessionId; -#endif + if (pMac->pnoOffload) + { + sme_MoveCsrToScanStateForPno(hHal, sessionId); + pRequestBuf->sessionId = sessionId; + } msg.type = WDA_SET_PNO_REQ; msg.reserved = 0; diff --git a/CORE/SME/src/sme_common/sme_Api.c b/CORE/SME/src/sme_common/sme_Api.c index bc56d903033f..3a887c809892 100644 --- a/CORE/SME/src/sme_common/sme_Api.c +++ b/CORE/SME/src/sme_common/sme_Api.c @@ -1474,6 +1474,9 @@ eHalStatus sme_UpdateConfig(tHalHandle hHal, tpSmeConfigParams pSmeConfigParams) /* update the p2p listen offload setting */ pMac->fP2pListenOffload = pSmeConfigParams->fP2pListenOffload; + /* update p2p offload status */ + pMac->pnoOffload = pSmeConfigParams->pnoOffload; + return status; } @@ -6410,69 +6413,66 @@ eHalStatus sme_PreferredNetworkFoundInd (tHalHandle hHal, void* pMsg) tpAniSirGlobal pMac = PMAC_STRUCT(hHal); eHalStatus status = eHAL_STATUS_SUCCESS; tSirPrefNetworkFoundInd *pPrefNetworkFoundInd = (tSirPrefNetworkFoundInd *)pMsg; -#ifndef FEATURE_WLAN_PNO_OFFLOAD v_U8_t dumpSsId[SIR_MAC_MAX_SSID_LENGTH + 1]; tANI_U8 ssIdLength = 0; -#endif if (NULL == pMsg) { smsLog(pMac, LOGE, "in %s msg ptr is NULL", __func__); - status = eHAL_STATUS_FAILURE; + return eHAL_STATUS_FAILURE; } - else + + if (pMac->pnoOffload) { -#ifdef FEATURE_WLAN_PNO_OFFLOAD /* Call Preferred Network Found Indication callback routine. */ if (pMac->pmc.prefNetwFoundCB != NULL) { pMac->pmc.prefNetwFoundCB( - pMac->pmc.preferredNetworkFoundIndCallbackContext, - pPrefNetworkFoundInd); + pMac->pmc.preferredNetworkFoundIndCallbackContext, + pPrefNetworkFoundInd); } -#else - if (pPrefNetworkFoundInd->ssId.length > 0) - { - ssIdLength = CSR_MIN(SIR_MAC_MAX_SSID_LENGTH, - pPrefNetworkFoundInd->ssId.length); - vos_mem_copy(dumpSsId, pPrefNetworkFoundInd->ssId.ssId, ssIdLength); - dumpSsId[ssIdLength] = 0; - smsLog(pMac, LOG2, "%s:SSID=%s frame length %d", - __func__, dumpSsId, pPrefNetworkFoundInd->frameLength); - - //Save the frame to scan result - if (pPrefNetworkFoundInd->mesgLen > sizeof(tSirPrefNetworkFoundInd)) - { - //we may have a frame - status = csrScanSavePreferredNetworkFound(pMac, - pPrefNetworkFoundInd); - if (!HAL_STATUS_SUCCESS(status)) - { - smsLog(pMac, LOGE, FL(" fail to save preferred network")); - } - } - else - { - smsLog(pMac, LOGE, FL(" not enough data length %d needed %d"), - pPrefNetworkFoundInd->mesgLen, sizeof(tSirPrefNetworkFoundInd)); - } - - /* Call Preferred Netowrk Found Indication callback routine. */ - if (HAL_STATUS_SUCCESS(status) && (pMac->pmc.prefNetwFoundCB != NULL)) - { - pMac->pmc.prefNetwFoundCB( - pMac->pmc.preferredNetworkFoundIndCallbackContext, - pPrefNetworkFoundInd); - } - } - else - { - smsLog(pMac, LOGE, "%s: callback failed - SSID is NULL", __func__); - status = eHAL_STATUS_FAILURE; - } -#endif + return status; } + if (pPrefNetworkFoundInd->ssId.length > 0) + { + ssIdLength = CSR_MIN(SIR_MAC_MAX_SSID_LENGTH, + pPrefNetworkFoundInd->ssId.length); + vos_mem_copy(dumpSsId, pPrefNetworkFoundInd->ssId.ssId, ssIdLength); + dumpSsId[ssIdLength] = 0; + smsLog(pMac, LOG2, "%s:SSID=%s frame length %d", + __func__, dumpSsId, pPrefNetworkFoundInd->frameLength); + + //Save the frame to scan result + if (pPrefNetworkFoundInd->mesgLen > sizeof(tSirPrefNetworkFoundInd)) + { + //we may have a frame + status = csrScanSavePreferredNetworkFound(pMac, + pPrefNetworkFoundInd); + if (!HAL_STATUS_SUCCESS(status)) + { + smsLog(pMac, LOGE, FL(" fail to save preferred network")); + } + } + else + { + smsLog(pMac, LOGE, FL(" not enough data length %d needed %d"), + pPrefNetworkFoundInd->mesgLen, sizeof(tSirPrefNetworkFoundInd)); + } + + /* Call Preferred Netowrk Found Indication callback routine. */ + if (HAL_STATUS_SUCCESS(status) && (pMac->pmc.prefNetwFoundCB != NULL)) + { + pMac->pmc.prefNetwFoundCB( + pMac->pmc.preferredNetworkFoundIndCallbackContext, + pPrefNetworkFoundInd); + } + } + else + { + smsLog(pMac, LOGE, "%s: callback failed - SSID is NULL", __func__); + status = eHAL_STATUS_FAILURE; + } return(status); } @@ -8914,7 +8914,7 @@ int sme_UpdateHTConfig(tHalHandle hHal, tANI_U8 sessionId, tANI_U16 htCapab, return 0; } -#ifdef FEATURE_WLAN_PNO_OFFLOAD +#ifdef FEATURE_WLAN_SCAN_PNO /*-------------------------------------------------------------------------- \brief sme_MoveCsrToScanStateForPno() - Request CSR module to be in Scan state diff --git a/CORE/WDA/inc/wlan_qct_wda.h b/CORE/WDA/inc/wlan_qct_wda.h index 390095c6c0d8..33b5d428aa75 100644 --- a/CORE/WDA/inc/wlan_qct_wda.h +++ b/CORE/WDA/inc/wlan_qct_wda.h @@ -1208,7 +1208,7 @@ tSirRetStatus uMacPostCtrlMsg(void* pSirGlobal, tSirMbMsg* pMb); #ifdef QCA_WIFI_2_0 #define WDA_CLI_SET_CMD SIR_HAL_CLI_SET_CMD #define WDA_CLI_GET_CMD SIR_HAL_CLI_GET_CMD -#ifdef FEATURE_WLAN_PNO_OFFLOAD +#ifdef FEATURE_WLAN_SCAN_PNO #define WDA_SME_SCAN_CACHE_UPDATED SIR_HAL_SME_SCAN_CACHE_UPDATED #endif #endif |
