From 51a6356b60cd0b0ddba28cd45ddd6749632c6de0 Mon Sep 17 00:00:00 2001 From: Wu Gao Date: Thu, 8 Nov 2018 16:29:10 +0800 Subject: [PATCH] qcacld-3.0: Apply second part of LFR INIs changes Since refined second part of LFR INIs, apply these changes in SME/MAC/WMA layer. Change-Id: I7994a9038d5bd094ce23bcd525ef8f5282974bfc CRs-Fixed: 2346790 --- core/cds/inc/cds_config.h | 2 - core/mac/inc/sir_mac_prot_def.h | 2 +- core/mac/src/pe/lim/lim_prop_exts_utils.c | 2 +- .../src/pe/lim/lim_send_frames_host_roam.c | 2 +- .../src/pe/lim/lim_send_management_frames.c | 2 +- core/sme/inc/csr_api.h | 34 -- core/sme/inc/csr_internal.h | 48 +- core/sme/inc/sme_api.h | 22 - core/sme/src/common/sme_api.c | 566 +++--------------- core/sme/src/csr/csr_api_roam.c | 233 +++---- core/sme/src/csr/csr_neighbor_roam.c | 65 +- core/wma/src/wma_dev_if.c | 4 +- core/wma/src/wma_main.c | 6 +- 13 files changed, 186 insertions(+), 802 deletions(-) diff --git a/core/cds/inc/cds_config.h b/core/cds/inc/cds_config.h index 53b9a1e364e0..4e66afe2e57d 100644 --- a/core/cds/inc/cds_config.h +++ b/core/cds/inc/cds_config.h @@ -101,7 +101,6 @@ enum active_apf_mode { * @force_target_assert_enabled: Indicate whether target assert enabled or not * @bandcapability: Configured band by user * @rps_enabled: RPS enabled in SAP mode - * @delay_before_vdev_stop: wait time for tx complete before vdev stop * Structure for holding cds ini parameters. * @num_vdevs: Configured max number of VDEVs can be supported in the stack. */ @@ -151,7 +150,6 @@ struct cds_config_info { bool force_target_assert_enabled; uint8_t bandcapability; bool rps_enabled; - uint8_t delay_before_vdev_stop; uint32_t num_vdevs; }; diff --git a/core/mac/inc/sir_mac_prot_def.h b/core/mac/inc/sir_mac_prot_def.h index c073538c6338..4108a8778f7e 100644 --- a/core/mac/inc/sir_mac_prot_def.h +++ b/core/mac/inc/sir_mac_prot_def.h @@ -628,7 +628,7 @@ ((u16value) &= (~(SIR_MAC_SET_ ## bitname(0)))) #define IS_WES_MODE_ENABLED(x) \ - ((x)->roam.configParam.isWESModeEnabled) + ((x)->mlme_cfg->lfr.wes_mode_enabled) #define BA_RECIPIENT 1 #define BA_INITIATOR 2 diff --git a/core/mac/src/pe/lim/lim_prop_exts_utils.c b/core/mac/src/pe/lim/lim_prop_exts_utils.c index 1e2f1ac5deea..9a13b3bdf61a 100644 --- a/core/mac/src/pe/lim/lim_prop_exts_utils.c +++ b/core/mac/src/pe/lim/lim_prop_exts_utils.c @@ -81,7 +81,7 @@ static void get_ese_version_ie_probe_response(tpAniSirGlobal mac_ctx, tpSirProbeRespBeacon beacon_struct, struct pe_session *session) { - if (mac_ctx->roam.configParam.isEseIniFeatureEnabled) + if (mac_ctx->mlme_cfg->lfr.ese_enabled) session->is_ese_version_ie_present = beacon_struct->is_ese_ver_ie_present; } diff --git a/core/mac/src/pe/lim/lim_send_frames_host_roam.c b/core/mac/src/pe/lim/lim_send_frames_host_roam.c index 3468c26eb3b0..9ad43326f9d3 100644 --- a/core/mac/src/pe/lim/lim_send_frames_host_roam.c +++ b/core/mac/src/pe/lim/lim_send_frames_host_roam.c @@ -230,7 +230,7 @@ void lim_send_reassoc_req_with_ft_ies_mgmt_frame(tpAniSirGlobal mac_ctx, * associate to. */ if (pe_session->is_ese_version_ie_present && - mac_ctx->roam.configParam.isEseIniFeatureEnabled) + mac_ctx->mlme_cfg->lfr.ese_enabled) populate_dot11f_ese_version(&frm->ESEVersion); /* For ESE Associations fill the ESE IEs */ if (pe_session->isESEconnection && diff --git a/core/mac/src/pe/lim/lim_send_management_frames.c b/core/mac/src/pe/lim/lim_send_management_frames.c index 6f6a796ebf37..df0b0a51bdee 100644 --- a/core/mac/src/pe/lim/lim_send_management_frames.c +++ b/core/mac/src/pe/lim/lim_send_management_frames.c @@ -1893,7 +1893,7 @@ lim_send_assoc_req_mgmt_frame(tpAniSirGlobal mac_ctx, * associate to. */ if (pe_session->is_ese_version_ie_present && - mac_ctx->roam.configParam.isEseIniFeatureEnabled) + mac_ctx->mlme_cfg->lfr.ese_enabled) populate_dot11f_ese_version(&frm->ESEVersion); /* For ESE Associations fill the ESE IEs */ if (pe_session->isESEconnection && diff --git a/core/sme/inc/csr_api.h b/core/sme/inc/csr_api.h index ace6cc709799..8a85c171416d 100644 --- a/core/sme/inc/csr_api.h +++ b/core/sme/inc/csr_api.h @@ -964,30 +964,6 @@ typedef struct tagCsrRoamConnectedProfile { #endif } tCsrRoamConnectedProfile; -typedef struct tagCsrNeighborRoamConfigParams { - - uint32_t nNeighborScanTimerPeriod; - uint32_t neighbor_scan_min_timer_period; - uint8_t nNeighborLookupRssiThreshold; - int8_t rssi_thresh_offset_5g; - uint16_t nNeighborScanMinChanTime; - uint16_t nNeighborScanMaxChanTime; - sCsrChannel neighborScanChanList; - uint8_t nMaxNeighborRetries; - uint16_t nNeighborResultsRefreshPeriod; - uint16_t nEmptyScanRefreshPeriod; - uint8_t nOpportunisticThresholdDiff; - uint8_t nRoamRescanRssiDiff; - uint8_t nRoamBmissFirstBcnt; - uint8_t nRoamBmissFinalBcnt; - uint8_t nRoamBeaconRssiWeight; - uint8_t delay_before_vdev_stop; - uint32_t nhi_rssi_scan_max_count; - uint32_t nhi_rssi_scan_rssi_delta; - uint32_t nhi_rssi_scan_delay; - int32_t nhi_rssi_scan_rssi_ub; -} tCsrNeighborRoamConfigParams; - /** * enum sta_roam_policy_dfs_mode - state of DFS mode for STA ROME policy * @CSR_STA_ROAM_POLICY_NONE: DFS mode attribute is not valid @@ -1102,10 +1078,6 @@ typedef struct tagCsrConfigParam { #endif uint8_t isFastRoamIniFeatureEnabled; struct mawc_params csr_mawc_config; - uint8_t isFastTransitionEnabled; - uint8_t RoamRssiDiff; - bool isWESModeEnabled; - tCsrNeighborRoamConfigParams neighborRoamConfig; /* * Customer wants to optimize the scan time. Avoiding scans(passive) * on DFS channels while swipping through both bands can save some time @@ -1124,13 +1096,7 @@ typedef struct tagCsrConfigParam { * To enable/disable scanning only 2.4Ghz channels on first scan */ bool fFirstScanOnly2GChnl; - bool nRoamPrefer5GHz; - bool nRoamIntraBand; - uint8_t nProbes; - uint16_t nRoamScanHomeAwayTime; - bool isRoamOffloadScanEnabled; - bool bFastRoamInConIniFeatureEnabled; uint8_t scanCfgAgingTime; uint8_t disable_high_ht_mcs_2x2; uint32_t ho_delay_for_rx; diff --git a/core/sme/inc/csr_internal.h b/core/sme/inc/csr_internal.h index 7c4dc4ae3ba6..1c2a9da1fc26 100644 --- a/core/sme/inc/csr_internal.h +++ b/core/sme/inc/csr_internal.h @@ -60,7 +60,8 @@ #define CSR_MAX_NUM_COUNTRY_CODE 100 #define CSR_IS_DFS_CH_ROAM_ALLOWED(mac_ctx) \ ( \ - (((mac_ctx)->roam.configParam.allowDFSChannelRoam) ? true : false) \ + ((((mac_ctx)->mlme_cfg->lfr.roaming_dfs_channel) == \ + ROAMING_DFS_CHANNEL_DISABLED) ? true : false) \ ) #define CSR_IS_SELECT_5GHZ_MARGIN(mac) \ ( \ @@ -68,16 +69,15 @@ ) #define CSR_IS_ROAM_PREFER_5GHZ(mac) \ ( \ - (((mac)->roam.configParam.nRoamPrefer5GHz) ? true : false) \ + ((mac)->mlme_cfg->lfr.roam_prefer_5ghz) \ ) #define CSR_IS_ROAM_INTRA_BAND_ENABLED(mac) \ ( \ - (((mac)->roam.configParam.nRoamIntraBand) ? true : false) \ + ((mac)->mlme_cfg->lfr.roam_intra_band) \ ) #define CSR_IS_FASTROAM_IN_CONCURRENCY_INI_FEATURE_ENABLED(mac) \ ( \ - (((mac)->roam.configParam.bFastRoamInConIniFeatureEnabled) ? \ - true : false) \ + ((mac)->mlme_cfg->lfr.enable_fast_roam_in_concurrency) \ ) #define CSR_IS_CHANNEL_24GHZ(chnNum) \ (((chnNum) > 0) && ((chnNum) <= 14)) @@ -365,29 +365,6 @@ struct delstafor_sessionCmd { void *context; }; -struct csr_neighbor_roamconfig { - uint32_t nNeighborScanTimerPeriod; - uint32_t neighbor_scan_min_timer_period; - uint8_t nNeighborLookupRssiThreshold; - int8_t rssi_thresh_offset_5g; - uint16_t nNeighborScanMinChanTime; - uint16_t nNeighborScanMaxChanTime; - sCsrChannel neighborScanChanList; - uint8_t nMaxNeighborRetries; - uint16_t nNeighborResultsRefreshPeriod; - uint16_t nEmptyScanRefreshPeriod; - uint8_t nOpportunisticThresholdDiff; - uint8_t nRoamRescanRssiDiff; - uint8_t nRoamBmissFirstBcnt; - uint8_t nRoamBmissFinalBcnt; - uint8_t nRoamBeaconRssiWeight; - uint8_t delay_before_vdev_stop; - uint32_t nhi_rssi_scan_max_count; - uint32_t nhi_rssi_scan_rssi_delta; - uint32_t nhi_rssi_scan_delay; - int32_t nhi_rssi_scan_rssi_ub; -}; - /* * Neighbor Report Params Bitmask */ @@ -452,23 +429,9 @@ struct csr_config { uint32_t statsReqPeriodicityInPS;/* stats req freq while in powersave */ uint32_t dtimPeriod; bool ssidHidden; - uint8_t isFastRoamIniFeatureEnabled; struct mawc_params csr_mawc_config; uint8_t isRoamOffloadScanEnabled; - bool bFastRoamInConIniFeatureEnabled; -#ifdef FEATURE_WLAN_ESE - uint8_t isEseIniFeatureEnabled; -#endif - uint8_t isFastTransitionEnabled; - uint8_t RoamRssiDiff; - bool nRoamPrefer5GHz; - bool nRoamIntraBand; - bool isWESModeEnabled; bool nRoamScanControl; - uint8_t nProbes; - uint16_t nRoamScanHomeAwayTime; - - struct csr_neighbor_roamconfig neighborRoamConfig; /* * Remove this code once SLM_Sessionization is supported @@ -491,7 +454,6 @@ struct csr_config { #ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH uint8_t cc_switch_mode; #endif - uint8_t allowDFSChannelRoam; #ifdef WLAN_FEATURE_ROAM_OFFLOAD bool isRoamOffloadEnabled; #endif diff --git a/core/sme/inc/sme_api.h b/core/sme/inc/sme_api.h index 76ef26e6363c..9f7cd410d430 100644 --- a/core/sme/inc/sme_api.h +++ b/core/sme/inc/sme_api.h @@ -770,10 +770,6 @@ QDF_STATUS sme_set_tm_level(mac_handle_t mac_handle, uint16_t newTMLevel, void sme_feature_caps_exchange(mac_handle_t mac_handle); void sme_disable_feature_capablity(uint8_t feature_index); void sme_reset_power_values_for5_g(mac_handle_t mac_handle); -QDF_STATUS sme_update_roam_prefer5_g_hz(mac_handle_t mac_handle, - bool nRoamPrefer5GHz); -QDF_STATUS sme_set_roam_intra_band(mac_handle_t mac_handle, - const bool nRoamIntraBand); QDF_STATUS sme_update_roam_scan_n_probes(mac_handle_t mac_handle, uint8_t sessionId, const uint8_t nProbes); @@ -802,15 +798,11 @@ QDF_STATUS sme_update_is_fast_roam_ini_feature_enabled(mac_handle_t mac_handle, QDF_STATUS sme_config_fast_roaming(mac_handle_t mac_handle, uint8_t session_id, const bool is_fast_roam_enabled); -QDF_STATUS sme_update_is_mawc_ini_feature_enabled(mac_handle_t mac_handle, - const bool MAWCEnabled); QDF_STATUS sme_stop_roaming(mac_handle_t mac_handle, uint8_t sessionId, uint8_t reason); QDF_STATUS sme_start_roaming(mac_handle_t mac_handle, uint8_t sessionId, uint8_t reason); -QDF_STATUS sme_update_enable_fast_roam_in_concurrency(mac_handle_t mac_handle, - bool bFastRoamInConIniFeatureEnabled); #ifdef FEATURE_WLAN_ESE QDF_STATUS sme_update_is_ese_feature_enabled(mac_handle_t mac_handle, uint8_t sessionId, @@ -828,8 +820,6 @@ QDF_STATUS sme_set_roam_opportunistic_scan_threshold_diff( uint8_t sme_get_roam_opportunistic_scan_threshold_diff(mac_handle_t mac_handle); QDF_STATUS sme_set_neighbor_lookup_rssi_threshold(mac_handle_t mac_handle, uint8_t sessionId, uint8_t neighborLookupRssiThreshold); -QDF_STATUS sme_set_delay_before_vdev_stop(mac_handle_t mac_handle, - uint8_t sessionId, uint8_t delay_before_vdev_stop); uint8_t sme_get_neighbor_lookup_rssi_threshold(mac_handle_t mac_handle); QDF_STATUS sme_set_neighbor_scan_refresh_period(mac_handle_t mac_handle, uint8_t sessionId, uint16_t neighborScanResultsRefreshPeriod); @@ -868,14 +858,9 @@ QDF_STATUS sme_set_neighbor_scan_min_period(mac_handle_t mac_handle, uint8_t session_id, const uint16_t neighbor_scan_min_period); QDF_STATUS sme_set_roam_bmiss_first_bcnt(mac_handle_t mac_handle, uint8_t sessionId, const uint8_t nRoamBmissFirstBcnt); -uint8_t sme_get_roam_bmiss_first_bcnt(mac_handle_t mac_handle); QDF_STATUS sme_set_roam_bmiss_final_bcnt(mac_handle_t mac_handle, uint8_t sessionId, const uint8_t nRoamBmissFinalBcnt); -uint8_t sme_get_roam_bmiss_final_bcnt(mac_handle_t mac_handle); -QDF_STATUS sme_set_roam_beacon_rssi_weight(mac_handle_t mac_handle, - uint8_t sessionId, - const uint8_t nRoamBeaconRssiWeight); uint8_t sme_get_roam_beacon_rssi_weight(mac_handle_t mac_handle); uint8_t sme_get_roam_rssi_diff(mac_handle_t mac_handle); QDF_STATUS sme_change_roam_scan_channel_list(mac_handle_t mac_handle, @@ -895,8 +880,6 @@ bool sme_get_wes_mode(mac_handle_t mac_handle); bool sme_get_roam_scan_control(mac_handle_t mac_handle); bool sme_get_is_lfr_feature_enabled(mac_handle_t mac_handle); bool sme_get_is_ft_feature_enabled(mac_handle_t mac_handle); -QDF_STATUS sme_update_roam_scan_offload_enabled(mac_handle_t mac_handle, - bool nRoamScanOffloadEnabled); bool sme_is_feature_supported_by_fw(enum cap_bitmap feature); QDF_STATUS sme_set_phy_mode(mac_handle_t mac_handle, eCsrPhyMode phyMode); @@ -1501,11 +1484,6 @@ QDF_STATUS sme_handle_set_fcc_channel(mac_handle_t mac_handle, bool fcc_constraint, bool scan_pending); -QDF_STATUS sme_update_roam_scan_hi_rssi_scan_params(mac_handle_t mac_handle, - uint8_t session_id, - uint32_t notify_id, - int32_t val); - /** * sme_update_tx_bfee_supp() - sets the Tx Bfee support * @mac_handle: Opaque handle to the global MAC context diff --git a/core/sme/src/common/sme_api.c b/core/sme/src/common/sme_api.c index bbac5f82654d..3ad0b7eff662 100644 --- a/core/sme/src/common/sme_api.c +++ b/core/sme/src/common/sme_api.c @@ -1476,28 +1476,28 @@ QDF_STATUS sme_update_is_ese_feature_enabled(mac_handle_t mac_handle, tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); QDF_STATUS status; - if (mac->roam.configParam.isEseIniFeatureEnabled == + if (mac->mlme_cfg->lfr.ese_enabled == isEseIniFeatureEnabled) { QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, "%s: ESE Mode is already enabled or disabled, nothing to do (returning) old(%d) new(%d)", __func__, - mac->roam.configParam.isEseIniFeatureEnabled, + mac->mlme_cfg->lfr.ese_enabled, isEseIniFeatureEnabled); return QDF_STATUS_SUCCESS; } QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, "%s: EseEnabled is changed from %d to %d", __func__, - mac->roam.configParam.isEseIniFeatureEnabled, + mac->mlme_cfg->lfr.ese_enabled, isEseIniFeatureEnabled); - mac->roam.configParam.isEseIniFeatureEnabled = isEseIniFeatureEnabled; + mac->mlme_cfg->lfr.ese_enabled = isEseIniFeatureEnabled; csr_neighbor_roam_update_fast_roaming_enabled( mac, sessionId, isEseIniFeatureEnabled); if (true == isEseIniFeatureEnabled) - sme_update_fast_transition_enabled(mac_handle, true); + mac->mlme_cfg->lfr.fast_transition_enabled = true; - if (mac->roam.configParam.isRoamOffloadScanEnabled) { + if (mac->mlme_cfg->lfr.roam_scan_offload_enabled) { status = sme_acquire_global_lock(&mac->sme); if (QDF_IS_STATUS_SUCCESS(status)) { csr_roam_offload_scan(mac, sessionId, @@ -1824,7 +1824,7 @@ QDF_STATUS sme_set_ese_roam_scan_channel_list(mac_handle_t mac_handle, pNeighborRoamInfo->neighborRoamState); } - if (mac->roam.configParam.isRoamOffloadScanEnabled) + if (mac->mlme_cfg->lfr.roam_scan_offload_enabled) csr_roam_offload_scan(mac, sessionId, ROAM_SCAN_OFFLOAD_UPDATE_CFG, REASON_CHANNEL_LIST_CHANGED); @@ -6530,68 +6530,6 @@ void sme_reset_power_values_for5_g(mac_handle_t mac_handle) csr_apply_power2_current(mac); } -/* - * sme_update_roam_prefer5_g_hz() - - * Enable/disable Roam prefer 5G runtime option - * This function is called through dynamic setConfig callback function - * to configure the Roam prefer 5G runtime option - * - * mac_handle: Opaque handle to the global MAC context - * nRoamPrefer5GHz Enable/Disable Roam prefer 5G runtime option - * Return Success or failure - */ - -QDF_STATUS sme_update_roam_prefer5_g_hz(mac_handle_t mac_handle, - bool nRoamPrefer5GHz) -{ - tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); - QDF_STATUS status = QDF_STATUS_SUCCESS; - - MTRACE(qdf_trace(QDF_MODULE_ID_SME, - TRACE_CODE_SME_RX_HDD_UPDATE_RP5G, NO_SESSION, 0)); - status = sme_acquire_global_lock(&mac->sme); - if (QDF_IS_STATUS_SUCCESS(status)) { - QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, - "%s: gRoamPrefer5GHz is changed from %d to %d", - __func__, mac->roam.configParam.nRoamPrefer5GHz, - nRoamPrefer5GHz); - mac->roam.configParam.nRoamPrefer5GHz = nRoamPrefer5GHz; - sme_release_global_lock(&mac->sme); - } - - return status; -} - -/* - * sme_set_roam_intra_band() - - * enable/disable Intra band roaming - * This function is called through dynamic setConfig callback function - * to configure the intra band roaming - * mac_handle: Opaque handle to the global MAC context - * nRoamIntraBand Enable/Disable Intra band roaming - * Return Success or failure - */ -QDF_STATUS sme_set_roam_intra_band(mac_handle_t mac_handle, - const bool nRoamIntraBand) -{ - tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); - QDF_STATUS status = QDF_STATUS_SUCCESS; - - MTRACE(qdf_trace(QDF_MODULE_ID_SME, - TRACE_CODE_SME_RX_HDD_SET_ROAMIBAND, NO_SESSION, 0)); - status = sme_acquire_global_lock(&mac->sme); - if (QDF_IS_STATUS_SUCCESS(status)) { - QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, - "%s: gRoamIntraBand is changed from %d to %d", - __func__, mac->roam.configParam.nRoamIntraBand, - nRoamIntraBand); - mac->roam.configParam.nRoamIntraBand = nRoamIntraBand; - sme_release_global_lock(&mac->sme); - } - - return status; -} - /* * sme_update_roam_scan_n_probes() - * Function to update roam scan N probes @@ -6616,10 +6554,11 @@ QDF_STATUS sme_update_roam_scan_n_probes(mac_handle_t mac_handle, if (QDF_IS_STATUS_SUCCESS(status)) { QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, "%s: gRoamScanNProbes is changed from %d to %d", - __func__, mac->roam.configParam.nProbes, nProbes); - mac->roam.configParam.nProbes = nProbes; + __func__, mac->mlme_cfg->lfr.roam_scan_n_probes, + nProbes); + mac->mlme_cfg->lfr.roam_scan_n_probes = nProbes; - if (mac->roam.configParam.isRoamOffloadScanEnabled) { + if (mac->mlme_cfg->lfr.roam_scan_offload_enabled) { csr_roam_offload_scan(mac, sessionId, ROAM_SCAN_OFFLOAD_UPDATE_CFG, REASON_NPROBES_CHANGED); @@ -6659,13 +6598,13 @@ QDF_STATUS sme_update_roam_scan_home_away_time( QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, "%s: gRoamScanHomeAwayTime is changed from %d to %d", __func__, - mac->roam.configParam.nRoamScanHomeAwayTime, + mac->mlme_cfg->lfr.roam_scan_home_away_time, nRoamScanHomeAwayTime); - mac->roam.configParam.nRoamScanHomeAwayTime = + mac->mlme_cfg->lfr.roam_scan_home_away_time = nRoamScanHomeAwayTime; - if (mac->roam.configParam.isRoamOffloadScanEnabled && - bSendOffloadCmd) { + if (mac->mlme_cfg->lfr.roam_scan_offload_enabled && + bSendOffloadCmd) { csr_roam_offload_scan(mac, sessionId, ROAM_SCAN_OFFLOAD_UPDATE_CFG, REASON_HOME_AWAY_TIME_CHANGED); @@ -6727,7 +6666,8 @@ bool sme_get_roam_intra_band(mac_handle_t mac_handle) MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_RX_HDD_GET_ROAMIBAND, NO_SESSION, 0)); - return mac->roam.configParam.nRoamIntraBand; + + return mac->mlme_cfg->lfr.roam_intra_band; } /* @@ -6741,7 +6681,7 @@ uint8_t sme_get_roam_scan_n_probes(mac_handle_t mac_handle) { tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); - return mac->roam.configParam.nProbes; + return mac->mlme_cfg->lfr.roam_scan_n_probes; } /* @@ -6755,7 +6695,7 @@ uint16_t sme_get_roam_scan_home_away_time(mac_handle_t mac_handle) { tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); - return mac->roam.configParam.nRoamScanHomeAwayTime; + return mac->mlme_cfg->lfr.roam_scan_home_away_time; } /* @@ -6789,14 +6729,14 @@ QDF_STATUS sme_update_roam_rssi_diff(mac_handle_t mac_handle, uint8_t sessionId, QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, "LFR runtime successfully set roam rssi diff to %d - old value is %d - roam state is %s", RoamRssiDiff, - mac->roam.configParam.RoamRssiDiff, + mac->mlme_cfg->lfr.roam_rssi_diff, mac_trace_get_neighbour_roam_state(mac->roam. neighborRoamInfo [sessionId]. neighborRoamState)); - mac->roam.configParam.RoamRssiDiff = RoamRssiDiff; + mac->mlme_cfg->lfr.roam_rssi_diff = RoamRssiDiff; - if (mac->roam.configParam.isRoamOffloadScanEnabled) + if (mac->mlme_cfg->lfr.roam_scan_offload_enabled) csr_roam_offload_scan(mac, sessionId, ROAM_SCAN_OFFLOAD_UPDATE_CFG, REASON_RSSI_DIFF_CHANGED); @@ -6825,7 +6765,7 @@ QDF_STATUS sme_update_fils_config(mac_handle_t mac_handle, uint8_t session_id, return QDF_STATUS_E_INVAL; } - if (!mac->roam.configParam.isFastRoamIniFeatureEnabled || + if (!mac->mlme_cfg->lfr.lfr_enabled || (neighbor_roam_info->neighborRoamState != eCSR_NEIGHBOR_ROAM_STATE_CONNECTED)) { sme_info("Fast roam is disabled or not connected(%d)", @@ -6870,7 +6810,7 @@ void sme_send_hlp_ie_info(mac_handle_t mac_handle, uint8_t session_id, return; } - if (!mac->roam.configParam.isFastRoamIniFeatureEnabled || + if (!mac->mlme_cfg->lfr.lfr_enabled || (neighbor_roam_info->neighborRoamState != eCSR_NEIGHBOR_ROAM_STATE_CONNECTED)) { sme_debug("Fast roam is disabled or not connected(%d)", @@ -6951,42 +6891,6 @@ inline void sme_send_hlp_ie_info(mac_handle_t mac_handle, uint8_t session_id, {} #endif -/* - * sme_update_fast_transition_enabled() - enable/disable Fast Transition - * support at runtime - * It is used at in the REG_DYNAMIC_VARIABLE macro definition of - * isFastTransitionEnabled. - * This is a synchronous call - * - * mac_handle - The handle returned by mac_open. - * Return QDF_STATUS_SUCCESS - SME update isFastTransitionEnabled config - * successfully. - * Other status means SME is failed to update isFastTransitionEnabled. - */ -QDF_STATUS sme_update_fast_transition_enabled(mac_handle_t mac_handle, - bool isFastTransitionEnabled) -{ - tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); - QDF_STATUS status = QDF_STATUS_SUCCESS; - - MTRACE(qdf_trace(QDF_MODULE_ID_SME, - TRACE_CODE_SME_RX_HDD_UPDATE_FTENABLED, NO_SESSION, - 0)); - status = sme_acquire_global_lock(&mac->sme); - if (QDF_IS_STATUS_SUCCESS(status)) { - QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, - "%s: FastTransitionEnabled is changed from %d to %d", - __func__, - mac->roam.configParam.isFastTransitionEnabled, - isFastTransitionEnabled); - mac->roam.configParam.isFastTransitionEnabled = - isFastTransitionEnabled; - sme_release_global_lock(&mac->sme); - } - - return status; -} - /* * sme_update_wes_mode() - * Update WES Mode @@ -7017,12 +6921,12 @@ QDF_STATUS sme_update_wes_mode(mac_handle_t mac_handle, bool isWESModeEnabled, QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, "LFR runtime successfully set WES Mode to %d - old value is %d - roam state is %s", isWESModeEnabled, - mac->roam.configParam.isWESModeEnabled, + mac->mlme_cfg->lfr.wes_mode_enabled, mac_trace_get_neighbour_roam_state(mac->roam. neighborRoamInfo [sessionId]. neighborRoamState)); - mac->roam.configParam.isWESModeEnabled = isWESModeEnabled; + mac->mlme_cfg->lfr.wes_mode_enabled = isWESModeEnabled; sme_release_global_lock(&mac->sme); } @@ -7071,7 +6975,7 @@ QDF_STATUS sme_set_roam_scan_control(mac_handle_t mac_handle, uint8_t sessionId, "LFR runtime successfully cleared roam scan cache"); csr_flush_cfg_bg_scan_roam_channel_list(mac, sessionId); - if (mac->roam.configParam.isRoamOffloadScanEnabled) { + if (mac->mlme_cfg->lfr.roam_scan_offload_enabled) { csr_roam_offload_scan(mac, sessionId, ROAM_SCAN_OFFLOAD_UPDATE_CFG, REASON_FLUSH_CHANNEL_LIST); @@ -7100,22 +7004,21 @@ QDF_STATUS sme_update_is_fast_roam_ini_feature_enabled(mac_handle_t mac_handle, { tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); - if (mac->roam.configParam.isFastRoamIniFeatureEnabled == + if (mac->mlme_cfg->lfr.lfr_enabled == isFastRoamIniFeatureEnabled) { QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, "%s: FastRoam is already enabled or disabled, nothing to do (returning) old(%d) new(%d)", __func__, - mac->roam.configParam.isFastRoamIniFeatureEnabled, + mac->mlme_cfg->lfr.lfr_enabled, isFastRoamIniFeatureEnabled); return QDF_STATUS_SUCCESS; } QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, "%s: FastRoamEnabled is changed from %d to %d", __func__, - mac->roam.configParam.isFastRoamIniFeatureEnabled, + mac->mlme_cfg->lfr.lfr_enabled, isFastRoamIniFeatureEnabled); - mac->roam.configParam.isFastRoamIniFeatureEnabled = - isFastRoamIniFeatureEnabled; + mac->mlme_cfg->lfr.lfr_enabled = isFastRoamIniFeatureEnabled; csr_neighbor_roam_update_fast_roaming_enabled(mac, sessionId, isFastRoamIniFeatureEnabled); @@ -7157,7 +7060,7 @@ QDF_STATUS sme_config_fast_roaming(mac_handle_t mac_handle, uint8_t session_id, session->pCurRoamProfile->supplicant_disabled_roaming = !is_fast_roam_enabled; - if (!mac_ctx->roam.configParam.isFastRoamIniFeatureEnabled) { + if (!mac_ctx->mlme_cfg->lfr.lfr_enabled) { sme_debug("Fast roam is disabled through ini"); if (!is_fast_roam_enabled) return QDF_STATUS_SUCCESS; @@ -7174,38 +7077,6 @@ QDF_STATUS sme_config_fast_roaming(mac_handle_t mac_handle, uint8_t session_id, return QDF_STATUS_SUCCESS; } -/* - * sme_update_is_mawc_ini_feature_enabled() - - * Enable/disable LFR MAWC support at runtime - * It is used at in the REG_DYNAMIC_VARIABLE macro definition of - * isMAWCIniFeatureEnabled. - * This is a synchronous call - * - * mac_handle - The handle returned by mac_open. - * Return QDF_STATUS_SUCCESS - SME update MAWCEnabled config successfully. - * Other status means SME is failed to update MAWCEnabled. - */ -QDF_STATUS sme_update_is_mawc_ini_feature_enabled(mac_handle_t mac_handle, - const bool MAWCEnabled) -{ - tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); - QDF_STATUS status = QDF_STATUS_SUCCESS; - - status = sme_acquire_global_lock(&mac->sme); - if (QDF_IS_STATUS_SUCCESS(status)) { - QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, - "%s: MAWCEnabled is changed from %d to %d", __func__, - mac->roam.configParam.csr_mawc_config.mawc_enabled, - MAWCEnabled); - mac->roam.configParam.csr_mawc_config.mawc_enabled = - MAWCEnabled; - sme_release_global_lock(&mac->sme); - } - - return status; - -} - /** * sme_stop_roaming() - Stop roaming for a given sessionId * This is a synchronous call @@ -7306,37 +7177,6 @@ QDF_STATUS sme_start_roaming(mac_handle_t mac_handle, uint8_t sessionId, return status; } -/* - * sme_update_enable_fast_roam_in_concurrency() - enable/disable LFR if - * Concurrent session exists - * This is a synchronuous call - * - * mac_handle - The handle returned by mac_open. - * Return QDF_STATUS_SUCCESS - * Other status means SME is failed - */ -QDF_STATUS sme_update_enable_fast_roam_in_concurrency(mac_handle_t mac_handle, - bool - bFastRoamInConIniFeatureEnabled) -{ - - tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); - QDF_STATUS status = QDF_STATUS_SUCCESS; - - status = sme_acquire_global_lock(&mac->sme); - if (QDF_IS_STATUS_SUCCESS(status)) { - mac->roam.configParam.bFastRoamInConIniFeatureEnabled = - bFastRoamInConIniFeatureEnabled; - if (0 == mac->roam.configParam.isRoamOffloadScanEnabled) { - mac->roam.configParam.bFastRoamInConIniFeatureEnabled = - 0; - } - sme_release_global_lock(&mac->sme); - } - - return status; -} - /* * sme_set_roam_opportunistic_scan_threshold_diff() - * Update Opportunistic Scan threshold diff @@ -7364,8 +7204,7 @@ QDF_STATUS sme_set_roam_opportunistic_scan_threshold_diff( nOpportunisticThresholdDiff, REASON_OPPORTUNISTIC_THRESH_DIFF_CHANGED); if (QDF_IS_STATUS_SUCCESS(status)) { - mac->roam.configParam.neighborRoamConfig. - nOpportunisticThresholdDiff = + mac->mlme_cfg->lfr.opportunistic_scan_threshold_diff = nOpportunisticThresholdDiff; } sme_release_global_lock(&mac->sme); @@ -7385,8 +7224,7 @@ uint8_t sme_get_roam_opportunistic_scan_threshold_diff(mac_handle_t mac_handle) { tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); - return mac->roam.configParam.neighborRoamConfig. - nOpportunisticThresholdDiff; + return mac->mlme_cfg->lfr.opportunistic_scan_threshold_diff; } /* @@ -7413,10 +7251,10 @@ QDF_STATUS sme_set_roam_rescan_rssi_diff(mac_handle_t mac_handle, status = csr_neighbor_roam_update_config(mac, sessionId, nRoamRescanRssiDiff, REASON_ROAM_RESCAN_RSSI_DIFF_CHANGED); - if (QDF_IS_STATUS_SUCCESS(status)) { - mac->roam.configParam.neighborRoamConfig. - nRoamRescanRssiDiff = nRoamRescanRssiDiff; - } + if (QDF_IS_STATUS_SUCCESS(status)) + mac->mlme_cfg->lfr.roam_rescan_rssi_diff = + nRoamRescanRssiDiff; + sme_release_global_lock(&mac->sme); } return status; @@ -7434,7 +7272,7 @@ uint8_t sme_get_roam_rescan_rssi_diff(mac_handle_t mac_handle) { tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); - return mac->roam.configParam.neighborRoamConfig.nRoamRescanRssiDiff; + return mac->mlme_cfg->lfr.roam_rescan_rssi_diff; } /* @@ -7462,28 +7300,14 @@ QDF_STATUS sme_set_roam_bmiss_first_bcnt(mac_handle_t mac_handle, nRoamBmissFirstBcnt, REASON_ROAM_BMISS_FIRST_BCNT_CHANGED); if (QDF_IS_STATUS_SUCCESS(status)) { - mac->roam.configParam.neighborRoamConfig. - nRoamBmissFirstBcnt = nRoamBmissFirstBcnt; + mac->mlme_cfg->lfr.roam_bmiss_first_bcnt = + nRoamBmissFirstBcnt; } sme_release_global_lock(&mac->sme); } return status; } -/* - * sme_get_roam_bmiss_first_bcnt() - - * get neighbor roam beacon miss first count - * - * mac_handle - The handle returned by mac_open. - * Return uint8_t - neighbor roam beacon miss first count - */ -uint8_t sme_get_roam_bmiss_first_bcnt(mac_handle_t mac_handle) -{ - tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); - - return mac->roam.configParam.neighborRoamConfig.nRoamBmissFirstBcnt; -} - /* * sme_set_roam_bmiss_final_bcnt() - * Update Roam count for final beacon miss @@ -7509,57 +7333,8 @@ QDF_STATUS sme_set_roam_bmiss_final_bcnt(mac_handle_t mac_handle, nRoamBmissFinalBcnt, REASON_ROAM_BMISS_FINAL_BCNT_CHANGED); if (QDF_IS_STATUS_SUCCESS(status)) { - mac->roam.configParam.neighborRoamConfig. - nRoamBmissFinalBcnt = nRoamBmissFinalBcnt; - } - sme_release_global_lock(&mac->sme); - } - return status; -} - -/* - * sme_get_roam_bmiss_final_bcnt() - - * gets Roam count for final beacon miss - * This is a synchronous call - * - * mac_handle - The handle returned by mac_open - * Return uint8_t - nRoamBmissFinalBcnt - */ -uint8_t sme_get_roam_bmiss_final_bcnt(mac_handle_t mac_handle) -{ - tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); - - return mac->roam.configParam.neighborRoamConfig.nRoamBmissFinalBcnt; -} - -/* - * sme_set_roam_beacon_rssi_weight() - - * Update Roam beacon rssi weight - * This function is called through dynamic setConfig callback function - * to configure nRoamBeaconRssiWeight - * - * mac_handle: Opaque handle to the global MAC context - * sessionId - Session Identifier - * nRoamBeaconRssiWeight - Roam beacon rssi weight - * Return QDF_STATUS_SUCCESS - SME update nRoamBeaconRssiWeight config - * successfully. - * else SME is failed to update nRoamBeaconRssiWeight - */ -QDF_STATUS sme_set_roam_beacon_rssi_weight(mac_handle_t mac_handle, - uint8_t sessionId, - const uint8_t nRoamBeaconRssiWeight) -{ - tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); - QDF_STATUS status = QDF_STATUS_SUCCESS; - - status = sme_acquire_global_lock(&mac->sme); - if (QDF_IS_STATUS_SUCCESS(status)) { - status = csr_neighbor_roam_update_config(mac, sessionId, - nRoamBeaconRssiWeight, - REASON_ROAM_BEACON_RSSI_WEIGHT_CHANGED); - if (QDF_IS_STATUS_SUCCESS(status)) { - mac->roam.configParam.neighborRoamConfig. - nRoamBeaconRssiWeight = nRoamBeaconRssiWeight; + mac->mlme_cfg->lfr.roam_bmiss_final_bcnt = + nRoamBmissFinalBcnt; } sme_release_global_lock(&mac->sme); } @@ -7578,7 +7353,7 @@ uint8_t sme_get_roam_beacon_rssi_weight(mac_handle_t mac_handle) { tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); - return mac->roam.configParam.neighborRoamConfig.nRoamBeaconRssiWeight; + return mac->mlme_cfg->lfr.roam_beacon_rssi_weight; } /* @@ -7603,8 +7378,7 @@ QDF_STATUS sme_set_neighbor_lookup_rssi_threshold(mac_handle_t mac_handle, sessionId, neighborLookupRssiThreshold, REASON_LOOKUP_THRESH_CHANGED); if (QDF_IS_STATUS_SUCCESS(status)) { - mac->roam.configParam.neighborRoamConfig. - nNeighborLookupRssiThreshold = + mac->mlme_cfg->lfr.neighbor_lookup_rssi_threshold = neighborLookupRssiThreshold; } sme_release_global_lock(&mac->sme); @@ -7612,45 +7386,6 @@ QDF_STATUS sme_set_neighbor_lookup_rssi_threshold(mac_handle_t mac_handle, return status; } -/* - * sme_set_delay_before_vdev_stop() - update delay before VDEV_STOP - * This is a synchronous call - * - * mac_handle - The handle returned by macOpen. - * session_id - Session Identifier - * delay_before_vdev_stop - value to be set - * Return QDF_STATUS_SUCCESS - SME update config successful. - * Other status means SME is failed to update - */ -QDF_STATUS sme_set_delay_before_vdev_stop(mac_handle_t mac_handle, - uint8_t session_id, - uint8_t delay_before_vdev_stop) -{ - tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); - QDF_STATUS status = QDF_STATUS_SUCCESS; - - if (session_id >= CSR_ROAM_SESSION_MAX) { - QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR, - FL("Invalid sme session id: %d"), session_id); - return QDF_STATUS_E_INVAL; - } - - status = sme_acquire_global_lock(&mac->sme); - if (QDF_IS_STATUS_SUCCESS(status)) { - QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, - "LFR param delay_before_vdev_stop changed from %d to %d", - mac->roam.configParam.neighborRoamConfig. - delay_before_vdev_stop, - delay_before_vdev_stop); - mac->roam.neighborRoamInfo[session_id].cfgParams. - delay_before_vdev_stop = delay_before_vdev_stop; - mac->roam.configParam.neighborRoamConfig. - delay_before_vdev_stop = delay_before_vdev_stop; - sme_release_global_lock(&mac->sme); - } - return status; -} - /* * sme_get_neighbor_lookup_rssi_threshold() - get neighbor lookup * rssi threshold @@ -7664,8 +7399,7 @@ uint8_t sme_get_neighbor_lookup_rssi_threshold(mac_handle_t mac_handle) { tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); - return mac->roam.configParam.neighborRoamConfig. - nNeighborLookupRssiThreshold; + return mac->mlme_cfg->lfr.neighbor_lookup_rssi_threshold; } /* @@ -7683,7 +7417,6 @@ QDF_STATUS sme_set_neighbor_scan_refresh_period(mac_handle_t mac_handle, { tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); QDF_STATUS status = QDF_STATUS_SUCCESS; - struct csr_neighbor_roamconfig *pNeighborRoamConfig = NULL; tpCsrNeighborRoamControlInfo pNeighborRoamInfo = NULL; if (sessionId >= CSR_ROAM_SESSION_MAX) { @@ -7694,24 +7427,22 @@ QDF_STATUS sme_set_neighbor_scan_refresh_period(mac_handle_t mac_handle, status = sme_acquire_global_lock(&mac->sme); if (QDF_IS_STATUS_SUCCESS(status)) { - pNeighborRoamConfig = - &mac->roam.configParam.neighborRoamConfig; pNeighborRoamInfo = &mac->roam.neighborRoamInfo[sessionId]; QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, "LFR runtime successfully set roam scan refresh period to %d- old value is %d - roam state is %s", neighborScanResultsRefreshPeriod, - mac->roam.configParam.neighborRoamConfig. - nNeighborResultsRefreshPeriod, + mac->mlme_cfg->lfr. + neighbor_scan_results_refresh_period, mac_trace_get_neighbour_roam_state(mac->roam. neighborRoamInfo [sessionId]. neighborRoamState)); - pNeighborRoamConfig->nNeighborResultsRefreshPeriod = + mac->mlme_cfg->lfr.neighbor_scan_results_refresh_period = neighborScanResultsRefreshPeriod; pNeighborRoamInfo->cfgParams.neighborResultsRefreshPeriod = neighborScanResultsRefreshPeriod; - if (mac->roam.configParam.isRoamOffloadScanEnabled) { + if (mac->mlme_cfg->lfr.roam_scan_offload_enabled) { csr_roam_offload_scan(mac, sessionId, ROAM_SCAN_OFFLOAD_UPDATE_CFG, REASON_NEIGHBOR_SCAN_REFRESH_PERIOD_CHANGED); @@ -7722,37 +7453,6 @@ QDF_STATUS sme_set_neighbor_scan_refresh_period(mac_handle_t mac_handle, return status; } -/* - * sme_update_roam_scan_offload_enabled() - enable/disable roam scan - * offload feaure - * It is used at in the REG_DYNAMIC_VARIABLE macro definition of - * gRoamScanOffloadEnabled. - * This is a synchronous call - * - * mac_handle - The handle returned by mac_open. - * Return QDF_STATUS_SUCCESS - SME update config successfully. - * Other status means SME is failed to update. - */ -QDF_STATUS sme_update_roam_scan_offload_enabled(mac_handle_t mac_handle, - bool nRoamScanOffloadEnabled) -{ - tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); - QDF_STATUS status = QDF_STATUS_SUCCESS; - - status = sme_acquire_global_lock(&mac->sme); - if (QDF_IS_STATUS_SUCCESS(status)) { - QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, - "gRoamScanOffloadEnabled is changed from %d to %d", - mac->roam.configParam.isRoamOffloadScanEnabled, - nRoamScanOffloadEnabled); - mac->roam.configParam.isRoamOffloadScanEnabled = - nRoamScanOffloadEnabled; - sme_release_global_lock(&mac->sme); - } - - return status; -} - /* * sme_get_neighbor_scan_refresh_period() - get neighbor scan results * refresh period @@ -7765,8 +7465,7 @@ uint16_t sme_get_neighbor_scan_refresh_period(mac_handle_t mac_handle) { tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); - return mac->roam.configParam.neighborRoamConfig. - nNeighborResultsRefreshPeriod; + return mac->mlme_cfg->lfr.neighbor_scan_results_refresh_period; } /* @@ -7781,8 +7480,7 @@ uint16_t sme_get_empty_scan_refresh_period(mac_handle_t mac_handle) { tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); - return mac->roam.configParam.neighborRoamConfig. - nEmptyScanRefreshPeriod; + return mac->mlme_cfg->lfr.empty_scan_refresh_period; } /* @@ -7805,7 +7503,6 @@ QDF_STATUS sme_update_empty_scan_refresh_period(mac_handle_t mac_handle, { tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); QDF_STATUS status = QDF_STATUS_SUCCESS; - struct csr_neighbor_roamconfig *pNeighborRoamConfig = NULL; tpCsrNeighborRoamControlInfo pNeighborRoamInfo = NULL; if (sessionId >= CSR_ROAM_SESSION_MAX) { @@ -7816,24 +7513,21 @@ QDF_STATUS sme_update_empty_scan_refresh_period(mac_handle_t mac_handle, status = sme_acquire_global_lock(&mac->sme); if (QDF_IS_STATUS_SUCCESS(status)) { - pNeighborRoamConfig = - &mac->roam.configParam.neighborRoamConfig; pNeighborRoamInfo = &mac->roam.neighborRoamInfo[sessionId]; QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, "LFR runtime successfully set roam scan period to %d -old value is %d - roam state is %s", nEmptyScanRefreshPeriod, - mac->roam.configParam.neighborRoamConfig. - nEmptyScanRefreshPeriod, + mac->mlme_cfg->lfr.empty_scan_refresh_period, mac_trace_get_neighbour_roam_state(mac->roam. neighborRoamInfo [sessionId]. neighborRoamState)); - pNeighborRoamConfig->nEmptyScanRefreshPeriod = + mac->mlme_cfg->lfr.empty_scan_refresh_period = nEmptyScanRefreshPeriod; pNeighborRoamInfo->cfgParams.emptyScanRefreshPeriod = nEmptyScanRefreshPeriod; - if (mac->roam.configParam.isRoamOffloadScanEnabled) { + if (mac->mlme_cfg->lfr.roam_scan_offload_enabled) { csr_roam_offload_scan(mac, sessionId, ROAM_SCAN_OFFLOAD_UPDATE_CFG, REASON_EMPTY_SCAN_REF_PERIOD_CHANGED); @@ -7876,15 +7570,14 @@ QDF_STATUS sme_set_neighbor_scan_min_chan_time(mac_handle_t mac_handle, QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, "LFR runtime successfully set channel min dwell time to %d - old value is %d - roam state is %s", nNeighborScanMinChanTime, - mac->roam.configParam.neighborRoamConfig. - nNeighborScanMinChanTime, + mac->mlme_cfg->lfr.neighbor_scan_min_chan_time, mac_trace_get_neighbour_roam_state(mac->roam. neighborRoamInfo [sessionId]. neighborRoamState)); - mac->roam.configParam.neighborRoamConfig. - nNeighborScanMinChanTime = nNeighborScanMinChanTime; + mac->mlme_cfg->lfr.neighbor_scan_min_chan_time = + nNeighborScanMinChanTime; mac->roam.neighborRoamInfo[sessionId].cfgParams. minChannelScanTime = nNeighborScanMinChanTime; sme_release_global_lock(&mac->sme); @@ -7913,7 +7606,6 @@ QDF_STATUS sme_set_neighbor_scan_max_chan_time(mac_handle_t mac_handle, { tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); QDF_STATUS status = QDF_STATUS_SUCCESS; - struct csr_neighbor_roamconfig *pNeighborRoamConfig = NULL; tpCsrNeighborRoamControlInfo pNeighborRoamInfo = NULL; if (sessionId >= CSR_ROAM_SESSION_MAX) { @@ -7924,23 +7616,20 @@ QDF_STATUS sme_set_neighbor_scan_max_chan_time(mac_handle_t mac_handle, status = sme_acquire_global_lock(&mac->sme); if (QDF_IS_STATUS_SUCCESS(status)) { - pNeighborRoamConfig = - &mac->roam.configParam.neighborRoamConfig; pNeighborRoamInfo = &mac->roam.neighborRoamInfo[sessionId]; QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, "LFR runtime successfully set channel max dwell time to %d - old value is %d - roam state is %s", nNeighborScanMaxChanTime, - mac->roam.configParam.neighborRoamConfig. - nNeighborScanMaxChanTime, + mac->mlme_cfg->lfr.neighbor_scan_max_chan_time, mac_trace_get_neighbour_roam_state(mac->roam. neighborRoamInfo [sessionId]. neighborRoamState)); - pNeighborRoamConfig->nNeighborScanMaxChanTime = + mac->mlme_cfg->lfr.neighbor_scan_max_chan_time = nNeighborScanMaxChanTime; pNeighborRoamInfo->cfgParams.maxChannelScanTime = nNeighborScanMaxChanTime; - if (mac->roam.configParam.isRoamOffloadScanEnabled) { + if (mac->mlme_cfg->lfr.roam_scan_offload_enabled) { csr_roam_offload_scan(mac, sessionId, ROAM_SCAN_OFFLOAD_UPDATE_CFG, REASON_SCAN_CH_TIME_CHANGED); @@ -7948,7 +7637,6 @@ QDF_STATUS sme_set_neighbor_scan_max_chan_time(mac_handle_t mac_handle, sme_release_global_lock(&mac->sme); } - return status; } @@ -8147,7 +7835,6 @@ QDF_STATUS sme_set_neighbor_scan_period(mac_handle_t mac_handle, { tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); QDF_STATUS status = QDF_STATUS_SUCCESS; - struct csr_neighbor_roamconfig *pNeighborRoamConfig = NULL; tpCsrNeighborRoamControlInfo pNeighborRoamInfo = NULL; if (sessionId >= CSR_ROAM_SESSION_MAX) { @@ -8158,24 +7845,21 @@ QDF_STATUS sme_set_neighbor_scan_period(mac_handle_t mac_handle, status = sme_acquire_global_lock(&mac->sme); if (QDF_IS_STATUS_SUCCESS(status)) { - pNeighborRoamConfig = - &mac->roam.configParam.neighborRoamConfig; pNeighborRoamInfo = &mac->roam.neighborRoamInfo[sessionId]; QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, "LFR runtime successfully set neighbor scan period to %d - old value is %d - roam state is %s", nNeighborScanPeriod, - mac->roam.configParam.neighborRoamConfig. - nNeighborScanTimerPeriod, + mac->mlme_cfg->lfr.neighbor_scan_timer_period, mac_trace_get_neighbour_roam_state(mac->roam. neighborRoamInfo [sessionId]. neighborRoamState)); - pNeighborRoamConfig->nNeighborScanTimerPeriod = + mac->mlme_cfg->lfr.neighbor_scan_timer_period = nNeighborScanPeriod; pNeighborRoamInfo->cfgParams.neighborScanPeriod = nNeighborScanPeriod; - if (mac->roam.configParam.isRoamOffloadScanEnabled) { + if (mac->mlme_cfg->lfr.roam_scan_offload_enabled) { csr_roam_offload_scan(mac, sessionId, ROAM_SCAN_OFFLOAD_UPDATE_CFG, REASON_SCAN_HOME_TIME_CHANGED); @@ -8227,7 +7911,6 @@ QDF_STATUS sme_set_neighbor_scan_min_period(mac_handle_t mac_handle, { tpAniSirGlobal pmac = PMAC_STRUCT(mac_handle); QDF_STATUS status = QDF_STATUS_SUCCESS; - struct csr_neighbor_roamconfig *p_neighbor_roam_config = NULL; tpCsrNeighborRoamControlInfo p_neighbor_roam_info = NULL; if (session_id >= CSR_ROAM_SESSION_MAX) { @@ -8237,19 +7920,17 @@ QDF_STATUS sme_set_neighbor_scan_min_period(mac_handle_t mac_handle, status = sme_acquire_global_lock(&pmac->sme); if (QDF_IS_STATUS_SUCCESS(status)) { - p_neighbor_roam_config = - &pmac->roam.configParam.neighborRoamConfig; p_neighbor_roam_info = &pmac-> roam.neighborRoamInfo[session_id]; sme_debug("LFR:set neighbor scan min period, old:%d, " "new: %d, state: %s", - pmac->roam.configParam.neighborRoamConfig. + pmac->mlme_cfg->lfr. neighbor_scan_min_timer_period, neighbor_scan_min_period, mac_trace_get_neighbour_roam_state(pmac->roam. neighborRoamInfo[session_id]. neighborRoamState)); - p_neighbor_roam_config->neighbor_scan_min_timer_period = + pmac->mlme_cfg->lfr.neighbor_scan_min_timer_period = neighbor_scan_min_period; p_neighbor_roam_info->cfgParams.neighbor_scan_min_period = neighbor_scan_min_period; @@ -8270,7 +7951,7 @@ uint8_t sme_get_roam_rssi_diff(mac_handle_t mac_handle) { tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); - return mac->roam.configParam.RoamRssiDiff; + return mac->mlme_cfg->lfr.roam_rssi_diff; } /** @@ -8344,7 +8025,7 @@ QDF_STATUS sme_change_roam_scan_channel_list(mac_handle_t mac_handle, newChannelList, oldChannelList, mac->roam.neighborRoamInfo[sessionId].neighborRoamState); - if (mac->roam.configParam.isRoamOffloadScanEnabled) + if (mac->mlme_cfg->lfr.roam_scan_offload_enabled) csr_roam_offload_scan(mac, sessionId, ROAM_SCAN_OFFLOAD_UPDATE_CFG, REASON_CHANNEL_LIST_CHANGED); @@ -8432,7 +8113,7 @@ bool sme_get_wes_mode(mac_handle_t mac_handle) { tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); - return mac->roam.configParam.isWESModeEnabled; + return mac->mlme_cfg->lfr.wes_mode_enabled; } /* @@ -8460,7 +8141,7 @@ bool sme_get_is_lfr_feature_enabled(mac_handle_t mac_handle) { tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); - return mac->roam.configParam.isFastRoamIniFeatureEnabled; + return mac->mlme_cfg->lfr.lfr_enabled; } /* @@ -8475,7 +8156,7 @@ bool sme_get_is_ft_feature_enabled(mac_handle_t mac_handle) { tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); - return mac->roam.configParam.isFastTransitionEnabled; + return mac->mlme_cfg->lfr.fast_transition_enabled; } /** @@ -11143,14 +10824,14 @@ QDF_STATUS sme_update_dfs_scan_mode(mac_handle_t mac_handle, uint8_t sessionId, QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, "LFR runtime successfully set AllowDFSChannelRoam Mode to %d - old value is %d - roam state is %s", allowDFSChannelRoam, - mac->roam.configParam.allowDFSChannelRoam, + mac->mlme_cfg->lfr.roaming_dfs_channel, mac_trace_get_neighbour_roam_state(mac->roam. neighborRoamInfo [sessionId]. neighborRoamState)); - mac->roam.configParam.allowDFSChannelRoam = + mac->mlme_cfg->lfr.roaming_dfs_channel = allowDFSChannelRoam; - if (mac->roam.configParam.isRoamOffloadScanEnabled) { + if (mac->mlme_cfg->lfr.roam_scan_offload_enabled) { csr_roam_offload_scan(mac, sessionId, ROAM_SCAN_OFFLOAD_UPDATE_CFG, REASON_ROAM_DFS_SCAN_MODE_CHANGED); @@ -11173,7 +10854,7 @@ uint8_t sme_get_dfs_scan_mode(mac_handle_t mac_handle) { tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); - return mac->roam.configParam.allowDFSChannelRoam; + return mac->mlme_cfg->lfr.roaming_dfs_channel; } /* @@ -11316,7 +10997,7 @@ QDF_STATUS sme_abort_roam_scan(mac_handle_t mac_handle, uint8_t sessionId) QDF_STATUS status = QDF_STATUS_SUCCESS; tpAniSirGlobal mac = PMAC_STRUCT(mac_handle); - if (mac->roam.configParam.isRoamOffloadScanEnabled) { + if (mac->mlme_cfg->lfr.roam_scan_offload_enabled) { /* acquire the lock for the sme object */ status = sme_acquire_global_lock(&mac->sme); if (QDF_IS_STATUS_SUCCESS(status)) { @@ -14109,99 +13790,6 @@ void sme_setdef_dot11mode(mac_handle_t mac_handle) csr_set_default_dot11_mode(mac_ctx); } -/** - * sme_update_roam_scan_hi_rssi_scan_params() - update high rssi scan - * params - * @mac_handle - The handle returned by macOpen. - * @session_id - Session Identifier - * @notify_id - Identifies 1 of the 4 parameters to be modified - * @val New value of the parameter - * - * Return: QDF_STATUS - SME update config successful. - * Other status means SME failed to update - */ - -QDF_STATUS sme_update_roam_scan_hi_rssi_scan_params(mac_handle_t mac_handle, - uint8_t session_id, - uint32_t notify_id, - int32_t val) -{ - tpAniSirGlobal mac_ctx = PMAC_STRUCT(mac_handle); - QDF_STATUS status = QDF_STATUS_SUCCESS; - struct csr_neighbor_roamconfig *nr_config = NULL; - tpCsrNeighborRoamControlInfo nr_info = NULL; - uint32_t reason = 0; - - if (session_id >= CSR_ROAM_SESSION_MAX) { - QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR, - FL("Invalid sme session id: %d"), session_id); - return QDF_STATUS_E_INVAL; - } - - status = sme_acquire_global_lock(&mac_ctx->sme); - if (QDF_IS_STATUS_SUCCESS(status)) { - nr_config = &mac_ctx->roam.configParam.neighborRoamConfig; - nr_info = &mac_ctx->roam.neighborRoamInfo[session_id]; - switch (notify_id) { - case eCSR_HI_RSSI_SCAN_MAXCOUNT_ID: - QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, - "%s: gRoamScanHirssiMaxCount %d => %d", - __func__, nr_config->nhi_rssi_scan_max_count, - val); - nr_config->nhi_rssi_scan_max_count = val; - nr_info->cfgParams.hi_rssi_scan_max_count = val; - reason = REASON_ROAM_SCAN_HI_RSSI_MAXCOUNT_CHANGED; - break; - - case eCSR_HI_RSSI_SCAN_RSSI_DELTA_ID: - QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, - FL("gRoamScanHiRssiDelta %d => %d"), - nr_config->nhi_rssi_scan_rssi_delta, - val); - nr_config->nhi_rssi_scan_rssi_delta = val; - nr_info->cfgParams.hi_rssi_scan_rssi_delta = val; - reason = REASON_ROAM_SCAN_HI_RSSI_DELTA_CHANGED; - break; - - case eCSR_HI_RSSI_SCAN_DELAY_ID: - QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, - FL("gRoamScanHiRssiDelay %d => %d"), - nr_config->nhi_rssi_scan_delay, - val); - nr_config->nhi_rssi_scan_delay = val; - nr_info->cfgParams.hi_rssi_scan_delay = val; - reason = REASON_ROAM_SCAN_HI_RSSI_DELAY_CHANGED; - break; - - case eCSR_HI_RSSI_SCAN_RSSI_UB_ID: - QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, - FL("gRoamScanHiRssiUpperBound %d => %d"), - nr_config->nhi_rssi_scan_rssi_ub, - val); - nr_config->nhi_rssi_scan_rssi_ub = val; - nr_info->cfgParams.hi_rssi_scan_rssi_ub = val; - reason = REASON_ROAM_SCAN_HI_RSSI_UB_CHANGED; - break; - - default: - QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, - FL("invalid parameter notify_id %d"), - notify_id); - status = QDF_STATUS_E_INVAL; - break; - } - - if (mac_ctx->roam.configParam.isRoamOffloadScanEnabled && - status == QDF_STATUS_SUCCESS) { - csr_roam_offload_scan(mac_ctx, session_id, - ROAM_SCAN_OFFLOAD_UPDATE_CFG, reason); - } - sme_release_global_lock(&mac_ctx->sme); - } - - return status; -} - /** * sme_update_tgt_services() - update the target services config. * @mac_handle: Opaque handle to the global MAC context. @@ -15091,7 +14679,7 @@ QDF_STATUS sme_update_sta_roam_policy(mac_handle_t mac_handle, FL("failed to update the supported channel list")); } - if (mac_ctx->roam.configParam.isRoamOffloadScanEnabled) { + if (mac_ctx->mlme_cfg->lfr.roam_scan_offload_enabled) { status = sme_acquire_global_lock(&mac_ctx->sme); if (QDF_IS_STATUS_SUCCESS(status)) { csr_roam_offload_scan(mac_ctx, session_id, diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index 7011e3871414..4f0fb5e50e1a 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -1695,32 +1695,7 @@ static void init_config_param(tpAniSirGlobal mac) CSR_MIN_GLOBAL_STAT_QUERY_PERIOD; mac->roam.configParam.statsReqPeriodicityInPS = CSR_MIN_GLOBAL_STAT_QUERY_PERIOD_IN_BMPS; - mac->roam.configParam.neighborRoamConfig.nMaxNeighborRetries = 3; - mac->roam.configParam.neighborRoamConfig.nNeighborLookupRssiThreshold = - 120; - mac->roam.configParam.neighborRoamConfig.nOpportunisticThresholdDiff = - 30; - mac->roam.configParam.neighborRoamConfig.nRoamRescanRssiDiff = 5; - mac->roam.configParam.neighborRoamConfig.nNeighborScanMinChanTime = 20; - mac->roam.configParam.neighborRoamConfig.nNeighborScanMaxChanTime = 40; - mac->roam.configParam.neighborRoamConfig.nNeighborScanTimerPeriod = - 200; - mac->roam.configParam.neighborRoamConfig. - neighbor_scan_min_timer_period = 200; - mac->roam.configParam.neighborRoamConfig.neighborScanChanList. - numChannels = 3; - mac->roam.configParam.neighborRoamConfig.neighborScanChanList. - channelList[0] = 1; - mac->roam.configParam.neighborRoamConfig.neighborScanChanList. - channelList[1] = 6; - mac->roam.configParam.neighborRoamConfig.neighborScanChanList. - channelList[2] = 11; - mac->roam.configParam.neighborRoamConfig.nNeighborResultsRefreshPeriod - = 20000; /* 20 seconds */ - mac->roam.configParam.neighborRoamConfig.nEmptyScanRefreshPeriod = 0; - mac->roam.configParam.neighborRoamConfig.nRoamBmissFirstBcnt = 10; - mac->roam.configParam.neighborRoamConfig.nRoamBmissFinalBcnt = 10; - mac->roam.configParam.neighborRoamConfig.nRoamBeaconRssiWeight = 14; + mac->roam.configParam.nVhtChannelWidth = WNI_CFG_VHT_CHANNEL_WIDTH_80MHZ + 1; @@ -1732,7 +1707,6 @@ static void init_config_param(tpAniSirGlobal mac) mac->roam.configParam.nInitialDwellTime = 0; mac->roam.configParam.initial_scan_no_dfs_chnl = 0; - mac->roam.configParam.csr_mawc_config.mawc_enabled = true; } enum band_info csr_get_current_band(struct mac_context *mac) @@ -1934,7 +1908,7 @@ bool csr_roam_is_ese_assoc(tpAniSirGlobal mac_ctx, uint32_t session_id) */ bool csr_roam_is_ese_ini_feature_enabled(tpAniSirGlobal mac) { - return mac->roam.configParam.isEseIniFeatureEnabled; + return mac->mlme_cfg->lfr.ese_enabled; } /** @@ -2104,8 +2078,9 @@ csr_fetch_ch_lst_from_received_list(tpAniSirGlobal mac_ctx, ch_lst = curr_ch_lst_info->ChannelList; for (i = 0; i < curr_ch_lst_info->numOfChannels; i++) { - if ((!mac_ctx->roam.configParam.allowDFSChannelRoam || - (mac_ctx->roam.configParam.sta_roam_policy.dfs_mode == + if (((mac_ctx->mlme_cfg->lfr.roaming_dfs_channel != + ROAMING_DFS_CHANNEL_DISABLED) || + (mac_ctx->roam.configParam.sta_roam_policy.dfs_mode == CSR_STA_ROAM_POLICY_DFS_DISABLED)) && (wlan_reg_is_dfs_ch(mac_ctx->pdev, *ch_lst))) { QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, @@ -2221,7 +2196,7 @@ QDF_STATUS csr_roam_read_tsf(tpAniSirGlobal mac, uint8_t *pTimestamp, */ bool csr_roam_is_roam_offload_scan_enabled(tpAniSirGlobal mac_ctx) { - return mac_ctx->roam.configParam.isRoamOffloadScanEnabled; + return mac_ctx->mlme_cfg->lfr.roam_scan_offload_enabled; } /* The funcns csr_convert_cb_ini_value_to_phy_cb_state and @@ -2493,7 +2468,7 @@ csr_copy_mawc_config(tpAniSirGlobal mac, struct mawc_params *mawc_config) { mawc_config->mawc_enabled = - mac->roam.configParam.csr_mawc_config.mawc_enabled; + mac->mlme_cfg->lfr.mawc_enabled; mawc_config->mawc_roam_enabled = mac->mlme_cfg->lfr.mawc_roam_enabled; mawc_config->mawc_roam_traffic_threshold = @@ -2566,9 +2541,6 @@ QDF_STATUS csr_change_default_config_param(tpAniSirGlobal mac, mac->roam.configParam.AdHocChannel24 = pParam->AdHocChannel24; mac->roam.configParam.AdHocChannel5G = pParam->AdHocChannel5G; mac->roam.configParam.wep_tkip_in_he = pParam->wep_tkip_in_he; - mac->roam.configParam.neighborRoamConfig. - delay_before_vdev_stop = - pParam->neighborRoamConfig.delay_before_vdev_stop; /* if HDD passed down non zero values then only update, */ /* otherwise keep using the defaults */ @@ -2649,84 +2621,44 @@ QDF_STATUS csr_change_default_config_param(tpAniSirGlobal mac, !wlan_reg_11d_enabled_on_host(mac->psoc)) csr_init_channel_power_list(mac, &pParam->Csr11dinfo); - mac->roam.configParam.isFastTransitionEnabled = - pParam->isFastTransitionEnabled; - mac->roam.configParam.RoamRssiDiff = pParam->RoamRssiDiff; - mac->roam.configParam.nRoamPrefer5GHz = - pParam->nRoamPrefer5GHz; - mac->roam.configParam.nRoamIntraBand = pParam->nRoamIntraBand; - mac->roam.configParam.isWESModeEnabled = - pParam->isWESModeEnabled; - mac->roam.configParam.nProbes = pParam->nProbes; - mac->roam.configParam.nRoamScanHomeAwayTime = - pParam->nRoamScanHomeAwayTime; - mac->roam.configParam.isRoamOffloadScanEnabled = - pParam->isRoamOffloadScanEnabled; - mac->roam.configParam.bFastRoamInConIniFeatureEnabled = - pParam->bFastRoamInConIniFeatureEnabled; - mac->roam.configParam.isFastRoamIniFeatureEnabled = - pParam->isFastRoamIniFeatureEnabled; - mac->roam.configParam.csr_mawc_config.mawc_enabled = - pParam->csr_mawc_config.mawc_enabled; -#ifdef FEATURE_WLAN_ESE - mac->roam.configParam.isEseIniFeatureEnabled = - pParam->isEseIniFeatureEnabled; -#endif - qdf_mem_copy(&mac->roam.configParam.neighborRoamConfig, - &pParam->neighborRoamConfig, - sizeof(tCsrNeighborRoamConfigParams)); - sme_debug("nNeighborScanTimerPerioid: %d", - mac->roam.configParam.neighborRoamConfig. - nNeighborScanTimerPeriod); + sme_debug("neighbor_scan_timer_period: %d", + mac->mlme_cfg->lfr.neighbor_scan_timer_period); sme_debug("neighbor_scan_min_timer_period: %d", - mac->roam.configParam.neighborRoamConfig. - neighbor_scan_min_timer_period); - sme_debug("nNeighborLookupRssiThreshold: %d", - mac->roam.configParam.neighborRoamConfig. - nNeighborLookupRssiThreshold); - sme_debug("nOpportunisticThresholdDiff: %d", - mac->roam.configParam.neighborRoamConfig. - nOpportunisticThresholdDiff); - sme_debug("nRoamRescanRssiDiff: %d", - mac->roam.configParam.neighborRoamConfig. - nRoamRescanRssiDiff); - sme_debug("nNeighborScanMinChanTime: %d", - mac->roam.configParam.neighborRoamConfig. - nNeighborScanMinChanTime); - sme_debug("nNeighborScanMaxChanTime: %d", - mac->roam.configParam.neighborRoamConfig. - nNeighborScanMaxChanTime); - sme_debug("nNeighborResultsRefreshPeriod: %d", - mac->roam.configParam.neighborRoamConfig. - nNeighborResultsRefreshPeriod); - sme_debug("nEmptyScanRefreshPeriod: %d", - mac->roam.configParam.neighborRoamConfig. - nEmptyScanRefreshPeriod); + mac->mlme_cfg->lfr.neighbor_scan_min_timer_period); + sme_debug("neighbor_lookup_rssi_threshold: %d", + mac->mlme_cfg->lfr.neighbor_lookup_rssi_threshold); + sme_debug("opportunistic_scan_threshold_diff: %d", + mac->mlme_cfg->lfr. + opportunistic_scan_threshold_diff); + sme_debug("roam_rescan_rssi_diff: %d", + mac->mlme_cfg->lfr.roam_rescan_rssi_diff); + sme_debug("neighbor_scan_min_chan_time: %d", + mac->mlme_cfg->lfr.neighbor_scan_min_chan_time); + sme_debug("neighbor_scan_max_chan_time: %d", + mac->mlme_cfg->lfr.neighbor_scan_max_chan_time); + sme_debug("neighbor_scan_results_refresh_period: %d", + mac->mlme_cfg->lfr. + neighbor_scan_results_refresh_period); + sme_debug("empty_scan_refresh_period: %d", + mac->mlme_cfg->lfr.empty_scan_refresh_period); { int i; sme_debug("Num of Channels in CFG Channel List: %d", - mac->roam.configParam.neighborRoamConfig. - neighborScanChanList.numChannels); - for (i = 0; - i < - mac->roam.configParam.neighborRoamConfig. - neighborScanChanList.numChannels; i++) { - sme_debug("%d ", - mac->roam.configParam. - neighborRoamConfig.neighborScanChanList. - channelList[i]); + mac->mlme_cfg->lfr. + neighbor_scan_channel_list_num); + for (i = 0; i < mac->mlme_cfg->lfr. + neighbor_scan_channel_list_num; i++) { + sme_debug("%d ", mac->mlme_cfg->lfr. + neighbor_scan_channel_list[i]); } } - sme_debug("nRoamBmissFirstBcnt: %d", - mac->roam.configParam.neighborRoamConfig. - nRoamBmissFirstBcnt); - sme_debug("nRoamBmissFinalBcnt: %d", - mac->roam.configParam.neighborRoamConfig. - nRoamBmissFinalBcnt); - sme_debug("nRoamBeaconRssiWeight: %d", - mac->roam.configParam.neighborRoamConfig. - nRoamBeaconRssiWeight); + sme_debug("roam_bmiss_first_bcnt: %d", + mac->mlme_cfg->lfr.roam_bmiss_first_bcnt); + sme_debug("roam_bmiss_final_bcnt: %d", + mac->mlme_cfg->lfr.roam_bmiss_final_bcnt); + sme_debug("roam_beacon_rssi_weight: %d", + mac->mlme_cfg->lfr.roam_beacon_rssi_weight); mac->scan.fEnableDFSChnlScan = pParam->fEnableDFSChnlScan; mac->scan.scanResultCfgAgingTime = pParam->scanCfgAgingTime; mac->roam.configParam.fScanTwice = pParam->fScanTwice; @@ -2759,8 +2691,6 @@ QDF_STATUS csr_change_default_config_param(tpAniSirGlobal mac, #ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH mac->roam.configParam.cc_switch_mode = pParam->cc_switch_mode; #endif - mac->roam.configParam.allowDFSChannelRoam = - pParam->allowDFSChannelRoam; mac->roam.configParam.obssEnabled = pParam->obssEnabled; mac->roam.configParam.vendor_vht_sap = pParam->vendor_vht_sap; @@ -2916,36 +2846,6 @@ QDF_STATUS csr_get_config_param(tpAniSirGlobal mac, tCsrConfigParam *pParam) pParam->fEnableMCCMode = cfg_params->fenableMCCMode; pParam->fAllowMCCGODiffBI = cfg_params->fAllowMCCGODiffBI; pParam->scanCfgAgingTime = mac->scan.scanResultCfgAgingTime; - qdf_mem_copy(&pParam->neighborRoamConfig, - &cfg_params->neighborRoamConfig, - sizeof(tCsrNeighborRoamConfigParams)); - pParam->isFastTransitionEnabled = cfg_params->isFastTransitionEnabled; - pParam->RoamRssiDiff = cfg_params->RoamRssiDiff; - pParam->nRoamPrefer5GHz = cfg_params->nRoamPrefer5GHz; - pParam->nRoamIntraBand = cfg_params->nRoamIntraBand; - pParam->isWESModeEnabled = cfg_params->isWESModeEnabled; - pParam->nProbes = cfg_params->nProbes; - pParam->nRoamScanHomeAwayTime = cfg_params->nRoamScanHomeAwayTime; - pParam->isRoamOffloadScanEnabled = cfg_params->isRoamOffloadScanEnabled; - pParam->bFastRoamInConIniFeatureEnabled = - cfg_params->bFastRoamInConIniFeatureEnabled; - pParam->isFastRoamIniFeatureEnabled = - cfg_params->isFastRoamIniFeatureEnabled; -#ifdef FEATURE_WLAN_ESE - pParam->isEseIniFeatureEnabled = cfg_params->isEseIniFeatureEnabled; -#endif - qdf_mem_copy(&pParam->neighborRoamConfig, - &cfg_params->neighborRoamConfig, - sizeof(tCsrNeighborRoamConfigParams)); - sme_debug("Num of Channels in CFG Channel List: %d", - cfg_params->neighborRoamConfig. - neighborScanChanList.numChannels); - for (i = 0; i < cfg_params->neighborRoamConfig. - neighborScanChanList.numChannels; i++) { - sme_debug("%d ", - cfg_params->neighborRoamConfig. - neighborScanChanList.channelList[i]); - } #ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH pParam->cc_switch_mode = cfg_params->cc_switch_mode; @@ -2957,7 +2857,6 @@ QDF_STATUS csr_get_config_param(tpAniSirGlobal mac, tCsrConfigParam *pParam) pParam->roam_trigger_reason_bitmask = cfg_params->roam_trigger_reason_bitmask; pParam->isCoalesingInIBSSAllowed = cfg_params->isCoalesingInIBSSAllowed; - pParam->allowDFSChannelRoam = cfg_params->allowDFSChannelRoam; pParam->nInitialDwellTime = cfg_params->nInitialDwellTime; pParam->initial_scan_no_dfs_chnl = cfg_params->initial_scan_no_dfs_chnl; csr_set_channels(mac, pParam); @@ -6363,9 +6262,9 @@ bool csr_roam_is_fast_roam_enabled(tpAniSirGlobal mac, uint32_t sessionId) } } if (true == CSR_IS_FASTROAM_IN_CONCURRENCY_INI_FEATURE_ENABLED(mac)) { - return mac->roam.configParam.isFastRoamIniFeatureEnabled; + return mac->mlme_cfg->lfr.lfr_enabled; } else { - return mac->roam.configParam.isFastRoamIniFeatureEnabled && + return mac->mlme_cfg->lfr.lfr_enabled && (!csr_is_concurrent_session_running(mac)); } } @@ -8973,9 +8872,10 @@ QDF_STATUS csr_roam_save_connected_information(tpAniSirGlobal mac, &pIesTemp); #ifdef FEATURE_WLAN_ESE if ((csr_is_profile_ese(pProfile) || - (QDF_IS_STATUS_SUCCESS(status) && (pIesTemp->ESEVersion.present) - && (pProfile->negotiatedAuthType == eCSR_AUTH_TYPE_OPEN_SYSTEM))) - && (mac->roam.configParam.isEseIniFeatureEnabled)) { + (QDF_IS_STATUS_SUCCESS(status) && + (pIesTemp->ESEVersion.present) && + (pProfile->negotiatedAuthType == eCSR_AUTH_TYPE_OPEN_SYSTEM))) && + (mac->mlme_cfg->lfr.ese_enabled)) { pConnectProfile->isESEAssoc = 1; } #endif @@ -15453,7 +15353,7 @@ QDF_STATUS csr_send_join_req_msg(tpAniSirGlobal mac, uint32_t sessionId, (pProfile->negotiatedMCEncryptionType); csr_set_mgmt_enc_type(pProfile, pIes, csr_join_req); #ifdef FEATURE_WLAN_ESE - ese_config = mac->roam.configParam.isEseIniFeatureEnabled; + ese_config = mac->mlme_cfg->lfr.ese_enabled; #endif pProfile->MDID.mdiePresent = pBssDescription->mdiePresent; if (csr_is_profile11r(mac, pProfile) @@ -17781,7 +17681,7 @@ csr_update_roam_scan_offload_request(tpAniSirGlobal mac_ctx, qdf_mem_copy(req_buf->R0KH_ID, session->ftSmeContext.r0kh_id, req_buf->R0KH_ID_Length); - req_buf->Prefer5GHz = mac_ctx->roam.configParam.nRoamPrefer5GHz; + req_buf->Prefer5GHz = (uint8_t)mac_ctx->mlme_cfg->lfr.roam_prefer_5ghz; req_buf->RoamRssiCatGap = mac_ctx->roam.configParam.bCatRssiOffset; req_buf->Select5GHzMargin = mac_ctx->mlme_cfg->gen.select_5ghz_margin; req_buf->ho_delay_for_rx = mac_ctx->roam.configParam.ho_delay_for_rx; @@ -17880,10 +17780,11 @@ csr_fetch_ch_lst_from_ini(tpAniSirGlobal mac_ctx, if (!csr_check_band_channel_match(band, *ch_lst)) continue; /* Allow DFS channels only if the DFS roaming is enabled */ - if ((!mac_ctx->roam.configParam.allowDFSChannelRoam || - (mac_ctx->roam.configParam.sta_roam_policy.dfs_mode == + if (((mac_ctx->mlme_cfg->lfr.roaming_dfs_channel != + ROAMING_DFS_CHANNEL_DISABLED) || + (mac_ctx->roam.configParam.sta_roam_policy.dfs_mode == CSR_STA_ROAM_POLICY_DFS_DISABLED)) && - (wlan_reg_is_dfs_ch(mac_ctx->pdev, *ch_lst))) { + (wlan_reg_is_dfs_ch(mac_ctx->pdev, *ch_lst))) { QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, ("ignoring dfs channel %d"), *ch_lst); ch_lst++; @@ -17961,10 +17862,11 @@ csr_fetch_ch_lst_from_occupied_lst(tpAniSirGlobal mac_ctx, sizeof(unsafe_chan)); for (i = 0; i < mac_ctx->scan.occupiedChannels[session_id].numChannels; i++) { - if ((!mac_ctx->roam.configParam.allowDFSChannelRoam || - (mac_ctx->roam.configParam.sta_roam_policy.dfs_mode == + if (((mac_ctx->mlme_cfg->lfr.roaming_dfs_channel != + ROAMING_DFS_CHANNEL_DISABLED) || + (mac_ctx->roam.configParam.sta_roam_policy.dfs_mode == CSR_STA_ROAM_POLICY_DFS_DISABLED)) && - (wlan_reg_is_dfs_ch(mac_ctx->pdev, *ch_lst))) { + (wlan_reg_is_dfs_ch(mac_ctx->pdev, *ch_lst))) { QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, ("ignoring dfs channel %d"), *ch_lst); ch_lst++; @@ -17995,7 +17897,7 @@ csr_fetch_ch_lst_from_occupied_lst(tpAniSirGlobal mac_ctx, if (*ch_lst) QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, "DFSRoam=%d, ChnlState=%d, Chnl=%d, num_ch=%d", - mac_ctx->roam.configParam.allowDFSChannelRoam, + mac_ctx->mlme_cfg->lfr.roaming_dfs_channel, wlan_reg_get_channel_state(mac_ctx->pdev, *ch_lst), *ch_lst, @@ -18070,10 +17972,11 @@ csr_fetch_valid_ch_lst(tpAniSirGlobal mac_ctx, continue; } - if ((!mac_ctx->roam.configParam.allowDFSChannelRoam || - (mac_ctx->roam.configParam.sta_roam_policy.dfs_mode == + if (((mac_ctx->mlme_cfg->lfr.roaming_dfs_channel != + ROAMING_DFS_CHANNEL_DISABLED) || + (mac_ctx->roam.configParam.sta_roam_policy.dfs_mode == CSR_STA_ROAM_POLICY_DFS_DISABLED)) && - (wlan_reg_is_dfs_ch(mac_ctx->pdev, *ch_lst))) { + (wlan_reg_is_dfs_ch(mac_ctx->pdev, *ch_lst))) { QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, ("ignoring dfs channel %d"), *ch_lst); ch_lst++; @@ -18175,7 +18078,7 @@ csr_create_roam_scan_offload_request(tpAniSirGlobal mac_ctx, roam_info->b_roam_scan_offload_started; } else { req_buf->RoamScanOffloadEnabled = - mac_ctx->roam.configParam.isRoamOffloadScanEnabled; + mac_ctx->mlme_cfg->lfr.roam_scan_offload_enabled; } qdf_mem_copy(req_buf->ConnectedNetwork.currAPbssid, roam_info->currAPbssid.bytes, sizeof(struct qdf_mac_addr)); @@ -18206,7 +18109,7 @@ csr_create_roam_scan_offload_request(tpAniSirGlobal mac_ctx, roam_info->cfgParams.nOpportunisticThresholdDiff; req_buf->RoamRescanRssiDiff = roam_info->cfgParams.nRoamRescanRssiDiff; - req_buf->RoamRssiDiff = mac_ctx->roam.configParam.RoamRssiDiff; + req_buf->RoamRssiDiff = mac_ctx->mlme_cfg->lfr.roam_rssi_diff; req_buf->rssi_abs_thresh = mac_ctx->mlme_cfg->lfr.roam_rssi_abs_threshold; req_buf->reason = reason; @@ -18322,8 +18225,8 @@ csr_create_roam_scan_offload_request(tpAniSirGlobal mac_ctx, mac_ctx->roam.roamSession[session_id]. connectedProfile.MDID.mobilityDomain; req_buf->sessionId = session_id; - req_buf->nProbes = mac_ctx->roam.configParam.nProbes; - req_buf->HomeAwayTime = mac_ctx->roam.configParam.nRoamScanHomeAwayTime; + req_buf->nProbes = mac_ctx->mlme_cfg->lfr.roam_scan_n_probes; + req_buf->HomeAwayTime = mac_ctx->mlme_cfg->lfr.roam_scan_home_away_time; /* * Home Away Time should be at least equal to (MaxDwell time + (2*RFS)), @@ -18344,8 +18247,8 @@ csr_create_roam_scan_offload_request(tpAniSirGlobal mac_ctx, dot11_mode = (uint8_t) csr_translate_to_wni_cfg_dot11_mode(mac_ctx, csr_find_best_phy_mode(mac_ctx, mac_ctx->roam.configParam.phyMode)); - req_buf->allowDFSChannelRoam = - mac_ctx->roam.configParam.allowDFSChannelRoam; + req_buf->allowDFSChannelRoam = (eSirDFSRoamScanMode) + mac_ctx->mlme_cfg->lfr.roaming_dfs_channel; req_buf->early_stop_scan_enable = mac_ctx->mlme_cfg->lfr.early_stop_scan_enable; req_buf->early_stop_scan_min_threshold = @@ -18797,8 +18700,8 @@ static void ese_populate_addtional_ies(tpAniSirGlobal mac_ctx, tspec_ie = (ese_wmm_tspec_ie *)(tspec_ie_buf + SIR_MAC_OUI_WME_HDR_MIN); if (csr_is_wmm_supported(mac_ctx) && - mac_ctx->roam.configParam.isEseIniFeatureEnabled && - csr_roam_is_ese_assoc(mac_ctx, session->sessionId)) { + mac_ctx->mlme_cfg->lfr.ese_enabled && + csr_roam_is_ese_assoc(mac_ctx, session->sessionId)) { ese_tspec.numTspecs = sme_qos_ese_retrieve_tspec_info(mac_ctx, session->sessionId, (tTspecInfo *) &ese_tspec.tspec[0]); @@ -18883,7 +18786,7 @@ static void csr_update_driver_assoc_ies(tpAniSirGlobal mac_ctx, #ifdef FEATURE_WLAN_ESE /* Append ESE version IE if isEseIniFeatureEnabled INI is enabled */ - if (mac_ctx->roam.configParam.isEseIniFeatureEnabled) + if (mac_ctx->mlme_cfg->lfr.ese_enabled) csr_append_assoc_ies(mac_ctx, req_buf, IEEE80211_ELEMID_VENDOR, DOT11F_IE_ESEVERSION_MAX_LEN, ese_ie); diff --git a/core/sme/src/csr/csr_neighbor_roam.c b/core/sme/src/csr/csr_neighbor_roam.c index 881a12bfbd81..b2050a2848e2 100644 --- a/core/sme/src/csr/csr_neighbor_roam.c +++ b/core/sme/src/csr/csr_neighbor_roam.c @@ -995,7 +995,7 @@ static void csr_neighbor_roam_info_ctx_init( if (csr_is_auth_type11r (mac, session->connectedProfile.AuthType, session->connectedProfile.MDID.mdiePresent)) { - if (mac->roam.configParam.isFastTransitionEnabled) + if (mac->mlme_cfg->lfr.fast_transition_enabled) init_ft_flag = true; ngbr_roam_info->is11rAssoc = true; } else @@ -1006,7 +1006,7 @@ static void csr_neighbor_roam_info_ctx_init( #ifdef FEATURE_WLAN_ESE /* Based on the auth scheme tell if we are 11r */ if (session->connectedProfile.isESEAssoc) { - if (mac->roam.configParam.isFastTransitionEnabled) + if (mac->mlme_cfg->lfr.fast_transition_enabled) init_ft_flag = true; ngbr_roam_info->isESEAssoc = true; } else @@ -1226,53 +1226,44 @@ QDF_STATUS csr_neighbor_roam_init(tpAniSirGlobal mac, uint8_t sessionId) pNeighborRoamInfo->prevNeighborRoamState = eCSR_NEIGHBOR_ROAM_STATE_CLOSED; pNeighborRoamInfo->cfgParams.maxChannelScanTime = - mac->roam.configParam.neighborRoamConfig. - nNeighborScanMaxChanTime; + mac->mlme_cfg->lfr.neighbor_scan_max_chan_time; pNeighborRoamInfo->cfgParams.minChannelScanTime = - mac->roam.configParam.neighborRoamConfig. - nNeighborScanMinChanTime; + mac->mlme_cfg->lfr.neighbor_scan_min_chan_time; pNeighborRoamInfo->cfgParams.neighborLookupThreshold = - mac->roam.configParam.neighborRoamConfig. - nNeighborLookupRssiThreshold; + mac->mlme_cfg->lfr.neighbor_lookup_rssi_threshold; pNeighborRoamInfo->cfgParams.rssi_thresh_offset_5g = mac->mlme_cfg->lfr.rssi_threshold_offset_5g; pNeighborRoamInfo->cfgParams.delay_before_vdev_stop = - mac->roam.configParam.neighborRoamConfig. - delay_before_vdev_stop; + mac->mlme_cfg->lfr.delay_before_vdev_stop; pNeighborRoamInfo->cfgParams.nOpportunisticThresholdDiff = - mac->roam.configParam.neighborRoamConfig. - nOpportunisticThresholdDiff; + mac->mlme_cfg->lfr.opportunistic_scan_threshold_diff; pNeighborRoamInfo->cfgParams.nRoamRescanRssiDiff = - mac->roam.configParam.neighborRoamConfig.nRoamRescanRssiDiff; + mac->mlme_cfg->lfr.roam_rescan_rssi_diff; pNeighborRoamInfo->cfgParams.nRoamBmissFirstBcnt = - mac->roam.configParam.neighborRoamConfig.nRoamBmissFirstBcnt; + mac->mlme_cfg->lfr.roam_bmiss_first_bcnt; pNeighborRoamInfo->cfgParams.nRoamBmissFinalBcnt = - mac->roam.configParam.neighborRoamConfig.nRoamBmissFinalBcnt; + mac->mlme_cfg->lfr.roam_bmiss_final_bcnt; pNeighborRoamInfo->cfgParams.nRoamBeaconRssiWeight = - mac->roam.configParam.neighborRoamConfig.nRoamBeaconRssiWeight; + mac->mlme_cfg->lfr.roam_beacon_rssi_weight; pNeighborRoamInfo->cfgParams.neighborScanPeriod = - mac->roam.configParam.neighborRoamConfig. - nNeighborScanTimerPeriod; + mac->mlme_cfg->lfr.neighbor_scan_timer_period; pNeighborRoamInfo->cfgParams.neighbor_scan_min_period = - mac->roam.configParam.neighborRoamConfig. - neighbor_scan_min_timer_period; + mac->mlme_cfg->lfr.neighbor_scan_min_timer_period; pNeighborRoamInfo->cfgParams.neighborResultsRefreshPeriod = - mac->roam.configParam.neighborRoamConfig. - nNeighborResultsRefreshPeriod; + mac->mlme_cfg->lfr.neighbor_scan_results_refresh_period; pNeighborRoamInfo->cfgParams.emptyScanRefreshPeriod = - mac->roam.configParam.neighborRoamConfig. - nEmptyScanRefreshPeriod; + mac->mlme_cfg->lfr.empty_scan_refresh_period; pNeighborRoamInfo->cfgParams.channelInfo.numOfChannels = - mac->roam.configParam.neighborRoamConfig.neighborScanChanList. - numChannels; + mac->mlme_cfg->lfr.neighbor_scan_channel_list_num; QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, FL("number of channels: %u"), pNeighborRoamInfo->cfgParams.channelInfo.numOfChannels); if (pNeighborRoamInfo->cfgParams.channelInfo.numOfChannels != 0) { pNeighborRoamInfo->cfgParams.channelInfo.ChannelList = - qdf_mem_malloc(mac->roam.configParam.neighborRoamConfig. - neighborScanChanList.numChannels); + qdf_mem_malloc(mac->mlme_cfg->lfr. + neighbor_scan_channel_list_num); + if (!pNeighborRoamInfo->cfgParams.channelInfo.ChannelList) return QDF_STATUS_E_NOMEM; @@ -1282,22 +1273,16 @@ QDF_STATUS csr_neighbor_roam_init(tpAniSirGlobal mac, uint8_t sessionId) /* Update the roam global structure from CFG */ qdf_mem_copy(pNeighborRoamInfo->cfgParams.channelInfo.ChannelList, - mac->roam.configParam.neighborRoamConfig. - neighborScanChanList.channelList, - mac->roam.configParam.neighborRoamConfig. - neighborScanChanList.numChannels); + mac->mlme_cfg->lfr.neighbor_scan_channel_list, + mac->mlme_cfg->lfr.neighbor_scan_channel_list_num); pNeighborRoamInfo->cfgParams.hi_rssi_scan_max_count = - mac->roam.configParam.neighborRoamConfig. - nhi_rssi_scan_max_count; + mac->mlme_cfg->lfr.roam_scan_hi_rssi_maxcount; pNeighborRoamInfo->cfgParams.hi_rssi_scan_rssi_delta = - mac->roam.configParam.neighborRoamConfig. - nhi_rssi_scan_rssi_delta; + mac->mlme_cfg->lfr.roam_scan_hi_rssi_delta; pNeighborRoamInfo->cfgParams.hi_rssi_scan_delay = - mac->roam.configParam.neighborRoamConfig. - nhi_rssi_scan_delay; + mac->mlme_cfg->lfr.roam_scan_hi_rssi_delay; pNeighborRoamInfo->cfgParams.hi_rssi_scan_rssi_ub = - mac->roam.configParam.neighborRoamConfig. - nhi_rssi_scan_rssi_ub; + mac->mlme_cfg->lfr.roam_scan_hi_rssi_ub; qdf_zero_macaddr(&pNeighborRoamInfo->currAPbssid); pNeighborRoamInfo->currentNeighborLookupThreshold = diff --git a/core/wma/src/wma_dev_if.c b/core/wma/src/wma_dev_if.c index 1898aa6d3f4b..75a04a18bd09 100644 --- a/core/wma/src/wma_dev_if.c +++ b/core/wma/src/wma_dev_if.c @@ -2795,8 +2795,8 @@ struct cdp_vdev *wma_vdev_attach(tp_wma_handle wma_handle, if ((self_sta_req->type == WMI_VDEV_TYPE_STA) && (self_sta_req->sub_type == 0)) wma_roam_scan_bmiss_cnt(wma_handle, - mac->roam.configParam.neighborRoamConfig.nRoamBmissFirstBcnt, - mac->roam.configParam.neighborRoamConfig.nRoamBmissFinalBcnt, + mac->mlme_cfg->lfr.roam_bmiss_first_bcnt, + mac->mlme_cfg->lfr.roam_bmiss_final_bcnt, self_sta_req->session_id); if (wlan_cfg_get_int(mac, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED, diff --git a/core/wma/src/wma_main.c b/core/wma/src/wma_main.c index 93907877701d..c82f6f333725 100644 --- a/core/wma/src/wma_main.c +++ b/core/wma/src/wma_main.c @@ -91,6 +91,7 @@ #include "wlan_cp_stats_mc_ucfg_api.h" #include "cfg_nan_api.h" #include "wlan_mlme_api.h" +#include "wlan_mlme_ucfg_api.h" #define WMA_LOG_COMPLETION_TIMER 3000 /* 3 seconds */ #define WMI_TLV_HEADROOM 128 @@ -3183,6 +3184,7 @@ QDF_STATUS wma_open(struct wlan_objmgr_psoc *psoc, void *cds_context; target_resource_config *wlan_res_cfg; enum pmo_wow_enable_type wow_enable; + uint8_t delay_before_vdev_stop; WMA_LOGD("%s: Enter", __func__); @@ -3359,8 +3361,10 @@ QDF_STATUS wma_open(struct wlan_objmgr_psoc *psoc, for (i = 0; i < wma_handle->max_bssid; ++i) { wma_vdev_init(&wma_handle->interfaces[i]); + ucfg_mlme_get_delay_before_vdev_stop(wma_handle->psoc, + &delay_before_vdev_stop); wma_handle->interfaces[i].delay_before_vdev_stop = - cds_cfg->delay_before_vdev_stop; + delay_before_vdev_stop; } /* Register the debug print event handler */ wmi_unified_register_event_handler(wma_handle->wmi_handle,