diff options
| author | Srinivas Girigowda <sgirigow@codeaurora.org> | 2015-12-11 11:00:48 -0800 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-04-17 18:07:30 -0700 |
| commit | 515a9efb36304cf20cf1247698da24a18cb8de8f (patch) | |
| tree | 922a917d5470b531ca092d5e70eb38c0acd3ad73 | |
| parent | 89223f7e3693e5867660c586f540e921d7e40ab5 (diff) | |
qcacld-3.0: Remove FEATURE_WLAN_ESE_UPLOAD compile macro
At present and going forward ESE and ESE_UPLOAD will be the
de-facto approach supporting ESE. Hence there is no need of two compile macros
FEATURE_WLAN_ESE and FEATURE_WLAN_ESE_UPLOAD.
Instead Remove FEATURE_WLAN_ESE_UPLOAD and Keep only FEATURE_WLAN_ESE.
Change-Id: If1a04e95211a0d639db7b60a57a6d5f215d26f4e
CRs-Fixed: 950762
35 files changed, 847 insertions, 971 deletions
@@ -145,10 +145,7 @@ WLAN_COMMON_ROOT ?= qca-wifi-host-cmn WLAN_COMMON_INC ?= $(WLAN_ROOT)/$(WLAN_COMMON_ROOT) ifneq ($(CONFIG_MOBILE_ROUTER), y) -# To enable ESE upload, dependent config -# CONFIG_QCOM_ESE must be enabled. CONFIG_QCOM_ESE := y -CONFIG_QCOM_ESE_UPLOAD := y endif # Feature flags which are not (currently) configurable via Kconfig @@ -434,12 +431,6 @@ MAC_LIM_OBJS := $(MAC_SRC_DIR)/pe/lim/lim_aid_mgmt.o \ $(MAC_SRC_DIR)/pe/lim/lim_trace.o \ $(MAC_SRC_DIR)/pe/lim/lim_utils.o -ifeq ($(CONFIG_QCOM_ESE),y) -ifneq ($(CONFIG_QCOM_ESE_UPLOAD),y) -MAC_LIM_OBJS += $(MAC_SRC_DIR)/pe/lim/limProcessEseFrame.o -endif -endif - ifeq ($(CONFIG_QCOM_TDLS),y) MAC_LIM_OBJS += $(MAC_SRC_DIR)/pe/lim/lim_process_tdls.o endif @@ -506,12 +497,6 @@ SME_CSR_OBJS := $(SME_SRC_DIR)/csr/csr_api_roam.o \ $(SME_SRC_DIR)/csr/csr_neighbor_roam.o \ $(SME_SRC_DIR)/csr/csr_util.o -ifeq ($(CONFIG_QCOM_ESE),y) -ifneq ($(CONFIG_QCOM_ESE_UPLOAD),y) -SME_CSR_OBJS += $(SME_SRC_DIR)/csr/csrEse.o -endif -endif - ifeq ($(CONFIG_QCOM_TDLS),y) SME_CSR_OBJS += $(SME_SRC_DIR)/csr/csr_tdls_process.o endif @@ -1012,9 +997,6 @@ ifeq ($(CONFIG_QCOM_ESE),y) CDEFINES += -DFEATURE_WLAN_ESE CDEFINES += -DQCA_COMPUTE_TX_DELAY CDEFINES += -DQCA_COMPUTE_TX_DELAY_PER_TID -ifeq ($(CONFIG_QCOM_ESE_UPLOAD),y) -CDEFINES += -DFEATURE_WLAN_ESE_UPLOAD -endif endif #normally, TDLS negative behavior is not needed diff --git a/core/hdd/inc/wlan_hdd_assoc.h b/core/hdd/inc/wlan_hdd_assoc.h index 8b51e3b1adac..0081155c14c3 100644 --- a/core/hdd/inc/wlan_hdd_assoc.h +++ b/core/hdd/inc/wlan_hdd_assoc.h @@ -232,7 +232,7 @@ QDF_STATUS hdd_roam_register_tdlssta(hdd_adapter_t *pAdapter, */ void hdd_perform_roam_set_key_complete(hdd_adapter_t *pAdapter); -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE /** * hdd_indicate_ese_bcn_report_no_results() - beacon report no scan results * @pAdapter: pointer to adapter @@ -250,7 +250,7 @@ hdd_indicate_ese_bcn_report_no_results(const hdd_adapter_t *pAdapter, const uint16_t measurementToken, const bool flag, const uint8_t numBss); -#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ +#endif /* FEATURE_WLAN_ESE */ QDF_STATUS hdd_change_peer_state(hdd_adapter_t *pAdapter, uint8_t sta_id, diff --git a/core/hdd/inc/wlan_hdd_main.h b/core/hdd/inc/wlan_hdd_main.h index 6c847f3d6874..53a8445cf356 100644 --- a/core/hdd/inc/wlan_hdd_main.h +++ b/core/hdd/inc/wlan_hdd_main.h @@ -974,7 +974,7 @@ struct hdd_adapter_s { bool survey_idx; hdd_scaninfo_t scan_info; -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE tAniTrafStrmMetrics tsmStats; #endif /* Flag to ensure PSB is configured through framework */ diff --git a/core/hdd/src/wlan_hdd_assoc.c b/core/hdd/src/wlan_hdd_assoc.c index d8f8742e2ea3..d6060f067b6e 100644 --- a/core/hdd/src/wlan_hdd_assoc.c +++ b/core/hdd/src/wlan_hdd_assoc.c @@ -3453,7 +3453,7 @@ hdd_indicate_unprot_mgmt_frame(hdd_adapter_t *pAdapter, uint32_t nFrameLength, } #endif -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE /** * hdd_indicate_tsm_ie() - send traffic stream metrics ie * @pAdapter: pointer to adapter @@ -3835,7 +3835,7 @@ hdd_indicate_ese_bcn_report_ind(const hdd_adapter_t *pAdapter, } } -#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ +#endif /* FEATURE_WLAN_ESE */ /** * hdd_is_8021x_sha256_auth_type() - check authentication type to 8021x_sha256 @@ -4172,7 +4172,7 @@ hdd_sme_roam_callback(void *pContext, tCsrRoamInfo *pRoamInfo, uint32_t roamId, pRoamInfo->frameType); break; #endif -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE case eCSR_ROAM_TSM_IE_IND: hdd_indicate_tsm_ie(pAdapter, pRoamInfo->tsmIe.tsid, pRoamInfo->tsmIe.state, @@ -4201,7 +4201,7 @@ hdd_sme_roam_callback(void *pContext, tCsrRoamInfo *pRoamInfo, uint32_t roamId, hdd_indicate_ese_bcn_report_ind(pAdapter, pRoamInfo); break; } -#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ +#endif /* FEATURE_WLAN_ESE */ default: break; } diff --git a/core/hdd/src/wlan_hdd_ioctl.c b/core/hdd/src/wlan_hdd_ioctl.c index d031427d7f3e..a042203e4a34 100644 --- a/core/hdd/src/wlan_hdd_ioctl.c +++ b/core/hdd/src/wlan_hdd_ioctl.c @@ -41,7 +41,7 @@ #include "wma.h" #include "wlan_hdd_napi.h" -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE #include <sme_api.h> #include <sir_api.h> #endif @@ -64,10 +64,10 @@ */ #define WLAN_HDD_IBSS_MIN_OUI_DATA_LENGTH (3) -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE #define TID_MIN_VALUE 0 #define TID_MAX_VALUE 15 -#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ +#endif /* FEATURE_WLAN_ESE */ /* * Maximum buffer size used for returning the data back to user space @@ -128,7 +128,7 @@ typedef struct { static uint16_t cesium_pid; extern struct sock *cesium_nl_srv_sock; -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE static void hdd_get_tsm_stats_cb(tAniTrafStrmMetrics tsm_metrics, const uint32_t staId, void *context) { @@ -268,7 +268,7 @@ QDF_STATUS hdd_get_tsm_stats(hdd_adapter_t *adapter, } return vstatus; } -#endif /*FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ +#endif /*FEATURE_WLAN_ESE */ /* Function header is left blank intentionally */ static int hdd_parse_setrmcenable_command(uint8_t *pValue, @@ -1600,7 +1600,7 @@ hdd_parse_set_roam_scan_channels(hdd_adapter_t *adapter, const char *command) return ret; } -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE /** * hdd_parse_plm_cmd() - HDD Parse Plm command * @pValue: Pointer to input data @@ -2633,7 +2633,7 @@ done: return ret; } -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE /** * hdd_parse_ese_beacon_req() - Parse ese beacon request * @pValue: Pointer to data @@ -2794,9 +2794,7 @@ static int hdd_parse_ese_beacon_req(uint8_t *pValue, return 0; } -#endif /* defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) */ -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) /** * hdd_parse_get_cckm_ie() - HDD Parse and fetch the CCKM IE * @pValue: Pointer to input data @@ -2869,7 +2867,7 @@ static int hdd_parse_get_cckm_ie(uint8_t *pValue, uint8_t **pCckmIe, *pCckmIeLen = i; return 0; } -#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ +#endif /* FEATURE_WLAN_ESE */ int wlan_hdd_set_mc_rate(hdd_adapter_t *pAdapter, int targetRate) { @@ -4738,116 +4736,6 @@ exit: return ret; } -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) -static int drv_cmd_ccx_plm_req(hdd_adapter_t *adapter, - hdd_context_t *hdd_ctx, - uint8_t *command, - uint8_t command_len, - hdd_priv_data_t *priv_data) -{ - int ret = 0; - uint8_t *value = command; - QDF_STATUS status = QDF_STATUS_SUCCESS; - tpSirPlmReq pPlmRequest = NULL; - - pPlmRequest = qdf_mem_malloc(sizeof(tSirPlmReq)); - if (NULL == pPlmRequest) { - ret = -ENOMEM; - goto exit; - } - - status = hdd_parse_plm_cmd(value, pPlmRequest); - if (QDF_STATUS_SUCCESS != status) { - qdf_mem_free(pPlmRequest); - pPlmRequest = NULL; - ret = -EINVAL; - goto exit; - } - pPlmRequest->sessionId = adapter->sessionId; - - status = sme_set_plm_request(hdd_ctx->hHal, pPlmRequest); - if (QDF_STATUS_SUCCESS != status) { - qdf_mem_free(pPlmRequest); - pPlmRequest = NULL; - ret = -EINVAL; - goto exit; - } - -exit: - return ret; -} -#endif - -#ifdef FEATURE_WLAN_ESE -static int drv_cmd_set_ccx_mode(hdd_adapter_t *adapter, - hdd_context_t *hdd_ctx, - uint8_t *command, - uint8_t command_len, - hdd_priv_data_t *priv_data) -{ - int ret = 0; - uint8_t *value = command; - uint8_t eseMode = CFG_ESE_FEATURE_ENABLED_DEFAULT; - - /* - * Check if the features OKC/ESE/11R are supported simultaneously, - * then this operation is not permitted (return FAILURE) - */ - if (sme_get_is_ese_feature_enabled(hdd_ctx->hHal) && - hdd_is_okc_mode_enabled(hdd_ctx) && - sme_get_is_ft_feature_enabled(hdd_ctx->hHal)) { - QDF_TRACE(QDF_MODULE_ID_HDD, - QDF_TRACE_LEVEL_WARN, - "%s: OKC/ESE/11R are supported simultaneously hence this operation is not permitted!", - __func__); - ret = -EPERM; - goto exit; - } - - /* Move pointer to ahead of SETCCXMODE<delimiter> */ - value = value + command_len + 1; - - /* Convert the value from ascii to integer */ - ret = kstrtou8(value, 10, &eseMode); - if (ret < 0) { - /* - * If the input value is greater than max value of datatype, - * then also kstrtou8 fails - */ - QDF_TRACE(QDF_MODULE_ID_HDD, - QDF_TRACE_LEVEL_ERROR, - "%s: kstrtou8 failed range [%d - %d]", - __func__, CFG_ESE_FEATURE_ENABLED_MIN, - CFG_ESE_FEATURE_ENABLED_MAX); - ret = -EINVAL; - goto exit; - } - - if ((eseMode < CFG_ESE_FEATURE_ENABLED_MIN) || - (eseMode > CFG_ESE_FEATURE_ENABLED_MAX)) { - QDF_TRACE(QDF_MODULE_ID_HDD, - QDF_TRACE_LEVEL_ERROR, - "Ese mode value %d is out of range (Min: %d Max: %d)", - eseMode, - CFG_ESE_FEATURE_ENABLED_MIN, - CFG_ESE_FEATURE_ENABLED_MAX); - ret = -EINVAL; - goto exit; - } - QDF_TRACE(QDF_MODULE_ID_HDD, QDF_TRACE_LEVEL_INFO, - "%s: Received Command to change ese mode = %d", - __func__, eseMode); - - hdd_ctx->config->isEseIniFeatureEnabled = eseMode; - sme_update_is_ese_feature_enabled(hdd_ctx->hHal, - adapter->sessionId, - eseMode); - -exit: - return ret; -} -#endif - static int drv_cmd_set_roam_scan_control(hdd_adapter_t *adapter, hdd_context_t *hdd_ctx, uint8_t *command, @@ -5810,7 +5698,7 @@ exit: return ret; } -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE static int drv_cmd_set_ccx_roam_scan_channels(hdd_adapter_t *adapter, hdd_context_t *hdd_ctx, uint8_t *command, @@ -6079,7 +5967,7 @@ static int drv_cmd_ccx_beacon_req(hdd_adapter_t *adapter, exit: return ret; } -#endif /* #if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) */ +#endif /* FEATURE_WLAN_ESE */ static int drv_cmd_set_mc_rate(hdd_adapter_t *adapter, hdd_context_t *hdd_ctx, @@ -7526,12 +7414,6 @@ static const hdd_drv_cmd_t hdd_drv_cmds[] = { {"SETFASTROAM", drv_cmd_set_fast_roam}, {"SETFASTTRANSITION", drv_cmd_set_fast_transition}, {"FASTREASSOC", drv_cmd_fast_reassoc}, -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) - {"CCXPLMREQ", drv_cmd_ccx_plm_req}, -#endif -#ifdef FEATURE_WLAN_ESE - {"SETCCXMODE", drv_cmd_set_ccx_mode}, -#endif {"SETROAMSCANCONTROL", drv_cmd_set_roam_scan_control}, #ifdef FEATURE_WLAN_OKC {"SETOKCMODE", drv_cmd_set_okc_mode}, @@ -7550,12 +7432,12 @@ static const hdd_drv_cmd_t hdd_drv_cmds[] = { {"GETIBSSPEERINFO", drv_cmd_get_ibss_peer_info}, {"SETRMCTXRATE", drv_cmd_set_rmc_tx_rate}, {"SETIBSSTXFAILEVENT", drv_cmd_set_ibss_tx_fail_event}, -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE {"SETCCXROAMSCANCHANNELS", drv_cmd_set_ccx_roam_scan_channels}, {"GETTSMSTATS", drv_cmd_get_tsm_stats}, {"SETCCKMIE", drv_cmd_set_cckm_ie}, {"CCXBEACONREQ", drv_cmd_ccx_beacon_req}, -#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ +#endif /* FEATURE_WLAN_ESE */ {"SETMCRATE", drv_cmd_set_mc_rate}, {"MAXTXPOWER", drv_cmd_max_tx_power}, {"SETDFSSCANMODE", drv_cmd_set_dfs_scan_mode}, diff --git a/core/mac/inc/sir_api.h b/core/mac/inc/sir_api.h index 2bae37ae0f7a..7859837648f8 100644 --- a/core/mac/inc/sir_api.h +++ b/core/mac/inc/sir_api.h @@ -707,19 +707,6 @@ typedef struct sSirDFSChannelList { } tSirDFSChannelList, *tpSirDFSChannelList; -#ifdef FEATURE_WLAN_ESE -typedef struct sTspecInfo { - uint8_t valid; - tSirMacTspecIE tspec; -} tTspecInfo; - -#define SIR_ESE_MAX_TSPEC_IES 4 -typedef struct sESETspecTspecInfo { - uint8_t numTspecs; - tTspecInfo tspec[SIR_ESE_MAX_TSPEC_IES]; -} tESETspecInfo; -#endif - /* / Two Background Scan mode */ typedef enum eSirBackgroundScanMode { eSIR_ROAMING_SCAN = 2, @@ -886,6 +873,127 @@ typedef struct sSirOemDataRsp { #endif /* FEATURE_OEM_DATA_SUPPORT */ +#ifdef FEATURE_WLAN_ESE +typedef struct sTspecInfo { + uint8_t valid; + tSirMacTspecIE tspec; +} tTspecInfo; + +#define SIR_ESE_MAX_TSPEC_IES 4 +typedef struct sESETspecTspecInfo { + uint8_t numTspecs; + tTspecInfo tspec[SIR_ESE_MAX_TSPEC_IES]; +} tESETspecInfo; + +typedef struct sSirTsmIE { + uint8_t tsid; + uint8_t state; + uint16_t msmt_interval; +} tSirTsmIE, *tpSirTsmIE; +typedef struct sSirSmeTsmIEInd { + tSirTsmIE tsmIe; + uint8_t sessionId; +} tSirSmeTsmIEInd, *tpSirSmeTsmIEInd; +typedef struct sAniTrafStrmMetrics { + uint16_t UplinkPktQueueDly; + uint16_t UplinkPktQueueDlyHist[4]; + uint32_t UplinkPktTxDly; + uint16_t UplinkPktLoss; + uint16_t UplinkPktCount; + uint8_t RoamingCount; + uint16_t RoamingDly; +} tAniTrafStrmMetrics, *tpAniTrafStrmMetrics; + +typedef struct sAniGetTsmStatsReq { + /* Common for all types are requests */ + uint16_t msgType; /* message type is same as the request type */ + uint16_t msgLen; /* length of the entire request */ + uint8_t staId; + uint8_t tid; /* traffic id */ + struct qdf_mac_addr bssId; + void *tsmStatsCallback; + void *pDevContext; /* device context */ + void *p_cds_context; /* cds context */ +} tAniGetTsmStatsReq, *tpAniGetTsmStatsReq; + +typedef struct sAniGetTsmStatsRsp { + /* Common for all types are responses */ + uint16_t msgType; /* + * message type is same as + * the request type + */ + uint16_t msgLen; /* + * length of the entire request, + * includes the pStatsBuf length too + */ + uint8_t sessionId; + uint32_t rc; /* success/failure */ + uint32_t staId; /* + * Per STA stats request must + * contain valid + */ + tAniTrafStrmMetrics tsmMetrics; + void *tsmStatsReq; /* tsm stats request backup */ +} tAniGetTsmStatsRsp, *tpAniGetTsmStatsRsp; + +typedef struct sSirEseBcnReportBssInfo { + tBcnReportFields bcnReportFields; + uint8_t ieLen; + uint8_t *pBuf; +} tSirEseBcnReportBssInfo, *tpSirEseBcnReportBssInfo; + +typedef struct sSirEseBcnReportRsp { + uint16_t measurementToken; + uint8_t flag; /* Flag to report measurement done and more data */ + uint8_t numBss; + tSirEseBcnReportBssInfo bcnRepBssInfo[SIR_BCN_REPORT_MAX_BSS_DESC]; +} tSirEseBcnReportRsp, *tpSirEseBcnReportRsp; + +#define TSRS_11AG_RATE_6MBPS 0xC +#define TSRS_11B_RATE_5_5MBPS 0xB +typedef struct sSirMacESETSRSIE { + uint8_t tsid; + uint8_t rates[8]; +} tSirMacESETSRSIE; +typedef struct sSirMacESETSMIE { + uint8_t tsid; + uint8_t state; + uint16_t msmt_interval; +} tSirMacESETSMIE; +typedef struct sTSMStats { + uint8_t tid; + struct qdf_mac_addr bssid; + tTrafStrmMetrics tsmMetrics; +} tTSMStats, *tpTSMStats; +typedef struct sEseTSMContext { + uint8_t tid; + tSirMacESETSMIE tsmInfo; + tTrafStrmMetrics tsmMetrics; +} tEseTSMContext, *tpEseTSMContext; +typedef struct sEsePEContext { + tEseTSMContext tsm; +} tEsePEContext, *tpEsePEContext; + +typedef struct sSirPlmReq { + uint16_t diag_token; /* Dialog token */ + uint16_t meas_token; /* measurement token */ + uint16_t numBursts; /* total number of bursts */ + uint16_t burstInt; /* burst interval in seconds */ + uint16_t measDuration; /* in TU's,STA goes off-ch */ + /* no of times the STA should cycle through PLM ch list */ + uint8_t burstLen; + int8_t desiredTxPwr; /* desired tx power */ + struct qdf_mac_addr mac_addr; /* MC dest addr */ + /* no of channels */ + uint8_t plmNumCh; + /* channel numbers */ + uint8_t plmChList[WNI_CFG_VALID_CHANNEL_LIST_LEN]; + uint8_t sessionId; + bool enable; +} tSirPlmReq, *tpSirPlmReq; + +#endif /* FEATURE_WLAN_ESE */ + /* / Definition for response message to previously issued scan request */ typedef struct sSirSmeScanRsp { uint16_t messageType; /* eWNI_SME_SCAN_RSP */ @@ -1644,73 +1752,6 @@ typedef struct sAniGetSnrReq { int8_t snr; } tAniGetSnrReq, *tpAniGetSnrReq; -#if defined(FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_ESE_UPLOAD) -typedef struct sSirTsmIE { - uint8_t tsid; - uint8_t state; - uint16_t msmt_interval; -} tSirTsmIE, *tpSirTsmIE; -typedef struct sSirSmeTsmIEInd { - tSirTsmIE tsmIe; - uint8_t sessionId; -} tSirSmeTsmIEInd, *tpSirSmeTsmIEInd; -typedef struct sAniTrafStrmMetrics { - uint16_t UplinkPktQueueDly; - uint16_t UplinkPktQueueDlyHist[4]; - uint32_t UplinkPktTxDly; - uint16_t UplinkPktLoss; - uint16_t UplinkPktCount; - uint8_t RoamingCount; - uint16_t RoamingDly; -} tAniTrafStrmMetrics, *tpAniTrafStrmMetrics; - -typedef struct sAniGetTsmStatsReq { - /* Common for all types are requests */ - uint16_t msgType; /* message type is same as the request type */ - uint16_t msgLen; /* length of the entire request */ - uint8_t staId; - uint8_t tid; /* traffic id */ - struct qdf_mac_addr bssId; - void *tsmStatsCallback; - void *pDevContext; /* device context */ - void *p_cds_context; /* cds context */ -} tAniGetTsmStatsReq, *tpAniGetTsmStatsReq; - -typedef struct sAniGetTsmStatsRsp { - /* Common for all types are responses */ - uint16_t msgType; /* - * message type is same as - * the request type - */ - uint16_t msgLen; /* - * length of the entire request, - * includes the pStatsBuf length too - */ - uint8_t sessionId; - uint32_t rc; /* success/failure */ - uint32_t staId; /* - * Per STA stats request must - * contain valid - */ - tAniTrafStrmMetrics tsmMetrics; - void *tsmStatsReq; /* tsm stats request backup */ -} tAniGetTsmStatsRsp, *tpAniGetTsmStatsRsp; - -typedef struct sSirEseBcnReportBssInfo { - tBcnReportFields bcnReportFields; - uint8_t ieLen; - uint8_t *pBuf; -} tSirEseBcnReportBssInfo, *tpSirEseBcnReportBssInfo; - -typedef struct sSirEseBcnReportRsp { - uint16_t measurementToken; - uint8_t flag; /* Flag to report measurement done and more data */ - uint8_t numBss; - tSirEseBcnReportBssInfo bcnRepBssInfo[SIR_BCN_REPORT_MAX_BSS_DESC]; -} tSirEseBcnReportRsp, *tpSirEseBcnReportRsp; - -#endif /* FEATURE_WLAN_ESE || FEATURE_WLAN_ESE_UPLOAD */ - /* Change country code request MSG structure */ typedef struct sAniChangeCountryCodeReq { /* Common for all types are requests */ @@ -1877,33 +1918,6 @@ typedef struct sSirTclasInfo { } qdf_packed tclasParams; } qdf_packed tSirTclasInfo; -#if defined(FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_ESE_UPLOAD) -#define TSRS_11AG_RATE_6MBPS 0xC -#define TSRS_11B_RATE_5_5MBPS 0xB -typedef struct sSirMacESETSRSIE { - uint8_t tsid; - uint8_t rates[8]; -} tSirMacESETSRSIE; -typedef struct sSirMacESETSMIE { - uint8_t tsid; - uint8_t state; - uint16_t msmt_interval; -} tSirMacESETSMIE; -typedef struct sTSMStats { - uint8_t tid; - struct qdf_mac_addr bssid; - tTrafStrmMetrics tsmMetrics; -} tTSMStats, *tpTSMStats; -typedef struct sEseTSMContext { - uint8_t tid; - tSirMacESETSMIE tsmInfo; - tTrafStrmMetrics tsmMetrics; -} tEseTSMContext, *tpEseTSMContext; -typedef struct sEsePEContext { - tEseTSMContext tsm; -} tEsePEContext, *tpEsePEContext; -#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ - typedef struct sSirAddtsReqInfo { uint8_t dialogToken; tSirMacTspecIE tspec; @@ -1931,7 +1945,7 @@ typedef struct sSirAddtsRspInfo { tSirTclasInfo tclasInfo[SIR_MAC_TCLASIE_MAXNUM]; uint8_t tclasProc; tSirMacScheduleIE schedule; -#if defined(FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE tSirMacESETSMIE tsmIE; uint8_t tsmPresent:1; #endif @@ -1994,27 +2008,6 @@ typedef struct sSirDeltsRsp { tSirDeltsReqInfo rsp; } tSirDeltsRsp, *tpSirDeltsRsp; -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) -typedef struct sSirPlmReq { - uint16_t diag_token; /* Dialog token */ - uint16_t meas_token; /* measurement token */ - uint16_t numBursts; /* total number of bursts */ - uint16_t burstInt; /* burst interval in seconds */ - uint16_t measDuration; /* in TU's,STA goes off-ch */ - /* no of times the STA should cycle through PLM ch list */ - uint8_t burstLen; - int8_t desiredTxPwr; /* desired tx power */ - struct qdf_mac_addr mac_addr; /* MC dest addr */ - /* no of channels */ - uint8_t plmNumCh; - /* channel numbers */ - uint8_t plmChList[WNI_CFG_VALID_CHANNEL_LIST_LEN]; - uint8_t sessionId; - bool enable; -} tSirPlmReq, *tpSirPlmReq; -#endif - - #define SIR_QOS_NUM_AC_MAX 4 typedef struct sSirAggrQosReqInfo { diff --git a/core/mac/src/include/parser_api.h b/core/mac/src/include/parser_api.h index 256967d6599d..f48aac5c416f 100644 --- a/core/mac/src/include/parser_api.h +++ b/core/mac/src/include/parser_api.h @@ -280,7 +280,7 @@ typedef struct sSirAssocRsp { tDot11fIEOBSSScanParameters obss_scanparams; } tSirAssocRsp, *tpSirAssocRsp; -#if defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE /* Structure to hold ESE Beacon report mandatory IEs */ typedef struct sSirEseBcnReportMandatoryIe { tSirMacSSid ssId; @@ -301,7 +301,7 @@ typedef struct sSirEseBcnReportMandatoryIe { uint8_t timPresent; uint8_t rrmPresent; } tSirEseBcnReportMandatoryIe, *tpSirEseBcnReportMandatoryIe; -#endif /* FEATURE_WLAN_ESE_UPLOAD */ +#endif /* FEATURE_WLAN_ESE */ /** * struct s_ext_cap - holds bitfields of extended capability IE @@ -457,13 +457,6 @@ sir_parse_beacon_ie(struct sAniSirGlobal *pMac, tpSirProbeRespBeacon pBeaconStruct, uint8_t *pPayload, uint32_t payloadLength); -#if defined(FEATURE_WLAN_ESE_UPLOAD) -tSirRetStatus -sir_beacon_ie_ese_bcn_report(tpAniSirGlobal pMac, - uint8_t *pPayload, const uint32_t payloadLength, - uint8_t **outIeBuf, uint32_t *pOutIeLen); -#endif /* FEATURE_WLAN_ESE_UPLOAD */ - tSirRetStatus sir_convert_beacon_frame2_struct(struct sAniSirGlobal *pMac, uint8_t *pBeaconFrame, @@ -786,6 +779,11 @@ void populate_dot11_tsrsie(tpAniSirGlobal pMac, void populate_dot11f_re_assoc_tspec(tpAniSirGlobal pMac, tDot11fReAssocRequest *pReassoc, tpPESession psessionEntry); +tSirRetStatus +sir_beacon_ie_ese_bcn_report(tpAniSirGlobal pMac, + uint8_t *pPayload, const uint32_t payloadLength, + uint8_t **outIeBuf, uint32_t *pOutIeLen); + #endif void populate_dot11f_wmm_info_ap(tpAniSirGlobal pMac, diff --git a/core/mac/src/include/sir_params.h b/core/mac/src/include/sir_params.h index d8b64181c008..c9d78ddaeb69 100644 --- a/core/mac/src/include/sir_params.h +++ b/core/mac/src/include/sir_params.h @@ -479,7 +479,7 @@ typedef struct sSirMbMsgP2p { #define SIR_HAL_INIT_THERMAL_INFO_CMD (SIR_HAL_ITC_MSG_TYPES_BEGIN + 185) #define SIR_HAL_SET_THERMAL_LEVEL (SIR_HAL_ITC_MSG_TYPES_BEGIN + 186) -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE #define SIR_HAL_SET_PLM_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 187) #endif diff --git a/core/mac/src/pe/lim/lim_assoc_utils.c b/core/mac/src/pe/lim/lim_assoc_utils.c index 0dc7d791c979..72331a346757 100644 --- a/core/mac/src/pe/lim/lim_assoc_utils.c +++ b/core/mac/src/pe/lim/lim_assoc_utils.c @@ -623,8 +623,6 @@ lim_cleanup_rx_path(tpAniSirGlobal pMac, tpDphHashNode pStaDs, lim_deactivate_and_change_timer(pMac, eLIM_JOIN_FAIL_TIMER); pMac->lim.gLastBeaconDtimCount = 0; pMac->lim.gLastBeaconDtimPeriod = 0; - - } #ifdef WLAN_DEBUG /* increment a debug count */ @@ -4992,7 +4990,7 @@ void lim_send_sme_unprotected_mgmt_frame_ind(tpAniSirGlobal pMac, uint8_t frameT } #endif -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE /** ------------------------------------------------------------- \fn lim_send_sme_tsm_ie_ind \brief Forwards the TSM IE information to SME. @@ -5032,4 +5030,4 @@ void lim_send_sme_tsm_ie_ind(tpAniSirGlobal pMac, tpPESession psessionEntry, lim_sys_process_mmh_msg_api(pMac, &mmhMsg, ePROT); return; } -#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ +#endif /* FEATURE_WLAN_ESE */ diff --git a/core/mac/src/pe/lim/lim_assoc_utils.h b/core/mac/src/pe/lim/lim_assoc_utils.h index 9daef5193ebd..0331e5a973bc 100644 --- a/core/mac/src/pe/lim/lim_assoc_utils.h +++ b/core/mac/src/pe/lim/lim_assoc_utils.h @@ -166,7 +166,7 @@ void lim_send_sme_unprotected_mgmt_frame_ind(tpAniSirGlobal pMac, uint8_t frameT tpPESession psessionEntry); #endif -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE void lim_send_sme_tsm_ie_ind(tpAniSirGlobal pMac, tpPESession psessionEntry, uint8_t tid, uint8_t state, uint16_t measInterval); #else @@ -174,6 +174,6 @@ static inline void lim_send_sme_tsm_ie_ind(tpAniSirGlobal pMac, tpPESession psessionEntry, uint8_t tid, uint8_t state, uint16_t measInterval) {} -#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ +#endif /* FEATURE_WLAN_ESE */ #endif /* __LIM_ASSOC_UTILS_H */ diff --git a/core/mac/src/pe/lim/lim_process_action_frame.c b/core/mac/src/pe/lim/lim_process_action_frame.c index 81e076278913..bc4ccaff45db 100644 --- a/core/mac/src/pe/lim/lim_process_action_frame.c +++ b/core/mac/src/pe/lim/lim_process_action_frame.c @@ -813,11 +813,9 @@ static void __lim_process_add_ts_rsp(tpAniSirGlobal mac_ctx, addts.tspec.tsinfo.traffic.userPrio; qdf_mem_copy(&session->eseContext.tsm.tsmInfo, &addts.tsmIE, sizeof(tSirMacESETSMIE)); -#ifdef FEATURE_WLAN_ESE_UPLOAD lim_send_sme_tsm_ie_ind(mac_ctx, session, addts.tsmIE.tsid, addts.tsmIE.state, addts.tsmIE.msmt_interval); -#endif /* FEATURE_WLAN_ESE_UPLOAD */ } #endif /* @@ -1090,9 +1088,7 @@ static void __lim_process_del_ts_req(tpAniSirGlobal mac_ctx, lim_log(mac_ctx, LOG1, FL("DeleteTS succeeded")); #ifdef FEATURE_WLAN_ESE -#ifdef FEATURE_WLAN_ESE_UPLOAD lim_send_sme_tsm_ie_ind(mac_ctx, session, 0, 0, 0); -#endif /* FEATURE_WLAN_ESE_UPLOAD */ #endif } diff --git a/core/mac/src/pe/lim/lim_process_assoc_rsp_frame.c b/core/mac/src/pe/lim/lim_process_assoc_rsp_frame.c index adeee6ad8045..3fa8cf4c68c1 100644 --- a/core/mac/src/pe/lim/lim_process_assoc_rsp_frame.c +++ b/core/mac/src/pe/lim/lim_process_assoc_rsp_frame.c @@ -484,12 +484,10 @@ static void lim_update_ese_tsm(tpAniSirGlobal mac_ctx, assoc_rsp->TSPECInfo[cnt].user_priority; qdf_mem_copy(&tsm_ctx->tsmInfo, &assoc_rsp->tsmIE, sizeof(tSirMacESETSMIE)); -#ifdef FEATURE_WLAN_ESE_UPLOAD lim_send_sme_tsm_ie_ind(mac_ctx, session_entry, assoc_rsp->tsmIE.tsid, assoc_rsp->tsmIE.state, assoc_rsp->tsmIE.msmt_interval); -#endif if (tsm_ctx->tsmInfo.state) tsm_ctx->tsmMetrics.RoamingCount++; break; diff --git a/core/mac/src/pe/lim/lim_process_message_queue.c b/core/mac/src/pe/lim/lim_process_message_queue.c index e4b1649e7bfb..b239c8529c6b 100644 --- a/core/mac/src/pe/lim/lim_process_message_queue.c +++ b/core/mac/src/pe/lim/lim_process_message_queue.c @@ -1590,9 +1590,9 @@ void lim_process_messages(tpAniSirGlobal mac_ctx, tpSirMsgQ msg) case eWNI_SME_UPDATE_NOA: case eWNI_SME_CLEAR_DFS_CHANNEL_LIST: case eWNI_SME_GET_STATISTICS_REQ: -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE case eWNI_SME_GET_TSM_STATS_REQ: -#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ +#endif /* FEATURE_WLAN_ESE */ case eWNI_SME_REGISTER_MGMT_FRAME_CB: case eWNI_SME_EXT_CHANGE_CHANNEL: /* These messages are from HDD.No need to respond to HDD */ @@ -1734,10 +1734,8 @@ void lim_process_messages(tpAniSirGlobal mac_ctx, tpSirMsgQ msg) break; #ifdef FEATURE_WLAN_ESE case WMA_TSM_STATS_RSP: -#ifdef FEATURE_WLAN_ESE_UPLOAD lim_send_sme_pe_ese_tsm_rsp(mac_ctx, (tAniGetTsmStatsRsp *) msg->bodyptr); -#endif /* FEATURE_WLAN_ESE_UPLOAD */ break; #endif case WMA_ADD_TS_RSP: diff --git a/core/mac/src/pe/lim/lim_process_sme_req_messages.c b/core/mac/src/pe/lim/lim_process_sme_req_messages.c index 3c605798497f..3bbbf64c389b 100644 --- a/core/mac/src/pe/lim/lim_process_sme_req_messages.c +++ b/core/mac/src/pe/lim/lim_process_sme_req_messages.c @@ -3962,9 +3962,7 @@ static void __lim_process_sme_delts_req(tpAniSirGlobal pMac, uint32_t *pMsgBuf) status = eSIR_FAILURE; } #ifdef FEATURE_WLAN_ESE -#ifdef FEATURE_WLAN_ESE_UPLOAD lim_send_sme_tsm_ie_ind(pMac, psessionEntry, 0, 0, 0); -#endif /* FEATURE_WLAN_ESE_UPLOAD */ #endif /* send an sme response back */ @@ -4052,15 +4050,14 @@ __lim_process_sme_get_statistics_request(tpAniSirGlobal pMac, uint32_t *pMsgBuf) return; } -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE /** - *FUNCTION: __lim_process_sme_get_tsm_stats_request() + * __lim_process_sme_get_tsm_stats_request() - get tsm stats request * - ***NOTE: + * @pMac: Pointer to Global MAC structure + * @pMsgBuf: A pointer to the SME message buffer * - * @param pMac Pointer to Global MAC structure - * @param *pMsgBuf A pointer to the SME message buffer - * @return None + * Return: None */ static void __lim_process_sme_get_tsm_stats_request(tpAniSirGlobal pMac, uint32_t *pMsgBuf) @@ -4080,7 +4077,7 @@ __lim_process_sme_get_tsm_stats_request(tpAniSirGlobal pMac, uint32_t *pMsgBuf) return; } } -#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ +#endif /* FEATURE_WLAN_ESE */ static void __lim_process_sme_update_apwpsi_es(tpAniSirGlobal pMac, uint32_t *pMsgBuf) @@ -4880,12 +4877,12 @@ bool lim_process_sme_req_messages(tpAniSirGlobal pMac, tpSirMsgQ pMsg) /* HAL consumes pMsgBuf. It will be freed there. Set bufConsumed to false. */ bufConsumed = false; break; -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE case eWNI_SME_GET_TSM_STATS_REQ: __lim_process_sme_get_tsm_stats_request(pMac, pMsgBuf); bufConsumed = false; break; -#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ +#endif /* FEATURE_WLAN_ESE */ case eWNI_SME_GET_ASSOC_STAS_REQ: lim_process_sme_get_assoc_sta_info(pMac, pMsgBuf); break; diff --git a/core/mac/src/pe/lim/lim_send_sme_rsp_messages.c b/core/mac/src/pe/lim/lim_send_sme_rsp_messages.c index c6565a52f809..54eb1f07951c 100644 --- a/core/mac/src/pe/lim/lim_send_sme_rsp_messages.c +++ b/core/mac/src/pe/lim/lim_send_sme_rsp_messages.c @@ -1907,23 +1907,20 @@ lim_send_sme_pe_statistics_rsp(tpAniSirGlobal pMac, uint16_t msgType, void *stat } /*** end lim_send_sme_pe_statistics_rsp() ***/ -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE /** - * lim_send_sme_pe_ese_tsm_rsp() + * lim_send_sme_pe_ese_tsm_rsp() - send tsm response + * @pMac: Pointer to global pMac structure + * @pStats: Pointer to TSM Stats * - ***FUNCTION: * This function is called to send tsm stats response to HDD. * This function posts the result back to HDD. This is a response to * HDD's request to get tsm stats. * - ***PARAMS: - * @param pMac - Pointer to global pMac structure - * @param pStats - Pointer to TSM Stats - * - * @return none + * Return: None */ - -void lim_send_sme_pe_ese_tsm_rsp(tpAniSirGlobal pMac, tAniGetTsmStatsRsp *pStats) +void lim_send_sme_pe_ese_tsm_rsp(tpAniSirGlobal pMac, + tAniGetTsmStatsRsp *pStats) { tSirMsgQ mmhMsg; uint8_t sessionId; @@ -1940,9 +1937,8 @@ void lim_send_sme_pe_ese_tsm_rsp(tpAniSirGlobal pMac, tAniGetTsmStatsRsp *pStats pPeStats->sessionId = pPeSessionEntry->smeSessionId; } else { PELOGE(lim_log - (pMac, LOGE, FL("Session not found for the Sta id(%d)"), - pPeStats->staId); - ) + (pMac, LOGE, FL("Session not found for the Sta id(%d)"), + pPeStats->staId);) return; } @@ -1961,7 +1957,7 @@ void lim_send_sme_pe_ese_tsm_rsp(tpAniSirGlobal pMac, tAniGetTsmStatsRsp *pStats return; } /*** end lim_send_sme_pe_ese_tsm_rsp() ***/ -#endif /* FEATURE_WLAN_ESE) && FEATURE_WLAN_ESE_UPLOAD */ +#endif /* FEATURE_WLAN_ESE */ void lim_send_sme_ibss_peer_ind(tpAniSirGlobal pMac, diff --git a/core/mac/src/pe/lim/lim_send_sme_rsp_messages.h b/core/mac/src/pe/lim/lim_send_sme_rsp_messages.h index 4e94f4246678..f8997d19bc43 100644 --- a/core/mac/src/pe/lim/lim_send_sme_rsp_messages.h +++ b/core/mac/src/pe/lim/lim_send_sme_rsp_messages.h @@ -89,7 +89,7 @@ void lim_send_sme_stats_rsp(tpAniSirGlobal pMac, uint16_t msgtype, void *stats); void lim_send_sme_pe_statistics_rsp(tpAniSirGlobal pMac, uint16_t msgtype, void *stats); -#ifdef FEATURE_WLAN_ESE_UPLOAD +#ifdef FEATURE_WLAN_ESE void lim_send_sme_pe_ese_tsm_rsp(tpAniSirGlobal pMac, tAniGetTsmStatsRsp *pStats); #endif diff --git a/core/mac/src/pe/lim/lim_utils.c b/core/mac/src/pe/lim/lim_utils.c index 1f349688f72e..65a231fd8605 100644 --- a/core/mac/src/pe/lim/lim_utils.c +++ b/core/mac/src/pe/lim/lim_utils.c @@ -422,12 +422,12 @@ char *lim_msg_str(uint32_t msgType) return "eWNI_PMC_EXIT_BMPS_IND"; case eWNI_SME_SET_BCN_FILTER_REQ: return "eWNI_SME_SET_BCN_FILTER_REQ"; -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE case eWNI_SME_GET_TSM_STATS_REQ: return "eWNI_SME_GET_TSM_STATS_REQ"; case eWNI_SME_GET_TSM_STATS_RSP: return "eWNI_SME_GET_TSM_STATS_RSP"; -#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ +#endif /* FEATURE_WLAN_ESE */ case eWNI_SME_CSA_OFFLOAD_EVENT: return "eWNI_SME_CSA_OFFLOAD_EVENT"; case eWNI_SME_SET_HW_MODE_REQ: diff --git a/core/mac/src/sys/legacy/src/utils/src/mac_trace.c b/core/mac/src/sys/legacy/src/utils/src/mac_trace.c index e9adfc85fafc..75b4b5a06be0 100644 --- a/core/mac/src/sys/legacy/src/utils/src/mac_trace.c +++ b/core/mac/src/sys/legacy/src/utils/src/mac_trace.c @@ -467,7 +467,7 @@ uint8_t *mac_trace_get_wma_msg_string(uint16_t wma_msg) #ifndef REMOVE_PKT_LOG CASE_RETURN_STRING(WMA_PKTLOG_ENABLE_REQ); #endif -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE CASE_RETURN_STRING(WMA_SET_PLM_REQ); #endif CASE_RETURN_STRING(WMA_CONFIG_PARAM_UPDATE_REQ); diff --git a/core/mac/src/sys/legacy/src/utils/src/parser_api.c b/core/mac/src/sys/legacy/src/utils/src/parser_api.c index b41e6163ed56..e94a5f6d2b02 100644 --- a/core/mac/src/sys/legacy/src/utils/src/parser_api.c +++ b/core/mac/src/sys/legacy/src/utils/src/parser_api.c @@ -3110,7 +3110,7 @@ sir_convert_reassoc_req_frame2_struct(tpAniSirGlobal pMac, } /* End sir_convert_reassoc_req_frame2_struct. */ -#if defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE tSirRetStatus sir_beacon_ie_ese_bcn_report(tpAniSirGlobal pMac, uint8_t *pPayload, const uint32_t nPayload, @@ -3409,7 +3409,7 @@ err_bcnrep: return retStatus; } -#endif /* FEATURE_WLAN_ESE_UPLOAD */ +#endif /* FEATURE_WLAN_ESE */ tSirRetStatus sir_parse_beacon_ie(tpAniSirGlobal pMac, diff --git a/core/sme/inc/csr_api.h b/core/sme/inc/csr_api.h index dd18be8b54f4..5570ac6ab277 100644 --- a/core/sme/inc/csr_api.h +++ b/core/sme/inc/csr_api.h @@ -323,15 +323,13 @@ typedef struct tagCsrEseCckmInfo { uint8_t btk[SIR_BTK_KEY_LEN]; #endif } tCsrEseCckmInfo; -#endif -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) #define CSR_DOT11F_IE_RSN_MAX_LEN (114) typedef struct tagCsrEseCckmIe { uint8_t cckmIe[CSR_DOT11F_IE_RSN_MAX_LEN]; uint8_t cckmIeLen; } tCsrEseCckmIe; -#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ +#endif /* FEATURE_WLAN_ESE */ typedef struct sCsrChannel_ { uint8_t numChannels; @@ -481,12 +479,12 @@ typedef enum { eCSR_ROAM_IBSS_PEER_INFO_COMPLETE, -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE eCSR_ROAM_TSM_IE_IND, eCSR_ROAM_CCKM_PREAUTH_NOTIFY, eCSR_ROAM_ESE_ADJ_AP_REPORT_IND, eCSR_ROAM_ESE_BCN_REPORT_IND, -#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ +#endif /* FEATURE_WLAN_ESE */ /* Radar indication from lower layers */ eCSR_ROAM_DFS_RADAR_IND, @@ -1291,12 +1289,10 @@ typedef struct tagCsrRoamInfo { uint32_t dtimPeriod; #ifdef FEATURE_WLAN_ESE bool isESEAssoc; -#ifdef FEATURE_WLAN_ESE_UPLOAD tSirTsmIE tsmIe; uint32_t timestamp[2]; uint16_t tsmRoamDelay; tSirEseBcnReportRsp *pEseBcnReportRsp; -#endif /* FEATURE_WLAN_ESE_UPLOAD */ #endif void *pRemainCtx; uint32_t roc_scan_id; @@ -1506,7 +1502,7 @@ typedef struct tagCsrHandoffRequest { uint8_t src; /* To check if its a REASSOC or a FASTREASSOC IOCTL */ } tCsrHandoffRequest; -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE typedef struct tagCsrEseBeaconReqParams { uint16_t measurementToken; uint8_t channel; @@ -1518,7 +1514,7 @@ typedef struct tagCsrEseBeaconReq { uint8_t numBcnReqIe; tCsrEseBeaconReqParams bcnReq[SIR_ESE_MAX_MEAS_IE_REQS]; } tCsrEseBeaconReq, *tpCsrEseBeaconReq; -#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ +#endif /* FEATURE_WLAN_ESE */ struct tagCsrDelStaParams { struct qdf_mac_addr peerMacAddr; @@ -1572,10 +1568,10 @@ typedef void (*csr_roamLinkQualityIndCallback) typedef void (*tCsrStatsCallback)(void *stats, void *pContext); typedef void (*tCsrRssiCallback)(int8_t rssi, uint32_t staId, void *pContext); -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE typedef void (*tCsrTsmStatsCallback)(tAniTrafStrmMetrics tsmMetrics, uint32_t staId, void *pContext); -#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ +#endif /* FEATURE_WLAN_ESE */ typedef void (*tCsrSnrCallback)(int8_t snr, uint32_t staId, void *pContext); QDF_STATUS csr_roam_issue_ft_preauth_req(tHalHandle hHal, uint32_t sessionId, diff --git a/core/sme/inc/csr_internal.h b/core/sme/inc/csr_internal.h index c8e99912eb8c..07246ae2eeff 100644 --- a/core/sme/inc/csr_internal.h +++ b/core/sme/inc/csr_internal.h @@ -944,10 +944,8 @@ typedef struct tagCsrRoamSession { uint8_t prevOpChannel; uint16_t clientDissSecs; uint32_t roamTS1; -#if defined(FEATURE_WLAN_ESE_UPLOAD) tCsrEseCckmIe suppCckmIeInfo; #endif -#endif uint8_t bRefAssocStartCnt; /* Tracking assoc start indication */ tSirHTConfig htConfig; #ifdef FEATURE_WLAN_SCAN_PNO @@ -1225,13 +1223,6 @@ QDF_STATUS csr_get_rssi(tpAniSirGlobal pMac, tCsrRssiCallback callback, void *pContext, void *p_cds_context); QDF_STATUS csr_get_snr(tpAniSirGlobal pMac, tCsrSnrCallback callback, uint8_t staId, struct qdf_mac_addr bssId, void *pContext); -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) -QDF_STATUS csr_get_tsm_stats(tpAniSirGlobal pMac, - tCsrTsmStatsCallback callback, - uint8_t staId, - struct qdf_mac_addr bssId, - void *pContext, void *p_cds_context, uint8_t tid); -#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ QDF_STATUS csr_get_config_param(tpAniSirGlobal pMac, tCsrConfigParam *pParam); QDF_STATUS csr_change_default_config_param(tpAniSirGlobal pMac, tCsrConfigParam *pParam); @@ -1293,6 +1284,11 @@ bool csr_roam_is11r_assoc(tpAniSirGlobal pMac, uint8_t sessionId); bool csr_roam_is_ese_assoc(tpAniSirGlobal pMac, uint8_t sessionId); bool csr_roam_is_ese_ini_feature_enabled(tpAniSirGlobal pMac); bool csr_neighbor_roam_is_ese_assoc(tpAniSirGlobal pMac, uint8_t sessionId); +QDF_STATUS csr_get_tsm_stats(tpAniSirGlobal pMac, + tCsrTsmStatsCallback callback, + uint8_t staId, + struct qdf_mac_addr bssId, + void *pContext, void *p_cds_context, uint8_t tid); #endif /* Remove this code once SLM_Sessionization is supported */ diff --git a/core/sme/inc/csr_neighbor_roam.h b/core/sme/inc/csr_neighbor_roam.h index aeafbad84d09..30af1b19641a 100644 --- a/core/sme/inc/csr_neighbor_roam.h +++ b/core/sme/inc/csr_neighbor_roam.h @@ -282,12 +282,12 @@ QDF_STATUS csr_neighbor_roam_sssid_scan_done(tpAniSirGlobal pMac, QDF_STATUS csr_neighbor_roam_start_lfr_scan(tpAniSirGlobal pMac, uint8_t sessionId); -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE QDF_STATUS csr_set_cckm_ie(tpAniSirGlobal pMac, const uint8_t sessionId, const uint8_t *pCckmIe, const uint8_t ccKmIeLen); QDF_STATUS csr_roam_read_tsf(tpAniSirGlobal pMac, uint8_t *pTimestamp, const uint8_t sessionId); -#endif /*FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ +#endif /* FEATURE_WLAN_ESE */ #ifdef WLAN_FEATURE_ROAM_OFFLOAD QDF_STATUS csr_neighbor_roam_offload_update_preauth_list(tpAniSirGlobal pMac, roam_offload_synch_ind *roam_synch_ind_ptr, uint8_t sessionId); diff --git a/core/sme/inc/sme_api.h b/core/sme/inc/sme_api.h index b14929a06114..3d3f8c8f7394 100644 --- a/core/sme/inc/sme_api.h +++ b/core/sme/inc/sme_api.h @@ -231,10 +231,6 @@ static inline void sme_update_roam_pno_channel_prediction_config( QDF_STATUS sme_update_config(tHalHandle hHal, tpSmeConfigParams pSmeConfigParams); -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) -QDF_STATUS sme_set_plm_request(tHalHandle hHal, tpSirPlmReq pPlm); -#endif - QDF_STATUS sme_set11dinfo(tHalHandle hHal, tpSmeConfigParams pSmeConfigParams); QDF_STATUS sme_get_soft_ap_domain(tHalHandle hHal, v_REGDOMAIN_t *domainIdSoftAp); @@ -337,7 +333,7 @@ QDF_STATUS sme_get_rssi(tHalHandle hHal, QDF_STATUS sme_get_snr(tHalHandle hHal, tCsrSnrCallback callback, uint8_t staId, struct qdf_mac_addr bssId, void *pContext); -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE QDF_STATUS sme_get_tsm_stats(tHalHandle hHal, tCsrTsmStatsCallback callback, uint8_t staId, struct qdf_mac_addr bssId, @@ -347,7 +343,8 @@ QDF_STATUS sme_set_cckm_ie(tHalHandle hHal, uint8_t *pCckmIe, uint8_t cckmIeLen); QDF_STATUS sme_set_ese_beacon_request(tHalHandle hHal, const uint8_t sessionId, const tCsrEseBeaconReq *pEseBcnReq); -#endif /*FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ +QDF_STATUS sme_set_plm_request(tHalHandle hHal, tpSirPlmReq pPlm); +#endif /*FEATURE_WLAN_ESE */ QDF_STATUS sme_cfg_set_int(tHalHandle hal, uint16_t cfg_id, uint32_t value); QDF_STATUS sme_cfg_set_str(tHalHandle hal, uint16_t cfg_id, uint8_t *str, uint32_t length); @@ -645,11 +642,9 @@ uint8_t sme_get_roam_rssi_diff(tHalHandle hHal); QDF_STATUS sme_change_roam_scan_channel_list(tHalHandle hHal, uint8_t sessionId, uint8_t *pChannelList, uint8_t numChannels); -#ifdef FEATURE_WLAN_ESE_UPLOAD QDF_STATUS sme_set_ese_roam_scan_channel_list(tHalHandle hHal, uint8_t sessionId, uint8_t *pChannelList, uint8_t numChannels); -#endif QDF_STATUS sme_get_roam_scan_channel_list(tHalHandle hHal, uint8_t *pChannelList, uint8_t *pNumChannels, uint8_t sessionId); diff --git a/core/sme/inc/sme_inside.h b/core/sme/inc/sme_inside.h index 65ee8cd83843..cf5614ded55d 100644 --- a/core/sme/inc/sme_inside.h +++ b/core/sme/inc/sme_inside.h @@ -272,7 +272,7 @@ QDF_STATUS csr_create_bg_scan_roam_channel_list(tpAniSirGlobal pMac, QDF_STATUS csr_update_bg_scan_config_ini_channel_list(tpAniSirGlobal pMac, uint8_t sessionId, eCsrBand eBand); -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE QDF_STATUS csr_create_roam_scan_channel_list(tpAniSirGlobal pMac, uint8_t sessionId, uint8_t *pChannelList, diff --git a/core/sme/inc/sme_rrm_internal.h b/core/sme/inc/sme_rrm_internal.h index a4eb3b5a3355..d172894acb3f 100644 --- a/core/sme/inc/sme_rrm_internal.h +++ b/core/sme/inc/sme_rrm_internal.h @@ -88,10 +88,10 @@ typedef struct sRrmSMEContext { tDblLinkList neighborReportCache; tRrmNeighborRequestControlInfo neighborReqControlInfo; -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE tCsrEseBeaconReq eseBcnReqInfo; bool eseBcnReqInProgress; -#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ +#endif /* FEATURE_WLAN_ESE */ tRrmMsgReqSource msgSource; } tRrmSMEContext, *tpRrmSMEContext; diff --git a/core/sme/src/common/sme_api.c b/core/sme/src/common/sme_api.c index 6840dcf32361..39a5fe27c5a2 100644 --- a/core/sme/src/common/sme_api.c +++ b/core/sme/src/common/sme_api.c @@ -92,7 +92,7 @@ QDF_STATUS sme_handle_generic_change_country_code(tpAniSirGlobal pMac, QDF_STATUS sme_process_nss_update_resp(tpAniSirGlobal mac, uint8_t *msg); -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE bool csr_is_supported_channel(tpAniSirGlobal pMac, uint8_t channelId); #endif @@ -1264,93 +1264,6 @@ QDF_STATUS sme_set_reg_info(tHalHandle hHal, uint8_t *apCntryCode) return status; } -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) -QDF_STATUS sme_set_plm_request(tHalHandle hHal, tpSirPlmReq pPlmReq) -{ - QDF_STATUS status; - bool ret = false; - tpAniSirGlobal pMac = PMAC_STRUCT(hHal); - uint8_t ch_list[WNI_CFG_VALID_CHANNEL_LIST] = { 0 }; - uint8_t count, valid_count = 0; - cds_msg_t msg; - tCsrRoamSession *pSession = CSR_GET_SESSION(pMac, pPlmReq->sessionId); - - status = sme_acquire_global_lock(&pMac->sme); - if (!QDF_IS_STATUS_SUCCESS(status)) - return status; - - if (!pSession) { - sms_log(pMac, LOGE, FL("session %d not found"), - pPlmReq->sessionId); - sme_release_global_lock(&pMac->sme); - return QDF_STATUS_E_FAILURE; - } - - if (!pSession->sessionActive) { - QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR, - FL("Invalid Sessionid")); - sme_release_global_lock(&pMac->sme); - return QDF_STATUS_E_FAILURE; - } - - if (!pPlmReq->enable) - goto send_plm_start; - /* validating channel numbers */ - for (count = 0; count < pPlmReq->plmNumCh; count++) { - ret = csr_is_supported_channel(pMac, pPlmReq->plmChList[count]); - if (ret && pPlmReq->plmChList[count] > 14) { - if (CHANNEL_STATE_DFS == cds_get_channel_state( - pPlmReq->plmChList[count])) { - /* DFS channel is provided, no PLM bursts can be - * transmitted. Ignoring these channels. - */ - QDF_TRACE(QDF_MODULE_ID_SME, - QDF_TRACE_LEVEL_INFO, - FL("DFS channel %d ignored for PLM"), - pPlmReq->plmChList[count]); - continue; - } - } else if (!ret) { - /* Not supported, ignore the channel */ - QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_INFO, - FL("Unsupported channel %d ignored for PLM"), - pPlmReq->plmChList[count]); - continue; - } - ch_list[valid_count] = pPlmReq->plmChList[count]; - valid_count++; - } /* End of for () */ - - /* Copying back the valid channel list to plm struct */ - qdf_mem_set((void *)pPlmReq->plmChList, - pPlmReq->plmNumCh, 0); - if (valid_count) - qdf_mem_copy(pPlmReq->plmChList, ch_list, - valid_count); - /* All are invalid channels, FW need to send the PLM - * report with "incapable" bit set. - */ - pPlmReq->plmNumCh = valid_count; - -send_plm_start: - /* PLM START */ - msg.type = WMA_SET_PLM_REQ; - msg.reserved = 0; - msg.bodyptr = pPlmReq; - - if (!QDF_IS_STATUS_SUCCESS(cds_mq_post_message(QDF_MODULE_ID_WMA, - &msg))) { - QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR, - FL("Not able to post WMA_SET_PLM_REQ to WMA")); - sme_release_global_lock(&pMac->sme); - return QDF_STATUS_E_FAILURE; - } - - sme_release_global_lock(&pMac->sme); - return status; -} -#endif - /** * sme_update_fine_time_measurement_capab() - Update the FTM capabitlies from * incoming val @@ -1980,13 +1893,181 @@ static QDF_STATUS sme_extended_change_channel_ind(tpAniSirGlobal mac_ctx, return status; } -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) -/*------------------------------------------------------------------ +/** + * sme_process_fw_mem_dump_rsp - process fw memory dump response from WMA + * + * @mac_ctx: pointer to MAC handle. + * @msg: pointer to received SME msg. + * + * This function process the received SME message and calls the corresponding + * callback which was already registered with SME. + * + * Return: None + */ +#ifdef WLAN_FEATURE_MEMDUMP +static void sme_process_fw_mem_dump_rsp(tpAniSirGlobal mac_ctx, cds_msg_t *msg) +{ + if (msg->bodyptr) { + if (mac_ctx->sme.fw_dump_callback) + mac_ctx->sme.fw_dump_callback(mac_ctx->hHdd, + (struct fw_dump_rsp *) msg->bodyptr); + qdf_mem_free(msg->bodyptr); + } +} +#else +static void sme_process_fw_mem_dump_rsp(tpAniSirGlobal mac_ctx, cds_msg_t *msg) +{ +} +#endif + +#ifdef FEATURE_WLAN_ESE +/** + * sme_update_is_ese_feature_enabled() - enable/disable ESE support at runtime + * @hHal: HAL handle + * @sessionId: session id + * @isEseIniFeatureEnabled: ese ini enabled + * + * It is used at in the REG_DYNAMIC_VARIABLE macro definition of + * isEseIniFeatureEnabled. This is a synchronous call + * + * Return: QDF_STATUS enumeration + */ +QDF_STATUS sme_update_is_ese_feature_enabled(tHalHandle hHal, + uint8_t sessionId, const bool isEseIniFeatureEnabled) +{ + tpAniSirGlobal pMac = PMAC_STRUCT(hHal); + + if (pMac->roam.configParam.isEseIniFeatureEnabled == + isEseIniFeatureEnabled) { + QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_INFO, + "%s: ESE Mode is already enabled or disabled, nothing to do (returning) old(%d) new(%d)", + __func__, + pMac->roam.configParam.isEseIniFeatureEnabled, + isEseIniFeatureEnabled); + return QDF_STATUS_SUCCESS; + } + + QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_INFO, + "%s: EseEnabled is changed from %d to %d", __func__, + pMac->roam.configParam.isEseIniFeatureEnabled, + isEseIniFeatureEnabled); + pMac->roam.configParam.isEseIniFeatureEnabled = isEseIniFeatureEnabled; + csr_neighbor_roam_update_ese_mode_enabled(pMac, sessionId, + isEseIniFeatureEnabled); + + if (true == isEseIniFeatureEnabled) + sme_update_fast_transition_enabled(hHal, true); + + if (pMac->roam.configParam.isRoamOffloadScanEnabled) + csr_roam_offload_scan(pMac, sessionId, + ROAM_SCAN_OFFLOAD_UPDATE_CFG, + REASON_ESE_INI_CFG_CHANGED); + + return QDF_STATUS_SUCCESS; +} + +/** + * sme_set_plm_request() - set plm request + * @hHal: HAL handle + * @pPlmReq: Pointer to input plm request + * + * Return: QDF_STATUS enumeration + */ +QDF_STATUS sme_set_plm_request(tHalHandle hHal, tpSirPlmReq pPlmReq) +{ + QDF_STATUS status; + bool ret = false; + tpAniSirGlobal pMac = PMAC_STRUCT(hHal); + uint8_t ch_list[WNI_CFG_VALID_CHANNEL_LIST] = { 0 }; + uint8_t count, valid_count = 0; + cds_msg_t msg; + tCsrRoamSession *pSession = CSR_GET_SESSION(pMac, pPlmReq->sessionId); + + status = sme_acquire_global_lock(&pMac->sme); + if (!QDF_IS_STATUS_SUCCESS(status)) + return status; + + if (!pSession) { + sms_log(pMac, LOGE, FL("session %d not found"), + pPlmReq->sessionId); + sme_release_global_lock(&pMac->sme); + return QDF_STATUS_E_FAILURE; + } + + if (!pSession->sessionActive) { + QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR, + FL("Invalid Sessionid")); + sme_release_global_lock(&pMac->sme); + return QDF_STATUS_E_FAILURE; + } + + if (!pPlmReq->enable) + goto send_plm_start; + /* validating channel numbers */ + for (count = 0; count < pPlmReq->plmNumCh; count++) { + ret = csr_is_supported_channel(pMac, pPlmReq->plmChList[count]); + if (ret && pPlmReq->plmChList[count] > 14) { + if (CHANNEL_STATE_DFS == cds_get_channel_state( + pPlmReq->plmChList[count])) { + /* DFS channel is provided, no PLM bursts can be + * transmitted. Ignoring these channels. + */ + QDF_TRACE(QDF_MODULE_ID_SME, + QDF_TRACE_LEVEL_INFO, + FL("DFS channel %d ignored for PLM"), + pPlmReq->plmChList[count]); + continue; + } + } else if (!ret) { + /* Not supported, ignore the channel */ + QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_INFO, + FL("Unsupported channel %d ignored for PLM"), + pPlmReq->plmChList[count]); + continue; + } + ch_list[valid_count] = pPlmReq->plmChList[count]; + valid_count++; + } /* End of for () */ + + /* Copying back the valid channel list to plm struct */ + qdf_mem_set((void *)pPlmReq->plmChList, + pPlmReq->plmNumCh, 0); + if (valid_count) + qdf_mem_copy(pPlmReq->plmChList, ch_list, + valid_count); + /* All are invalid channels, FW need to send the PLM + * report with "incapable" bit set. + */ + pPlmReq->plmNumCh = valid_count; + +send_plm_start: + /* PLM START */ + msg.type = WMA_SET_PLM_REQ; + msg.reserved = 0; + msg.bodyptr = pPlmReq; + + if (!QDF_IS_STATUS_SUCCESS(cds_mq_post_message(QDF_MODULE_ID_WMA, + &msg))) { + QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR, + FL("Not able to post WMA_SET_PLM_REQ to WMA")); + sme_release_global_lock(&pMac->sme); + return QDF_STATUS_E_FAILURE; + } + + sme_release_global_lock(&pMac->sme); + return status; +} + +/** + * sme_tsm_ie_ind() - sme tsm ie indication + * @hHal: HAL handle + * @pSmeTsmIeInd: Pointer to tsm ie indication * * Handle the tsm ie indication from LIM and forward it to HDD. * - *------------------------------------------------------------------*/ -QDF_STATUS sme_tsm_ie_ind(tHalHandle hHal, tSirSmeTsmIEInd *pSmeTsmIeInd) + * Return: QDF_STATUS enumeration + */ +static QDF_STATUS sme_tsm_ie_ind(tHalHandle hHal, tSirSmeTsmIEInd *pSmeTsmIeInd) { tpAniSirGlobal pMac = PMAC_STRUCT(hHal); QDF_STATUS status = QDF_STATUS_SUCCESS; @@ -2001,16 +2082,18 @@ QDF_STATUS sme_tsm_ie_ind(tHalHandle hHal, tSirSmeTsmIEInd *pSmeTsmIeInd) return status; } -/* --------------------------------------------------------------------------- - \fn sme_set_cckm_ie - \brief function to store the CCKM IE passed from supplicant and use - it while packing reassociation request - \param hHal - HAL handle for device - \param sessionId - Session Identifier - \param pCckmIe - pointer to CCKM IE data - \param pCckmIeLen - length of the CCKM IE - \- return Success or failure - -------------------------------------------------------------------------*/ +/** + * sme_set_cckm_ie() - set cckm ie + * @hHal: HAL handle + * @sessionId: session id + * @pCckmIe: Pointer to CCKM Ie + * @cckmIeLen: Length of @pCckmIe + * + * Function to store the CCKM IE passed from supplicant and use + * it while packing reassociation request. + * + * Return: QDF_STATUS enumeration + */ QDF_STATUS sme_set_cckm_ie(tHalHandle hHal, uint8_t sessionId, uint8_t *pCckmIe, uint8_t cckmIeLen) { @@ -2024,14 +2107,16 @@ QDF_STATUS sme_set_cckm_ie(tHalHandle hHal, uint8_t sessionId, return status; } -/* --------------------------------------------------------------------------- - \fn sme_set_ese_beacon_request - \brief function to set ESE beacon request parameters - \param hHal - HAL handle for device - \param sessionId - Session id - \param pEseBcnReq - pointer to ESE beacon request - \- return Success or failure - -------------------------------------------------------------------------*/ +/** + * sme_set_ese_beacon_request() - set ese beacon request + * @hHal: HAL handle + * @sessionId: session id + * @pEseBcnReq: Ese beacon report + * + * function to set ESE beacon request parameters + * + * Return: QDF_STATUS enumeration + */ QDF_STATUS sme_set_ese_beacon_request(tHalHandle hHal, const uint8_t sessionId, const tCsrEseBeaconReq *pEseBcnReq) { @@ -2094,7 +2179,106 @@ QDF_STATUS sme_set_ese_beacon_request(tHalHandle hHal, const uint8_t sessionId, return status; } -#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ +/** + * sme_get_tsm_stats() - SME get tsm stats + * @hHal: HAL handle + * @callback: SME sends back the requested stats using the callback + * @staId: The station ID for which the stats is requested for + * @bssId: bssid + * @pContext: user context to be passed back along with the callback + * @p_cds_context: CDS context + * @tid: Traffic id + * + * API register a callback to get TSM Stats. + * + * Return: QDF_STATUS enumeration + */ +QDF_STATUS sme_get_tsm_stats(tHalHandle hHal, + tCsrTsmStatsCallback callback, + uint8_t staId, struct qdf_mac_addr bssId, + void *pContext, void *p_cds_context, uint8_t tid) +{ + QDF_STATUS status = QDF_STATUS_E_FAILURE; + tpAniSirGlobal pMac = PMAC_STRUCT(hHal); + + status = sme_acquire_global_lock(&pMac->sme); + if (QDF_IS_STATUS_SUCCESS(status)) { + status = csr_get_tsm_stats(pMac, callback, + staId, bssId, pContext, + p_cds_context, tid); + sme_release_global_lock(&pMac->sme); + } + return status; +} + +/** + * sme_set_ese_roam_scan_channel_list() - To set ese roam scan channel list + * @hHal: pointer HAL handle returned by mac_open + * @sessionId: sme session id + * @pChannelList: Output channel list + * @numChannels: Output number of channels + * + * This routine is called to set ese roam scan channel list. + * This is a synchronous call + * + * Return: QDF_STATUS + */ +QDF_STATUS sme_set_ese_roam_scan_channel_list(tHalHandle hHal, + uint8_t sessionId, + uint8_t *pChannelList, + uint8_t numChannels) +{ + tpAniSirGlobal pMac = PMAC_STRUCT(hHal); + QDF_STATUS status = QDF_STATUS_SUCCESS; + tpCsrNeighborRoamControlInfo pNeighborRoamInfo + = &pMac->roam.neighborRoamInfo[sessionId]; + tpCsrChannelInfo curchnl_list_info + = &pNeighborRoamInfo->roamChannelInfo.currentChannelListInfo; + uint8_t oldChannelList[WNI_CFG_VALID_CHANNEL_LIST_LEN * 2] = { 0 }; + uint8_t newChannelList[128] = { 0 }; + uint8_t i = 0, j = 0; + + status = sme_acquire_global_lock(&pMac->sme); + if (!QDF_IS_STATUS_SUCCESS(status)) { + if (pMac->roam.configParam.isRoamOffloadScanEnabled) + csr_roam_offload_scan(pMac, sessionId, + ROAM_SCAN_OFFLOAD_UPDATE_CFG, + REASON_CHANNEL_LIST_CHANGED); + return status; + } + if (NULL != curchnl_list_info->ChannelList) { + for (i = 0; i < curchnl_list_info->numOfChannels; i++) { + j += snprintf(oldChannelList + j, + sizeof(oldChannelList) - j, "%d", + curchnl_list_info->ChannelList[i]); + } + } + status = csr_create_roam_scan_channel_list(pMac, sessionId, + pChannelList, numChannels, + csr_get_current_band(hHal)); + if (QDF_IS_STATUS_SUCCESS(status)) { + if (NULL != curchnl_list_info->ChannelList) { + j = 0; + for (i = 0; i < curchnl_list_info->numOfChannels; i++) { + j += snprintf(newChannelList + j, + sizeof(newChannelList) - j, "%d", + curchnl_list_info->ChannelList[i]); + } + } + QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, + "ESE roam scan chnl list successfully set to %s-old value is %s-roam state is %d", + newChannelList, oldChannelList, + pNeighborRoamInfo->neighborRoamState); + } + sme_release_global_lock(&pMac->sme); + if (pMac->roam.configParam.isRoamOffloadScanEnabled) + csr_roam_offload_scan(pMac, sessionId, + ROAM_SCAN_OFFLOAD_UPDATE_CFG, + REASON_CHANNEL_LIST_CHANGED); + return status; +} + +#endif /* FEATURE_WLAN_ESE */ QDF_STATUS sme_ibss_peer_info_response_handleer(tHalHandle hHal, tpSirIbssGetPeerInfoRspParams @@ -2119,33 +2303,6 @@ QDF_STATUS sme_ibss_peer_info_response_handleer(tHalHandle hHal, } /** - * sme_process_fw_mem_dump_rsp - process fw memory dump response from WMA - * - * @mac_ctx: pointer to MAC handle. - * @msg: pointer to received SME msg. - * - * This function process the received SME message and calls the corresponding - * callback which was already registered with SME. - * - * Return: None - */ -#ifdef WLAN_FEATURE_MEMDUMP -static void sme_process_fw_mem_dump_rsp(tpAniSirGlobal mac_ctx, cds_msg_t *msg) -{ - if (msg->bodyptr) { - if (mac_ctx->sme.fw_dump_callback) - mac_ctx->sme.fw_dump_callback(mac_ctx->hHdd, - (struct fw_dump_rsp *) msg->bodyptr); - qdf_mem_free(msg->bodyptr); - } -} -#else -static void sme_process_fw_mem_dump_rsp(tpAniSirGlobal mac_ctx, cds_msg_t *msg) -{ -} -#endif - -/** * sme_process_dual_mac_config_resp() - Process set Dual mac config response * @mac: Global MAC pointer * @msg: Dual mac config response @@ -2517,7 +2674,7 @@ QDF_STATUS sme_process_msg(tHalHandle hHal, cds_msg_t *pMsg) } break; #endif -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE case eWNI_SME_TSM_IE_IND: if (pMsg->bodyptr) { sme_tsm_ie_ind(pMac, pMsg->bodyptr); @@ -2527,7 +2684,7 @@ QDF_STATUS sme_process_msg(tHalHandle hHal, cds_msg_t *pMsg) pMsg->type); } break; -#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ +#endif /* FEATURE_WLAN_ESE */ case eWNI_SME_ROAM_SCAN_OFFLOAD_RSP: status = csr_roam_offload_scan_rsp_hdlr((void *)pMac, pMsg->bodyptr); @@ -4964,35 +5121,6 @@ QDF_STATUS sme_get_snr(tHalHandle hHal, return status; } -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) -/* --------------------------------------------------------------------------- - \fn sme_get_tsm_stats - \brief a wrapper function that client calls to register a callback to - get TSM Stats - \param callback - SME sends back the requested stats using the callback - \param staId - The station ID for which the stats is requested for - \param pContext - user context to be passed back along with the callback - \param p_cds_context - cds context - \return QDF_STATUS - ---------------------------------------------------------------------------*/ -QDF_STATUS sme_get_tsm_stats(tHalHandle hHal, - tCsrTsmStatsCallback callback, - uint8_t staId, struct qdf_mac_addr bssId, - void *pContext, void *p_cds_context, uint8_t tid) -{ - QDF_STATUS status = QDF_STATUS_E_FAILURE; - tpAniSirGlobal pMac = PMAC_STRUCT(hHal); - status = sme_acquire_global_lock(&pMac->sme); - if (QDF_IS_STATUS_SUCCESS(status)) { - status = csr_get_tsm_stats(pMac, callback, - staId, bssId, pContext, p_cds_context, - tid); - sme_release_global_lock(&pMac->sme); - } - return status; -} -#endif - /* --------------------------------------------------------------------------- \fn sme_get_statistics \brief a wrapper function that client calls to register a callback to get @@ -8616,54 +8744,6 @@ QDF_STATUS sme_update_enable_fast_roam_in_concurrency(tHalHandle hHal, return status; } -#ifdef FEATURE_WLAN_ESE -/*-------------------------------------------------------------------------- - \brief sme_update_is_ese_feature_enabled() - enable/disable ESE support at runtime - It is used at in the REG_DYNAMIC_VARIABLE macro definition of - isEseIniFeatureEnabled. - This is a synchronous call - \param hHal - The handle returned by mac_open. - \param sessionId - Session Identifier - \param isEseIniFeatureEnabled - flag to enable/disable - \return QDF_STATUS_SUCCESS - SME update isEseIniFeatureEnabled config - successfully. - Other status means SME is failed to update isEseIniFeatureEnabled. - \sa - --------------------------------------------------------------------------*/ -QDF_STATUS sme_update_is_ese_feature_enabled - (tHalHandle hHal, uint8_t sessionId, const bool isEseIniFeatureEnabled) { - tpAniSirGlobal pMac = PMAC_STRUCT(hHal); - - if (pMac->roam.configParam.isEseIniFeatureEnabled == - isEseIniFeatureEnabled) { - QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_INFO, - "%s: ESE Mode is already enabled or disabled, nothing to do (returning) old(%d) new(%d)", - __func__, - pMac->roam.configParam.isEseIniFeatureEnabled, - isEseIniFeatureEnabled); - return QDF_STATUS_SUCCESS; - } - - QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_INFO, - "%s: EseEnabled is changed from %d to %d", __func__, - pMac->roam.configParam.isEseIniFeatureEnabled, - isEseIniFeatureEnabled); - pMac->roam.configParam.isEseIniFeatureEnabled = isEseIniFeatureEnabled; - csr_neighbor_roam_update_ese_mode_enabled(pMac, sessionId, - isEseIniFeatureEnabled); - - if (true == isEseIniFeatureEnabled) { - sme_update_fast_transition_enabled(hHal, true); - } - if (pMac->roam.configParam.isRoamOffloadScanEnabled) { - csr_roam_offload_scan(pMac, sessionId, - ROAM_SCAN_OFFLOAD_UPDATE_CFG, - REASON_ESE_INI_CFG_CHANGED); - } - return QDF_STATUS_SUCCESS; -} -#endif /* FEATURE_WLAN_ESE */ - /*-------------------------------------------------------------------------- \brief sme_update_config_fw_rssi_monitoring() - enable/disable firmware RSSI Monitoring at runtime @@ -9596,75 +9676,6 @@ QDF_STATUS sme_change_roam_scan_channel_list(tHalHandle hHal, uint8_t sessionId, return status; } -#ifdef FEATURE_WLAN_ESE_UPLOAD -/** - * sme_set_ese_roam_scan_channel_list() - To set ese roam scan channel list - * @hHal: pointer HAL handle returned by mac_open - * @sessionId: sme session id - * @pChannelList: Output channel list - * @numChannels: Output number of channels - * - * This routine is called to set ese roam scan channel list. - * This is a synchronous call - * - * Return: QDF_STATUS - */ -QDF_STATUS sme_set_ese_roam_scan_channel_list(tHalHandle hHal, - uint8_t sessionId, - uint8_t *pChannelList, - uint8_t numChannels) -{ - tpAniSirGlobal pMac = PMAC_STRUCT(hHal); - QDF_STATUS status = QDF_STATUS_SUCCESS; - tpCsrNeighborRoamControlInfo pNeighborRoamInfo - = &pMac->roam.neighborRoamInfo[sessionId]; - tpCsrChannelInfo curchnl_list_info - = &pNeighborRoamInfo->roamChannelInfo.currentChannelListInfo; - uint8_t oldChannelList[WNI_CFG_VALID_CHANNEL_LIST_LEN * 2] = { 0 }; - uint8_t newChannelList[128] = { 0 }; - uint8_t i = 0, j = 0; - - status = sme_acquire_global_lock(&pMac->sme); - if (!QDF_IS_STATUS_SUCCESS(status)) { - if (pMac->roam.configParam.isRoamOffloadScanEnabled) - csr_roam_offload_scan(pMac, sessionId, - ROAM_SCAN_OFFLOAD_UPDATE_CFG, - REASON_CHANNEL_LIST_CHANGED); - return status; - } - if (NULL != curchnl_list_info->ChannelList) { - for (i = 0; i < curchnl_list_info->numOfChannels; i++) { - j += snprintf(oldChannelList + j, - sizeof(oldChannelList) - j, "%d", - curchnl_list_info->ChannelList[i]); - } - } - status = csr_create_roam_scan_channel_list(pMac, sessionId, - pChannelList, numChannels, - csr_get_current_band(hHal)); - if (QDF_IS_STATUS_SUCCESS(status)) { - if (NULL != curchnl_list_info->ChannelList) { - j = 0; - for (i = 0; i < curchnl_list_info->numOfChannels; i++) { - j += snprintf(newChannelList + j, - sizeof(newChannelList) - j, "%d", - curchnl_list_info->ChannelList[i]); - } - } - QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, - "ESE roam scan chnl list successfully set to %s-old value is %s-roam state is %d", - newChannelList, oldChannelList, - pNeighborRoamInfo->neighborRoamState); - } - sme_release_global_lock(&pMac->sme); - if (pMac->roam.configParam.isRoamOffloadScanEnabled) - csr_roam_offload_scan(pMac, sessionId, - ROAM_SCAN_OFFLOAD_UPDATE_CFG, - REASON_CHANNEL_LIST_CHANGED); - return status; -} -#endif - /** * sme_get_roam_scan_channel_list() - To get roam scan channel list * @hHal: HAL pointer diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index 3b68d448bfe3..02912198b717 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -1363,31 +1363,7 @@ eCsrBand csr_get_current_band(tHalHandle hHal) return pMac->roam.configParam.bandCapability; } -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) -/* - This function flushes the roam scan cache - */ -QDF_STATUS csr_flush_roam_scan_roam_channel_list(tpAniSirGlobal pMac, - uint8_t sessionId) -{ - QDF_STATUS status = QDF_STATUS_SUCCESS; - tpCsrNeighborRoamControlInfo pNeighborRoamInfo - = &pMac->roam.neighborRoamInfo[sessionId]; - /* Free up the memory first (if required) */ - if (NULL != - pNeighborRoamInfo->roamChannelInfo.currentChannelListInfo. - ChannelList) { - qdf_mem_free(pNeighborRoamInfo->roamChannelInfo. - currentChannelListInfo.ChannelList); - pNeighborRoamInfo->roamChannelInfo.currentChannelListInfo. - ChannelList = NULL; - pNeighborRoamInfo->roamChannelInfo.currentChannelListInfo. - numOfChannels = 0; - } - return status; -} -#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ - +#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR) /* This function flushes the roam scan cache */ @@ -1441,9 +1417,40 @@ QDF_STATUS csr_create_bg_scan_roam_channel_list(tpAniSirGlobal pMac, return status; } +#endif -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE /* + This function flushes the roam scan cache + */ +QDF_STATUS csr_flush_roam_scan_roam_channel_list(tpAniSirGlobal pMac, + uint8_t sessionId) +{ + QDF_STATUS status = QDF_STATUS_SUCCESS; + tpCsrNeighborRoamControlInfo pNeighborRoamInfo + = &pMac->roam.neighborRoamInfo[sessionId]; + /* Free up the memory first (if required) */ + if (NULL != + pNeighborRoamInfo->roamChannelInfo.currentChannelListInfo. + ChannelList) { + qdf_mem_free(pNeighborRoamInfo->roamChannelInfo. + currentChannelListInfo.ChannelList); + pNeighborRoamInfo->roamChannelInfo.currentChannelListInfo. + ChannelList = NULL; + pNeighborRoamInfo->roamChannelInfo.currentChannelListInfo. + numOfChannels = 0; + } + return status; +} + +/** + * csr_create_roam_scan_channel_list() - create roam scan channel list + * @pMac: Global mac pointer + * @sessionId: session id + * @pChannelList: pointer to channel list + * @numChannels: number of channels + * @eBand: band enumeration + * * This function modifies the roam scan channel list as per AP neighbor * report; AP neighbor report may be empty or may include only other AP * channels; in any case, we merge the channel list with the learned occupied @@ -1451,6 +1458,8 @@ QDF_STATUS csr_create_bg_scan_roam_channel_list(tpAniSirGlobal pMac, * if the band is 2.4G, then make sure channel list contains only 2.4G * valid channels if the band is 5G, then make sure channel list contains * only 5G valid channels + * + * Return: QDF_STATUS enumeration */ QDF_STATUS csr_create_roam_scan_channel_list(tpAniSirGlobal pMac, uint8_t sessionId, @@ -1554,7 +1563,296 @@ QDF_STATUS csr_create_roam_scan_channel_list(tpAniSirGlobal pMac, } return status; } -#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ + +/** + * csr_roam_is_ese_assoc() - is this ese association + * @mac_ctx: Global MAC context + * @session_id: session identifier + * + * Returns whether the current association is a ESE assoc or not. + * + * Return: true if ese association; false otherwise + */ +bool csr_roam_is_ese_assoc(tpAniSirGlobal mac_ctx, uint8_t session_id) +{ +#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING + return csr_neighbor_roam_is_ese_assoc(mac_ctx, session_id); +#else + return false; +#endif +} + +/** + * csr_neighbor_roam_is_ese_assoc() - Check the Association type + * @mac_ctx: Global MAC Context + * @session_id: Session ID on which the check should be done + * + * This function returns whether the current association + * is a ESE assoc or not + * + * Return: True if ESE association, false otherwise. + **/ +bool csr_neighbor_roam_is_ese_assoc(tpAniSirGlobal mac_ctx, uint8_t session_id) +{ + return mac_ctx->roam.neighborRoamInfo[session_id].isESEAssoc; +} + +/** + * csr_roam_is_roam_offload_scan_enabled() - is roam offload enabled + * @mac_ctx: Global MAC context + * + * Returns whether "FW based BG scan" is currently enabled or not + * + * Return: true if roam offload scan enabled; false otherwise + */ +bool csr_roam_is_roam_offload_scan_enabled(tpAniSirGlobal pMac) +{ + return pMac->roam.configParam.isRoamOffloadScanEnabled; +} + +/** + * csr_roam_is_ese_ini_feature_enabled() - is ese feature enabled + * @mac_ctx: Global MAC context + * + * Return: true if ese feature is enabled; false otherwise + */ +bool csr_roam_is_ese_ini_feature_enabled(tpAniSirGlobal pMac) +{ + return pMac->roam.configParam.isEseIniFeatureEnabled; +} + +/** + * csr_tsm_stats_rsp_processor() - tsm stats response processor + * @pMac: Global MAC context + * @pMsg: Message pointer + * + * Return: None + */ +void csr_tsm_stats_rsp_processor(tpAniSirGlobal pMac, void *pMsg) +{ + tAniGetTsmStatsRsp *pTsmStatsRsp = (tAniGetTsmStatsRsp *) pMsg; + + if (NULL != pTsmStatsRsp) { + /* + * Get roam Rssi request is backed up and passed back + * to the response, Extract the request message + * to fetch callback. + */ + tpAniGetTsmStatsReq reqBkp + = (tAniGetTsmStatsReq *) pTsmStatsRsp->tsmStatsReq; + + if (NULL != reqBkp) { + if (NULL != reqBkp->tsmStatsCallback) { + ((tCsrTsmStatsCallback) + (reqBkp->tsmStatsCallback))(pTsmStatsRsp-> + tsmMetrics, + pTsmStatsRsp-> + staId, + reqBkp-> + pDevContext); + reqBkp->tsmStatsCallback = NULL; + } + qdf_mem_free(reqBkp); + pTsmStatsRsp->tsmStatsReq = NULL; + } else { + sms_log(pMac, LOGE, FL("reqBkp is NULL")); + if (NULL != reqBkp) { + qdf_mem_free(reqBkp); + pTsmStatsRsp->tsmStatsReq = NULL; + } + } + } else { + sms_log(pMac, LOGE, FL("pTsmStatsRsp is NULL")); + } + return; +} + +/** + * csr_send_ese_adjacent_ap_rep_ind() - ese send adjacent ap report + * @pMac: Global MAC context + * @pSession: Session pointer + * + * Return: None + */ +void csr_send_ese_adjacent_ap_rep_ind(tpAniSirGlobal pMac, + tCsrRoamSession *pSession) +{ + uint32_t roamTS2 = 0; + tCsrRoamInfo roamInfo; + tpPESession pSessionEntry = NULL; + uint8_t sessionId = CSR_SESSION_ID_INVALID; + + if (NULL == pSession) { + sms_log(pMac, LOGE, FL("pSession is NULL")); + return; + } + + roamTS2 = qdf_mc_timer_get_system_time(); + roamInfo.tsmRoamDelay = roamTS2 - pSession->roamTS1; + sms_log(pMac, LOG1, "Bssid(" MAC_ADDRESS_STR ") Roaming Delay(%u ms)", + MAC_ADDR_ARRAY(pSession->connectedProfile.bssid.bytes), + roamInfo.tsmRoamDelay); + + pSessionEntry = pe_find_session_by_bssid(pMac, + pSession->connectedProfile.bssid.bytes, + &sessionId); + if (NULL == pSessionEntry) { + sms_log(pMac, LOGE, FL("session %d not found"), sessionId); + return; + } + + pSessionEntry->eseContext.tsm.tsmMetrics.RoamingDly + = roamInfo.tsmRoamDelay; + + csr_roam_call_callback(pMac, pSession->sessionId, &roamInfo, + 0, eCSR_ROAM_ESE_ADJ_AP_REPORT_IND, 0); +} + +/** + * csr_get_tsm_stats() - get tsm stats + * @pMac: Global MAC context + * @callback: TSM stats callback + * @staId: Station id + * @bssId: bssid + * @pContext: pointer to context + * @p_cds_context: cds context + * @tid: traffic id + * + * Return: QDF_STATUS enumeration + */ +QDF_STATUS csr_get_tsm_stats(tpAniSirGlobal pMac, + tCsrTsmStatsCallback callback, + uint8_t staId, + struct qdf_mac_addr bssId, + void *pContext, void *p_cds_context, uint8_t tid) +{ + QDF_STATUS status = QDF_STATUS_SUCCESS; + tAniGetTsmStatsReq *pMsg = NULL; + pMsg = qdf_mem_malloc(sizeof(tAniGetTsmStatsReq)); + if (!pMsg) { + sms_log(pMac, LOGE, + "csr_get_tsm_stats: failed to allocate mem for req"); + return QDF_STATUS_E_NOMEM; + } + /* need to initiate a stats request to PE */ + pMsg->msgType = eWNI_SME_GET_TSM_STATS_REQ; + pMsg->msgLen = (uint16_t) sizeof(tAniGetTsmStatsReq); + pMsg->staId = staId; + pMsg->tid = tid; + qdf_copy_macaddr(&pMsg->bssId, &bssId); + pMsg->tsmStatsCallback = callback; + pMsg->pDevContext = pContext; + pMsg->p_cds_context = p_cds_context; + status = cds_send_mb_message_to_mac(pMsg); + if (!QDF_IS_STATUS_SUCCESS(status)) { + sms_log(pMac, LOG1, + " csr_get_tsm_stats: failed to send down the rssi req"); + /* pMsg is freed by cds_send_mb_message_to_mac */ + status = QDF_STATUS_E_FAILURE; + } + return status; +} + +/** + * csr_fetch_ch_lst_from_received_list() - fetch channel list from received list + * and update req msg + * paramters + * @mac_ctx: global mac ctx + * @roam_info: roam info struct + * @curr_ch_lst_info: current channel list info + * @req_buf: out param, roam offload scan request packet + * + * Return: void + */ +static void +csr_fetch_ch_lst_from_received_list(tpAniSirGlobal mac_ctx, + tpCsrNeighborRoamControlInfo roam_info, + tpCsrChannelInfo curr_ch_lst_info, + tSirRoamOffloadScanReq *req_buf) +{ + uint8_t i = 0; + uint8_t num_channels = 0; + uint8_t *ch_lst = NULL; + + if (curr_ch_lst_info->numOfChannels == 0) + return; + + ch_lst = curr_ch_lst_info->ChannelList; + for (i = 0; i < curr_ch_lst_info->numOfChannels; i++) { + if (((mac_ctx->roam.configParam.allowDFSChannelRoam + != CSR_ROAMING_DFS_CHANNEL_DISABLED) || + (!CDS_IS_DFS_CH(*ch_lst))) && *ch_lst) { + req_buf->ConnectedNetwork.ChannelCache[num_channels++] = + *ch_lst; + } + ch_lst++; + } + req_buf->ConnectedNetwork.ChannelCount = num_channels; + req_buf->ChannelCacheType = CHANNEL_LIST_DYNAMIC_UPDATE; +} + +/** + * csr_set_cckm_ie() - set CCKM IE + * @pMac: Global MAC context + * @sessionId: session identifier + * @pCckmIe: Pointer to input CCKM IE data + * @ccKmIeLen: Length of @pCckmIe + * + * This function stores the CCKM IE passed by the supplicant + * in a place holder data structure and this IE will be packed inside + * reassociation request + * + * Return: QDF_STATUS enumeration + */ +QDF_STATUS csr_set_cckm_ie(tpAniSirGlobal pMac, const uint8_t sessionId, + const uint8_t *pCckmIe, const uint8_t ccKmIeLen) +{ + QDF_STATUS status = QDF_STATUS_SUCCESS; + tCsrRoamSession *pSession = CSR_GET_SESSION(pMac, sessionId); + if (!pSession) { + sms_log(pMac, LOGE, FL(" session %d not found "), sessionId); + return QDF_STATUS_E_FAILURE; + } + qdf_mem_copy(pSession->suppCckmIeInfo.cckmIe, pCckmIe, ccKmIeLen); + pSession->suppCckmIeInfo.cckmIeLen = ccKmIeLen; + return status; +} + +/** + * csr_roam_read_tsf() - read TSF + * @pMac: Global MAC context + * @sessionId: session identifier + * @pTimestamp: output TSF timestamp + * + * This function reads the TSF; and also add the time elapsed since + * last beacon or probe response reception from the hand off AP to arrive at + * the latest TSF value. + * + * Return: QDF_STATUS enumeration + */ +QDF_STATUS csr_roam_read_tsf(tpAniSirGlobal pMac, uint8_t *pTimestamp, + uint8_t sessionId) +{ + QDF_STATUS status = QDF_STATUS_SUCCESS; + tCsrNeighborRoamBSSInfo handoffNode; + uint32_t timer_diff = 0; + uint32_t timeStamp[2]; + tpSirBssDescription pBssDescription = NULL; + csr_neighbor_roam_get_handoff_ap_info(pMac, &handoffNode, sessionId); + pBssDescription = handoffNode.pBssDescription; + /* Get the time diff in milli seconds */ + timer_diff = qdf_mc_timer_get_system_time() - + pBssDescription->scanSysTimeMsec; + /* Convert msec to micro sec timer */ + timer_diff = (uint32_t) (timer_diff * SYSTEM_TIME_MSEC_TO_USEC); + timeStamp[0] = pBssDescription->timeStamp[0]; + timeStamp[1] = pBssDescription->timeStamp[1]; + update_cckmtsf(&(timeStamp[0]), &(timeStamp[1]), &timer_diff); + qdf_mem_copy(pTimestamp, (void *)&timeStamp[0], sizeof(uint32_t) * 2); + return status; +} + +#endif /* FEATURE_WLAN_ESE */ QDF_STATUS csr_set_band(tHalHandle hHal, uint8_t sessionId, eCsrBand eBand) { @@ -5587,13 +5885,6 @@ bool csr_roam_is11r_assoc(tpAniSirGlobal pMac, uint8_t sessionId) return csr_neighbor_roam_is11r_assoc(pMac, sessionId); } -#ifdef FEATURE_WLAN_ESE -/* Returns whether the current association is a ESE assoc or not */ -bool csr_roam_is_ese_assoc(tpAniSirGlobal pMac, uint8_t sessionId) -{ - return csr_neighbor_roam_is_ese_assoc(pMac, sessionId); -} -#endif /* Returns whether "Legacy Fast Roaming" is currently enabled...or not */ bool csr_roam_is_fast_roam_enabled(tpAniSirGlobal pMac, uint32_t sessionId) { @@ -5616,36 +5907,6 @@ bool csr_roam_is_fast_roam_enabled(tpAniSirGlobal pMac, uint32_t sessionId) } } -#ifdef FEATURE_WLAN_ESE -/** - * csr_neighbor_roam_is_ese_assoc() - Check the Association type - * @mac_ctx: Global MAC Context - * @session_id: Session ID on which the check should be done - * - * This function returns whether the current association - * is a ESE assoc or not - * - * Return: True if ESE association, false otherwise. - **/ -bool csr_neighbor_roam_is_ese_assoc(tpAniSirGlobal mac_ctx, uint8_t session_id) -{ - return mac_ctx->roam.neighborRoamInfo[session_id].isESEAssoc; -} -#endif /* FEATURE_WLAN_ESE */ - -/* Returns whether "FW based BG scan" is currently enabled...or not */ -bool csr_roam_is_roam_offload_scan_enabled(tpAniSirGlobal pMac) -{ - return pMac->roam.configParam.isRoamOffloadScanEnabled; -} - -#if defined(FEATURE_WLAN_ESE) -bool csr_roam_is_ese_ini_feature_enabled(tpAniSirGlobal pMac) -{ - return pMac->roam.configParam.isEseIniFeatureEnabled; -} -#endif /*FEATURE_WLAN_ESE */ - #ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH eCsrPhyMode csr_roamdot11mode_to_phymode(uint8_t dot11mode) { @@ -9902,77 +10163,6 @@ static void csr_update_snr(tpAniSirGlobal pMac, void *pMsg) return; } -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) -void csr_tsm_stats_rsp_processor(tpAniSirGlobal pMac, void *pMsg) -{ - tAniGetTsmStatsRsp *pTsmStatsRsp = (tAniGetTsmStatsRsp *) pMsg; - - if (NULL != pTsmStatsRsp) { - /* Get roam Rssi request is backed up and passed back to the response, - Extract the request message to fetch callback */ - tpAniGetTsmStatsReq reqBkp - = (tAniGetTsmStatsReq *) pTsmStatsRsp->tsmStatsReq; - - if (NULL != reqBkp) { - if (NULL != reqBkp->tsmStatsCallback) { - ((tCsrTsmStatsCallback) - (reqBkp->tsmStatsCallback))(pTsmStatsRsp-> - tsmMetrics, - pTsmStatsRsp-> - staId, - reqBkp-> - pDevContext); - reqBkp->tsmStatsCallback = NULL; - } - qdf_mem_free(reqBkp); - pTsmStatsRsp->tsmStatsReq = NULL; - } else { - sms_log(pMac, LOGE, FL("reqBkp is NULL")); - if (NULL != reqBkp) { - qdf_mem_free(reqBkp); - pTsmStatsRsp->tsmStatsReq = NULL; - } - } - } else { - sms_log(pMac, LOGE, FL("pTsmStatsRsp is NULL")); - } - return; -} - -void csr_send_ese_adjacent_ap_rep_ind(tpAniSirGlobal pMac, tCsrRoamSession *pSession) -{ - uint32_t roamTS2 = 0; - tCsrRoamInfo roamInfo; - tpPESession pSessionEntry = NULL; - uint8_t sessionId = CSR_SESSION_ID_INVALID; - - if (NULL == pSession) { - sms_log(pMac, LOGE, FL("pSession is NULL")); - return; - } - - roamTS2 = qdf_mc_timer_get_system_time(); - roamInfo.tsmRoamDelay = roamTS2 - pSession->roamTS1; - sms_log(pMac, LOG1, "Bssid(" MAC_ADDRESS_STR ") Roaming Delay(%u ms)", - MAC_ADDR_ARRAY(pSession->connectedProfile.bssid.bytes), - roamInfo.tsmRoamDelay); - - pSessionEntry = pe_find_session_by_bssid(pMac, - pSession->connectedProfile.bssid.bytes, - &sessionId); - if (NULL == pSessionEntry) { - sms_log(pMac, LOGE, FL("session %d not found"), sessionId); - return; - } - - pSessionEntry->eseContext.tsm.tsmMetrics.RoamingDly - = roamInfo.tsmRoamDelay; - - csr_roam_call_callback(pMac, pSession->sessionId, &roamInfo, - 0, eCSR_ROAM_ESE_ADJ_AP_REPORT_IND, 0); -} -#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ - static QDF_STATUS csr_send_reset_ap_caps_changed(tpAniSirGlobal pMac, struct qdf_mac_addr *bssId) { @@ -10909,9 +11099,7 @@ csr_roam_chk_lnk_set_ctx_rsp(tpAniSirGlobal mac_ctx, tSirSmeRsp *msg_ptr) if (result == eCSR_ROAM_RESULT_AUTHENTICATED && session->isPrevApInfoValid && session->connectedProfile.isESEAssoc) { -#ifdef FEATURE_WLAN_ESE_UPLOAD csr_send_ese_adjacent_ap_rep_ind(mac_ctx, session); -#endif session->isPrevApInfoValid = false; } #endif @@ -10990,12 +11178,12 @@ void csr_roam_check_for_link_status_change(tpAniSirGlobal pMac, tSirSmeRsp *pSir sms_log(pMac, LOG2, FL("Stats rsp from PE")); csr_roam_stats_rsp_processor(pMac, pSirMsg); break; -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE case eWNI_SME_GET_TSM_STATS_RSP: sms_log(pMac, LOG2, FL("TSM Stats rsp from PE")); csr_tsm_stats_rsp_processor(pMac, pSirMsg); break; -#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ +#endif /* FEATURE_WLAN_ESE */ case eWNI_SME_GET_RSSI_REQ: sms_log(pMac, LOG2, FL("GetRssiReq from self")); csr_update_rssi(pMac, pSirMsg); @@ -13636,12 +13824,10 @@ QDF_STATUS csr_send_join_req_msg(tpAniSirGlobal pMac, uint32_t sessionId, /* cckmIE */ if (csr_is_profile_ese(pProfile)) { /* Insert the CCKM IE into the join request */ -#ifdef FEATURE_WLAN_ESE_UPLOAD ieLen = pSession->suppCckmIeInfo.cckmIeLen; qdf_mem_copy((void *)(wpaRsnIE), pSession->suppCckmIeInfo.cckmIe, ieLen); -#endif /* FEATURE_WLAN_ESE_UPLOAD */ } else ieLen = 0; /* @@ -15896,41 +16082,6 @@ QDF_STATUS csr_get_snr(tpAniSirGlobal pMac, return status; } -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) -QDF_STATUS csr_get_tsm_stats(tpAniSirGlobal pMac, - tCsrTsmStatsCallback callback, - uint8_t staId, - struct qdf_mac_addr bssId, - void *pContext, void *p_cds_context, uint8_t tid) -{ - QDF_STATUS status = QDF_STATUS_SUCCESS; - tAniGetTsmStatsReq *pMsg = NULL; - pMsg = qdf_mem_malloc(sizeof(tAniGetTsmStatsReq)); - if (!pMsg) { - sms_log(pMac, LOGE, - "csr_get_tsm_stats: failed to allocate mem for req"); - return QDF_STATUS_E_NOMEM; - } - /* need to initiate a stats request to PE */ - pMsg->msgType = eWNI_SME_GET_TSM_STATS_REQ; - pMsg->msgLen = (uint16_t) sizeof(tAniGetTsmStatsReq); - pMsg->staId = staId; - pMsg->tid = tid; - qdf_copy_macaddr(&pMsg->bssId, &bssId); - pMsg->tsmStatsCallback = callback; - pMsg->pDevContext = pContext; - pMsg->p_cds_context = p_cds_context; - status = cds_send_mb_message_to_mac(pMsg); - if (!QDF_IS_STATUS_SUCCESS(status)) { - sms_log(pMac, LOG1, - " csr_get_tsm_stats: failed to send down the rssi req"); - /* pMsg is freed by cds_send_mb_message_to_mac */ - status = QDF_STATUS_E_FAILURE; - } - return status; -} -#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ - /** * csr_deregister_client_request() - deregisters a get stats request * @mac_ctx: mac global context @@ -16519,46 +16670,6 @@ csr_fetch_ch_lst_from_occupied_lst(tpAniSirGlobal mac_ctx, } } -#ifdef FEATURE_WLAN_ESE -/** - * csr_fetch_ch_lst_from_received_list() - fetch channel list from received list - * and update req msg - * paramters - * @mac_ctx: global mac ctx - * @roam_info: roam info struct - * @curr_ch_lst_info: current channel list info - * @req_buf: out param, roam offload scan request packet - * - * Return: void - */ -static void -csr_fetch_ch_lst_from_received_list(tpAniSirGlobal mac_ctx, - tpCsrNeighborRoamControlInfo roam_info, - tpCsrChannelInfo curr_ch_lst_info, - tSirRoamOffloadScanReq *req_buf) -{ - uint8_t i = 0; - uint8_t num_channels = 0; - uint8_t *ch_lst = NULL; - - if (curr_ch_lst_info->numOfChannels == 0) - return; - - ch_lst = curr_ch_lst_info->ChannelList; - for (i = 0; i < curr_ch_lst_info->numOfChannels; i++) { - if (((mac_ctx->roam.configParam.allowDFSChannelRoam - != CSR_ROAMING_DFS_CHANNEL_DISABLED) || - (!CDS_IS_DFS_CH(*ch_lst))) && *ch_lst) { - req_buf->ConnectedNetwork.ChannelCache[num_channels++] = - *ch_lst; - } - ch_lst++; - } - req_buf->ConnectedNetwork.ChannelCount = num_channels; - req_buf->ChannelCacheType = CHANNEL_LIST_DYNAMIC_UPDATE; -} -#endif - /** * csr_fetch_valid_ch_lst() - fetch channel list from valid channel list and * update req msg @@ -17778,7 +17889,7 @@ void csr_roam_ft_pre_auth_rsp_processor(tHalHandle hHal, pSession->ftSmeContext.psavedFTPreAuthRsp = pFTPreAuthRsp; /* No need to notify qos module if this is a non 11r & ESE roam */ if (csr_roam_is11r_assoc(pMac, pFTPreAuthRsp->smeSessionId) -#if defined(FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE || csr_roam_is_ese_assoc(pMac, pFTPreAuthRsp->smeSessionId) #endif ) { @@ -17806,7 +17917,7 @@ void csr_roam_ft_pre_auth_rsp_processor(tHalHandle hHal, eCSR_ROAM_FT_RESPONSE, eCSR_ROAM_RESULT_NONE); -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE if (csr_roam_is_ese_assoc(pMac, pFTPreAuthRsp->smeSessionId)) { /* read TSF */ csr_roam_read_tsf(pMac, (uint8_t *) roamInfo.timestamp, @@ -17819,7 +17930,7 @@ void csr_roam_ft_pre_auth_rsp_processor(tHalHandle hHal, &roamInfo, 0, eCSR_ROAM_CCKM_PREAUTH_NOTIFY, 0); } -#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ +#endif /* FEATURE_WLAN_ESE */ /* If Legacy Fast Roaming is enabled, signal the supplicant */ /* So he can send us a PMK-ID for this candidate AP. */ @@ -17968,64 +18079,6 @@ QDF_STATUS csr_handoff_request(tpAniSirGlobal pMac, return status; } -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) -/* --------------------------------------------------------------------------- - \fn csr_set_cckm_ie - \brief This function stores the CCKM IE passed by the supplicant - in a place holder data structure and this IE will be packed inside - reassociation request - \param pMac - pMac global structure - \param sessionId - Current session id - \param pCckmIe - pointer to CCKM IE data - \param ccKmIeLen - length of the CCKM IE - \- return Success or failure - -------------------------------------------------------------------------*/ -QDF_STATUS csr_set_cckm_ie(tpAniSirGlobal pMac, const uint8_t sessionId, - const uint8_t *pCckmIe, const uint8_t ccKmIeLen) -{ - QDF_STATUS status = QDF_STATUS_SUCCESS; - tCsrRoamSession *pSession = CSR_GET_SESSION(pMac, sessionId); - if (!pSession) { - sms_log(pMac, LOGE, FL(" session %d not found "), sessionId); - return QDF_STATUS_E_FAILURE; - } - qdf_mem_copy(pSession->suppCckmIeInfo.cckmIe, pCckmIe, ccKmIeLen); - pSession->suppCckmIeInfo.cckmIeLen = ccKmIeLen; - return status; -} - -/* --------------------------------------------------------------------------- - \fn csr_roam_read_tsf - \brief This function reads the TSF; and also add the time elapsed since - last beacon or probe response reception from the hand off AP to arrive at - the latest TSF value. - \param pMac - pMac global structure - \param pTimestamp - output TSF timestamp - \- return Success or failure - -------------------------------------------------------------------------*/ -QDF_STATUS csr_roam_read_tsf(tpAniSirGlobal pMac, uint8_t *pTimestamp, - uint8_t sessionId) -{ - QDF_STATUS status = QDF_STATUS_SUCCESS; - tCsrNeighborRoamBSSInfo handoffNode; - uint32_t timer_diff = 0; - uint32_t timeStamp[2]; - tpSirBssDescription pBssDescription = NULL; - csr_neighbor_roam_get_handoff_ap_info(pMac, &handoffNode, sessionId); - pBssDescription = handoffNode.pBssDescription; - /* Get the time diff in milli seconds */ - timer_diff = - qdf_mc_timer_get_system_time() - pBssDescription->scanSysTimeMsec; - /* Convert msec to micro sec timer */ - timer_diff = (uint32_t) (timer_diff * SYSTEM_TIME_MSEC_TO_USEC); - timeStamp[0] = pBssDescription->timeStamp[0]; - timeStamp[1] = pBssDescription->timeStamp[1]; - update_cckmtsf(&(timeStamp[0]), &(timeStamp[1]), &timer_diff); - qdf_mem_copy(pTimestamp, (void *)&timeStamp[0], sizeof(uint32_t) * 2); - return status; -} -#endif /*FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ - /** * csr_roam_channel_change_req() - Post channel change request to LIM * @pMac: mac context @@ -18033,8 +18086,7 @@ QDF_STATUS csr_roam_read_tsf(tpAniSirGlobal pMac, uint8_t *pTimestamp, * @ch_params: channel information * @profile: CSR profile * - * This API is primarily used to post - * Channel Change Req for SAP + * This API is primarily used to post Channel Change Req for SAP * * Return: QDF_STATUS */ diff --git a/core/sme/src/csr/csr_util.c b/core/sme/src/csr/csr_util.c index 43f3bfea26f1..720e7c4ff20a 100644 --- a/core/sme/src/csr/csr_util.c +++ b/core/sme/src/csr/csr_util.c @@ -223,12 +223,12 @@ const char *get_e_roam_cmd_status_str(eRoamCmdStatus val) #ifdef WLAN_FEATURE_RMC CASE_RETURN_STR(eCSR_ROAM_IBSS_PEER_INFO_COMPLETE); #endif -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE CASE_RETURN_STR(eCSR_ROAM_TSM_IE_IND); CASE_RETURN_STR(eCSR_ROAM_CCKM_PREAUTH_NOTIFY); CASE_RETURN_STR(eCSR_ROAM_ESE_ADJ_AP_REPORT_IND); CASE_RETURN_STR(eCSR_ROAM_ESE_BCN_REPORT_IND); -#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ +#endif /* FEATURE_WLAN_ESE */ default: return "unknown"; } diff --git a/core/sme/src/rrm/sme_rrm.c b/core/sme/src/rrm/sme_rrm.c index ad1716998d3a..d99411e89b8e 100644 --- a/core/sme/src/rrm/sme_rrm.c +++ b/core/sme/src/rrm/sme_rrm.c @@ -263,7 +263,7 @@ sme_rrm_send_beacon_report_xmit_ind(tpAniSirGlobal mac_ctx, return status; } -#if defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE /** * sme_ese_send_beacon_req_scan_results () - Send beacon report * @mac_ctx Pointer to mac context @@ -409,7 +409,7 @@ static QDF_STATUS sme_ese_send_beacon_req_scan_results( return status; } -#endif /* FEATURE_WLAN_ESE_UPLOAD */ +#endif /* FEATURE_WLAN_ESE */ /** * sme_rrm_send_scan_result() - to get scan result and send the beacon report @@ -510,20 +510,20 @@ static QDF_STATUS sme_rrm_send_scan_result(tpAniSirGlobal mac_ctx, */ if (!measurementdone) return status; -#if defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE if (eRRM_MSG_SOURCE_ESE_UPLOAD == rrm_ctx->msgSource) status = sme_ese_send_beacon_req_scan_results(mac_ctx, session_id, chan_list[0], NULL, measurementdone, 0); else -#endif /*FEATURE_WLAN_ESE_UPLOAD */ +#endif /* FEATURE_WLAN_ESE */ status = sme_rrm_send_beacon_report_xmit_ind(mac_ctx, NULL, measurementdone, 0); return status; } scan_results = sme_scan_result_get_first(mac_ctx, result_handle); if (NULL == scan_results && measurementdone) { -#if defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE if (eRRM_MSG_SOURCE_ESE_UPLOAD == rrm_ctx->msgSource) { status = sme_ese_send_beacon_req_scan_results(mac_ctx, session_id, @@ -532,7 +532,7 @@ static QDF_STATUS sme_rrm_send_scan_result(tpAniSirGlobal mac_ctx, measurementdone, 0); } else -#endif /*FEATURE_WLAN_ESE_UPLOAD */ +#endif /* FEATURE_WLAN_ESE */ status = sme_rrm_send_beacon_report_xmit_ind(mac_ctx, NULL, measurementdone, 0); } @@ -549,14 +549,14 @@ static QDF_STATUS sme_rrm_send_scan_result(tpAniSirGlobal mac_ctx, sms_log(mac_ctx, LOG1, FL(" Number of BSS Desc with RRM Scan %d "), counter); -#if defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE if (eRRM_MSG_SOURCE_ESE_UPLOAD == rrm_ctx->msgSource) status = sme_ese_send_beacon_req_scan_results(mac_ctx, session_id, chan_list[0], scanresults_arr, measurementdone, counter); else -#endif /*FEATURE_WLAN_ESE_UPLOAD */ +#endif /* FEATURE_WLAN_ESE */ status = sme_rrm_send_beacon_report_xmit_ind(mac_ctx, scanresults_arr, measurementdone, counter); @@ -623,7 +623,7 @@ static QDF_STATUS sme_rrm_scan_request_callback(tHalHandle halHandle, ChannelList[pSmeRrmContext->currentIndex], true); qdf_mem_free(pSmeRrmContext->channelList.ChannelList); -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE pSmeRrmContext->eseBcnReqInProgress = false; #endif #if defined WLAN_VOWIFI_DEBUG @@ -764,7 +764,7 @@ QDF_STATUS sme_rrm_issue_scan_req(tpAniSirGlobal mac_ctx) /* Advance the current index. */ sme_rrm_ctx->currentIndex++; sme_rrm_issue_scan_req(mac_ctx); -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE sme_rrm_ctx->eseBcnReqInProgress = false; #endif } else { diff --git a/core/wma/inc/wma.h b/core/wma/inc/wma.h index 137d719e07a7..4f21445d87cd 100644 --- a/core/wma/inc/wma.h +++ b/core/wma/inc/wma.h @@ -848,7 +848,7 @@ struct wma_txrx_node { bool nlo_match_evt_received; bool pno_in_progress; #endif -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE bool plm_in_progress; #endif bool ptrn_match_enable; diff --git a/core/wma/inc/wma_internal.h b/core/wma/inc/wma_internal.h index b033c825ab24..d3c653a22037 100644 --- a/core/wma/inc/wma_internal.h +++ b/core/wma/inc/wma_internal.h @@ -289,13 +289,6 @@ static inline void wma_set_pno_channel_prediction(uint8_t *buf_ptr, WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_FIXED_STRUC, 0); } #endif -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) -QDF_STATUS wma_plm_start(tp_wma_handle wma, const tpSirPlmReq plm); - -QDF_STATUS wma_plm_stop(tp_wma_handle wma, const tpSirPlmReq plm); - -void wma_config_plm(tp_wma_handle wma, tpSirPlmReq plm); -#endif #ifdef WLAN_FEATURE_ROAM_OFFLOAD void wma_set_ric_req(tp_wma_handle wma, void *msg, uint8_t is_add_ts); @@ -1010,6 +1003,9 @@ void wma_start_oem_data_req(tp_wma_handle wma_handle, #ifdef FEATURE_WLAN_ESE QDF_STATUS wma_process_tsm_stats_req(tp_wma_handle wma_handler, void *pTsmStatsMsg); +QDF_STATUS wma_plm_start(tp_wma_handle wma, const tpSirPlmReq plm); +QDF_STATUS wma_plm_stop(tp_wma_handle wma, const tpSirPlmReq plm); +void wma_config_plm(tp_wma_handle wma, tpSirPlmReq plm); #endif QDF_STATUS wma_process_mcbc_set_filter_req(tp_wma_handle wma_handle, diff --git a/core/wma/inc/wma_types.h b/core/wma/inc/wma_types.h index 7d440c7a9163..12b7ff62c8d6 100644 --- a/core/wma/inc/wma_types.h +++ b/core/wma/inc/wma_types.h @@ -281,7 +281,7 @@ #endif /* FEATURE_WLAN_SCAN_PNO */ -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE #define WMA_SET_PLM_REQ SIR_HAL_SET_PLM_REQ #endif diff --git a/core/wma/src/wma_features.c b/core/wma/src/wma_features.c index 1bc6879eb3f0..3e500bc59f9d 100644 --- a/core/wma/src/wma_features.c +++ b/core/wma/src/wma_features.c @@ -3938,10 +3938,8 @@ QDF_STATUS wma_process_tsm_stats_req(tp_wma_handle wma_handler, uint16_t packet_count = 0; uint16_t packet_loss_count = 0; tpAniTrafStrmMetrics pTsmMetric = NULL; -#ifdef FEATURE_WLAN_ESE_UPLOAD tpAniGetTsmStatsReq pStats = (tpAniGetTsmStatsReq) pTsmStatsMsg; tpAniGetTsmStatsRsp pTsmRspParams = NULL; -#endif /* FEATURE_WLAN_ESE_UPLOAD */ int tid = pStats->tid; /* * The number of histrogram bin report by data path api are different @@ -3962,9 +3960,7 @@ QDF_STATUS wma_process_tsm_stats_req(tp_wma_handle wma_handler, ol_tx_delay_hist(pdev, bin_values, tid); ol_tx_packet_count(pdev, &packet_count, &packet_loss_count, tid); -#ifdef FEATURE_WLAN_ESE_UPLOAD - pTsmRspParams = - (tpAniGetTsmStatsRsp) qdf_mem_malloc(sizeof(tAniGetTsmStatsRsp)); + pTsmRspParams = qdf_mem_malloc(sizeof(*pTsmRspParams)); if (NULL == pTsmRspParams) { QDF_TRACE(QDF_MODULE_ID_WMA, QDF_TRACE_LEVEL_ERROR, "%s: QDF MEM Alloc Failure", __func__); @@ -3976,7 +3972,6 @@ QDF_STATUS wma_process_tsm_stats_req(tp_wma_handle wma_handler, pTsmRspParams->rc = eSIR_FAILURE; pTsmRspParams->tsmStatsReq = pStats; pTsmMetric = &pTsmRspParams->tsmMetrics; -#endif /* FEATURE_WLAN_ESE_UPLOAD */ /* populate pTsmMetric */ pTsmMetric->UplinkPktQueueDly = queue_delay_microsec; /* store only required number of bin values */ @@ -3993,9 +3988,7 @@ QDF_STATUS wma_process_tsm_stats_req(tp_wma_handle wma_handler, * being populated just before sending IAPP frame out */ /* post this message to LIM/PE */ -#ifdef FEATURE_WLAN_ESE_UPLOAD wma_send_msg(wma_handler, WMA_TSM_STATS_RSP, (void *)pTsmRspParams, 0); -#endif /* FEATURE_WLAN_ESE_UPLOAD */ return QDF_STATUS_SUCCESS; } diff --git a/core/wma/src/wma_main.c b/core/wma/src/wma_main.c index fc5b1130d26c..cafc91be6143 100644 --- a/core/wma/src/wma_main.c +++ b/core/wma/src/wma_main.c @@ -4697,7 +4697,7 @@ QDF_STATUS wma_mc_process_msg(void *cds_context, cds_msg_t *msg) wma_scan_cache_updated_ind(wma_handle, msg->bodyval); break; #endif /* FEATURE_WLAN_SCAN_PNO */ -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) +#ifdef FEATURE_WLAN_ESE case WMA_SET_PLM_REQ: wma_config_plm(wma_handle, (tpSirPlmReq) msg->bodyptr); break; diff --git a/core/wma/src/wma_scan_roam.c b/core/wma/src/wma_scan_roam.c index 42362073e2e9..2196320a51a1 100644 --- a/core/wma/src/wma_scan_roam.c +++ b/core/wma/src/wma_scan_roam.c @@ -2726,8 +2726,7 @@ void wma_config_pno(tp_wma_handle wma, tpSirPNOScanReq pno) qdf_mem_free(pno); } -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) - +#ifdef FEATURE_WLAN_ESE /** * wma_plm_start() - plm start request * @wma: wma handle |
