mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-13 08:07:32 -04:00
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
This commit is contained in:
parent
5d23d785f9
commit
51a6356b60
13 changed files with 186 additions and 802 deletions
|
|
@ -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;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 &&
|
||||
|
|
|
|||
|
|
@ -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 &&
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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 =
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Reference in a new issue