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:
@@ -101,7 +101,6 @@ enum active_apf_mode {
|
|||||||
* @force_target_assert_enabled: Indicate whether target assert enabled or not
|
* @force_target_assert_enabled: Indicate whether target assert enabled or not
|
||||||
* @bandcapability: Configured band by user
|
* @bandcapability: Configured band by user
|
||||||
* @rps_enabled: RPS enabled in SAP mode
|
* @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.
|
* Structure for holding cds ini parameters.
|
||||||
* @num_vdevs: Configured max number of VDEVs can be supported in the stack.
|
* @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;
|
bool force_target_assert_enabled;
|
||||||
uint8_t bandcapability;
|
uint8_t bandcapability;
|
||||||
bool rps_enabled;
|
bool rps_enabled;
|
||||||
uint8_t delay_before_vdev_stop;
|
|
||||||
uint32_t num_vdevs;
|
uint32_t num_vdevs;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -628,7 +628,7 @@
|
|||||||
((u16value) &= (~(SIR_MAC_SET_ ## bitname(0))))
|
((u16value) &= (~(SIR_MAC_SET_ ## bitname(0))))
|
||||||
|
|
||||||
#define IS_WES_MODE_ENABLED(x) \
|
#define IS_WES_MODE_ENABLED(x) \
|
||||||
((x)->roam.configParam.isWESModeEnabled)
|
((x)->mlme_cfg->lfr.wes_mode_enabled)
|
||||||
|
|
||||||
#define BA_RECIPIENT 1
|
#define BA_RECIPIENT 1
|
||||||
#define BA_INITIATOR 2
|
#define BA_INITIATOR 2
|
||||||
|
@@ -81,7 +81,7 @@ static void get_ese_version_ie_probe_response(tpAniSirGlobal mac_ctx,
|
|||||||
tpSirProbeRespBeacon beacon_struct,
|
tpSirProbeRespBeacon beacon_struct,
|
||||||
struct pe_session *session)
|
struct pe_session *session)
|
||||||
{
|
{
|
||||||
if (mac_ctx->roam.configParam.isEseIniFeatureEnabled)
|
if (mac_ctx->mlme_cfg->lfr.ese_enabled)
|
||||||
session->is_ese_version_ie_present =
|
session->is_ese_version_ie_present =
|
||||||
beacon_struct->is_ese_ver_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.
|
* associate to.
|
||||||
*/
|
*/
|
||||||
if (pe_session->is_ese_version_ie_present &&
|
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);
|
populate_dot11f_ese_version(&frm->ESEVersion);
|
||||||
/* For ESE Associations fill the ESE IEs */
|
/* For ESE Associations fill the ESE IEs */
|
||||||
if (pe_session->isESEconnection &&
|
if (pe_session->isESEconnection &&
|
||||||
|
@@ -1893,7 +1893,7 @@ lim_send_assoc_req_mgmt_frame(tpAniSirGlobal mac_ctx,
|
|||||||
* associate to.
|
* associate to.
|
||||||
*/
|
*/
|
||||||
if (pe_session->is_ese_version_ie_present &&
|
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);
|
populate_dot11f_ese_version(&frm->ESEVersion);
|
||||||
/* For ESE Associations fill the ESE IEs */
|
/* For ESE Associations fill the ESE IEs */
|
||||||
if (pe_session->isESEconnection &&
|
if (pe_session->isESEconnection &&
|
||||||
|
@@ -964,30 +964,6 @@ typedef struct tagCsrRoamConnectedProfile {
|
|||||||
#endif
|
#endif
|
||||||
} tCsrRoamConnectedProfile;
|
} 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
|
* 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
|
* @CSR_STA_ROAM_POLICY_NONE: DFS mode attribute is not valid
|
||||||
@@ -1102,10 +1078,6 @@ typedef struct tagCsrConfigParam {
|
|||||||
#endif
|
#endif
|
||||||
uint8_t isFastRoamIniFeatureEnabled;
|
uint8_t isFastRoamIniFeatureEnabled;
|
||||||
struct mawc_params csr_mawc_config;
|
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)
|
* Customer wants to optimize the scan time. Avoiding scans(passive)
|
||||||
* on DFS channels while swipping through both bands can save some time
|
* 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
|
* To enable/disable scanning only 2.4Ghz channels on first scan
|
||||||
*/
|
*/
|
||||||
bool fFirstScanOnly2GChnl;
|
bool fFirstScanOnly2GChnl;
|
||||||
bool nRoamPrefer5GHz;
|
|
||||||
bool nRoamIntraBand;
|
|
||||||
uint8_t nProbes;
|
|
||||||
uint16_t nRoamScanHomeAwayTime;
|
|
||||||
|
|
||||||
bool isRoamOffloadScanEnabled;
|
|
||||||
bool bFastRoamInConIniFeatureEnabled;
|
|
||||||
uint8_t scanCfgAgingTime;
|
uint8_t scanCfgAgingTime;
|
||||||
uint8_t disable_high_ht_mcs_2x2;
|
uint8_t disable_high_ht_mcs_2x2;
|
||||||
uint32_t ho_delay_for_rx;
|
uint32_t ho_delay_for_rx;
|
||||||
|
@@ -60,7 +60,8 @@
|
|||||||
#define CSR_MAX_NUM_COUNTRY_CODE 100
|
#define CSR_MAX_NUM_COUNTRY_CODE 100
|
||||||
#define CSR_IS_DFS_CH_ROAM_ALLOWED(mac_ctx) \
|
#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) \
|
#define CSR_IS_SELECT_5GHZ_MARGIN(mac) \
|
||||||
( \
|
( \
|
||||||
@@ -68,16 +69,15 @@
|
|||||||
)
|
)
|
||||||
#define CSR_IS_ROAM_PREFER_5GHZ(mac) \
|
#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) \
|
#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) \
|
#define CSR_IS_FASTROAM_IN_CONCURRENCY_INI_FEATURE_ENABLED(mac) \
|
||||||
( \
|
( \
|
||||||
(((mac)->roam.configParam.bFastRoamInConIniFeatureEnabled) ? \
|
((mac)->mlme_cfg->lfr.enable_fast_roam_in_concurrency) \
|
||||||
true : false) \
|
|
||||||
)
|
)
|
||||||
#define CSR_IS_CHANNEL_24GHZ(chnNum) \
|
#define CSR_IS_CHANNEL_24GHZ(chnNum) \
|
||||||
(((chnNum) > 0) && ((chnNum) <= 14))
|
(((chnNum) > 0) && ((chnNum) <= 14))
|
||||||
@@ -365,29 +365,6 @@ struct delstafor_sessionCmd {
|
|||||||
void *context;
|
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
|
* Neighbor Report Params Bitmask
|
||||||
*/
|
*/
|
||||||
@@ -452,23 +429,9 @@ struct csr_config {
|
|||||||
uint32_t statsReqPeriodicityInPS;/* stats req freq while in powersave */
|
uint32_t statsReqPeriodicityInPS;/* stats req freq while in powersave */
|
||||||
uint32_t dtimPeriod;
|
uint32_t dtimPeriod;
|
||||||
bool ssidHidden;
|
bool ssidHidden;
|
||||||
uint8_t isFastRoamIniFeatureEnabled;
|
|
||||||
struct mawc_params csr_mawc_config;
|
struct mawc_params csr_mawc_config;
|
||||||
uint8_t isRoamOffloadScanEnabled;
|
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;
|
bool nRoamScanControl;
|
||||||
uint8_t nProbes;
|
|
||||||
uint16_t nRoamScanHomeAwayTime;
|
|
||||||
|
|
||||||
struct csr_neighbor_roamconfig neighborRoamConfig;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Remove this code once SLM_Sessionization is supported
|
* Remove this code once SLM_Sessionization is supported
|
||||||
@@ -491,7 +454,6 @@ struct csr_config {
|
|||||||
#ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH
|
#ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH
|
||||||
uint8_t cc_switch_mode;
|
uint8_t cc_switch_mode;
|
||||||
#endif
|
#endif
|
||||||
uint8_t allowDFSChannelRoam;
|
|
||||||
#ifdef WLAN_FEATURE_ROAM_OFFLOAD
|
#ifdef WLAN_FEATURE_ROAM_OFFLOAD
|
||||||
bool isRoamOffloadEnabled;
|
bool isRoamOffloadEnabled;
|
||||||
#endif
|
#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_feature_caps_exchange(mac_handle_t mac_handle);
|
||||||
void sme_disable_feature_capablity(uint8_t feature_index);
|
void sme_disable_feature_capablity(uint8_t feature_index);
|
||||||
void sme_reset_power_values_for5_g(mac_handle_t mac_handle);
|
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,
|
QDF_STATUS sme_update_roam_scan_n_probes(mac_handle_t mac_handle,
|
||||||
uint8_t sessionId,
|
uint8_t sessionId,
|
||||||
const uint8_t nProbes);
|
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,
|
QDF_STATUS sme_config_fast_roaming(mac_handle_t mac_handle, uint8_t session_id,
|
||||||
const bool is_fast_roam_enabled);
|
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,
|
QDF_STATUS sme_stop_roaming(mac_handle_t mac_handle, uint8_t sessionId,
|
||||||
uint8_t reason);
|
uint8_t reason);
|
||||||
|
|
||||||
QDF_STATUS sme_start_roaming(mac_handle_t mac_handle, uint8_t sessionId,
|
QDF_STATUS sme_start_roaming(mac_handle_t mac_handle, uint8_t sessionId,
|
||||||
uint8_t reason);
|
uint8_t reason);
|
||||||
QDF_STATUS sme_update_enable_fast_roam_in_concurrency(mac_handle_t mac_handle,
|
|
||||||
bool bFastRoamInConIniFeatureEnabled);
|
|
||||||
#ifdef FEATURE_WLAN_ESE
|
#ifdef FEATURE_WLAN_ESE
|
||||||
QDF_STATUS sme_update_is_ese_feature_enabled(mac_handle_t mac_handle,
|
QDF_STATUS sme_update_is_ese_feature_enabled(mac_handle_t mac_handle,
|
||||||
uint8_t sessionId,
|
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);
|
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,
|
QDF_STATUS sme_set_neighbor_lookup_rssi_threshold(mac_handle_t mac_handle,
|
||||||
uint8_t sessionId, uint8_t neighborLookupRssiThreshold);
|
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);
|
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,
|
QDF_STATUS sme_set_neighbor_scan_refresh_period(mac_handle_t mac_handle,
|
||||||
uint8_t sessionId, uint16_t neighborScanResultsRefreshPeriod);
|
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);
|
uint8_t session_id, const uint16_t neighbor_scan_min_period);
|
||||||
QDF_STATUS sme_set_roam_bmiss_first_bcnt(mac_handle_t mac_handle,
|
QDF_STATUS sme_set_roam_bmiss_first_bcnt(mac_handle_t mac_handle,
|
||||||
uint8_t sessionId, const uint8_t nRoamBmissFirstBcnt);
|
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,
|
QDF_STATUS sme_set_roam_bmiss_final_bcnt(mac_handle_t mac_handle,
|
||||||
uint8_t sessionId,
|
uint8_t sessionId,
|
||||||
const uint8_t nRoamBmissFinalBcnt);
|
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_beacon_rssi_weight(mac_handle_t mac_handle);
|
||||||
uint8_t sme_get_roam_rssi_diff(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,
|
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_roam_scan_control(mac_handle_t mac_handle);
|
||||||
bool sme_get_is_lfr_feature_enabled(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);
|
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);
|
bool sme_is_feature_supported_by_fw(enum cap_bitmap feature);
|
||||||
|
|
||||||
QDF_STATUS sme_set_phy_mode(mac_handle_t mac_handle, eCsrPhyMode phyMode);
|
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 fcc_constraint,
|
||||||
bool scan_pending);
|
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
|
* sme_update_tx_bfee_supp() - sets the Tx Bfee support
|
||||||
* @mac_handle: Opaque handle to the global MAC context
|
* @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);
|
tpAniSirGlobal mac = PMAC_STRUCT(mac_handle);
|
||||||
QDF_STATUS status;
|
QDF_STATUS status;
|
||||||
|
|
||||||
if (mac->roam.configParam.isEseIniFeatureEnabled ==
|
if (mac->mlme_cfg->lfr.ese_enabled ==
|
||||||
isEseIniFeatureEnabled) {
|
isEseIniFeatureEnabled) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
|
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)",
|
"%s: ESE Mode is already enabled or disabled, nothing to do (returning) old(%d) new(%d)",
|
||||||
__func__,
|
__func__,
|
||||||
mac->roam.configParam.isEseIniFeatureEnabled,
|
mac->mlme_cfg->lfr.ese_enabled,
|
||||||
isEseIniFeatureEnabled);
|
isEseIniFeatureEnabled);
|
||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
|
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
|
||||||
"%s: EseEnabled is changed from %d to %d", __func__,
|
"%s: EseEnabled is changed from %d to %d", __func__,
|
||||||
mac->roam.configParam.isEseIniFeatureEnabled,
|
mac->mlme_cfg->lfr.ese_enabled,
|
||||||
isEseIniFeatureEnabled);
|
isEseIniFeatureEnabled);
|
||||||
mac->roam.configParam.isEseIniFeatureEnabled = isEseIniFeatureEnabled;
|
mac->mlme_cfg->lfr.ese_enabled = isEseIniFeatureEnabled;
|
||||||
csr_neighbor_roam_update_fast_roaming_enabled(
|
csr_neighbor_roam_update_fast_roaming_enabled(
|
||||||
mac, sessionId, isEseIniFeatureEnabled);
|
mac, sessionId, isEseIniFeatureEnabled);
|
||||||
|
|
||||||
if (true == 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);
|
status = sme_acquire_global_lock(&mac->sme);
|
||||||
if (QDF_IS_STATUS_SUCCESS(status)) {
|
if (QDF_IS_STATUS_SUCCESS(status)) {
|
||||||
csr_roam_offload_scan(mac, sessionId,
|
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);
|
pNeighborRoamInfo->neighborRoamState);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mac->roam.configParam.isRoamOffloadScanEnabled)
|
if (mac->mlme_cfg->lfr.roam_scan_offload_enabled)
|
||||||
csr_roam_offload_scan(mac, sessionId,
|
csr_roam_offload_scan(mac, sessionId,
|
||||||
ROAM_SCAN_OFFLOAD_UPDATE_CFG,
|
ROAM_SCAN_OFFLOAD_UPDATE_CFG,
|
||||||
REASON_CHANNEL_LIST_CHANGED);
|
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);
|
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() -
|
* sme_update_roam_scan_n_probes() -
|
||||||
* Function to 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)) {
|
if (QDF_IS_STATUS_SUCCESS(status)) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
|
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
|
||||||
"%s: gRoamScanNProbes is changed from %d to %d",
|
"%s: gRoamScanNProbes is changed from %d to %d",
|
||||||
__func__, mac->roam.configParam.nProbes, nProbes);
|
__func__, mac->mlme_cfg->lfr.roam_scan_n_probes,
|
||||||
mac->roam.configParam.nProbes = nProbes;
|
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,
|
csr_roam_offload_scan(mac, sessionId,
|
||||||
ROAM_SCAN_OFFLOAD_UPDATE_CFG,
|
ROAM_SCAN_OFFLOAD_UPDATE_CFG,
|
||||||
REASON_NPROBES_CHANGED);
|
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,
|
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
|
||||||
"%s: gRoamScanHomeAwayTime is changed from %d to %d",
|
"%s: gRoamScanHomeAwayTime is changed from %d to %d",
|
||||||
__func__,
|
__func__,
|
||||||
mac->roam.configParam.nRoamScanHomeAwayTime,
|
mac->mlme_cfg->lfr.roam_scan_home_away_time,
|
||||||
nRoamScanHomeAwayTime);
|
nRoamScanHomeAwayTime);
|
||||||
mac->roam.configParam.nRoamScanHomeAwayTime =
|
mac->mlme_cfg->lfr.roam_scan_home_away_time =
|
||||||
nRoamScanHomeAwayTime;
|
nRoamScanHomeAwayTime;
|
||||||
|
|
||||||
if (mac->roam.configParam.isRoamOffloadScanEnabled &&
|
if (mac->mlme_cfg->lfr.roam_scan_offload_enabled &&
|
||||||
bSendOffloadCmd) {
|
bSendOffloadCmd) {
|
||||||
csr_roam_offload_scan(mac, sessionId,
|
csr_roam_offload_scan(mac, sessionId,
|
||||||
ROAM_SCAN_OFFLOAD_UPDATE_CFG,
|
ROAM_SCAN_OFFLOAD_UPDATE_CFG,
|
||||||
REASON_HOME_AWAY_TIME_CHANGED);
|
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,
|
MTRACE(qdf_trace(QDF_MODULE_ID_SME,
|
||||||
TRACE_CODE_SME_RX_HDD_GET_ROAMIBAND, NO_SESSION, 0));
|
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);
|
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);
|
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,
|
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",
|
"LFR runtime successfully set roam rssi diff to %d - old value is %d - roam state is %s",
|
||||||
RoamRssiDiff,
|
RoamRssiDiff,
|
||||||
mac->roam.configParam.RoamRssiDiff,
|
mac->mlme_cfg->lfr.roam_rssi_diff,
|
||||||
mac_trace_get_neighbour_roam_state(mac->roam.
|
mac_trace_get_neighbour_roam_state(mac->roam.
|
||||||
neighborRoamInfo
|
neighborRoamInfo
|
||||||
[sessionId].
|
[sessionId].
|
||||||
neighborRoamState));
|
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,
|
csr_roam_offload_scan(mac, sessionId,
|
||||||
ROAM_SCAN_OFFLOAD_UPDATE_CFG,
|
ROAM_SCAN_OFFLOAD_UPDATE_CFG,
|
||||||
REASON_RSSI_DIFF_CHANGED);
|
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;
|
return QDF_STATUS_E_INVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!mac->roam.configParam.isFastRoamIniFeatureEnabled ||
|
if (!mac->mlme_cfg->lfr.lfr_enabled ||
|
||||||
(neighbor_roam_info->neighborRoamState !=
|
(neighbor_roam_info->neighborRoamState !=
|
||||||
eCSR_NEIGHBOR_ROAM_STATE_CONNECTED)) {
|
eCSR_NEIGHBOR_ROAM_STATE_CONNECTED)) {
|
||||||
sme_info("Fast roam is disabled or not connected(%d)",
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!mac->roam.configParam.isFastRoamIniFeatureEnabled ||
|
if (!mac->mlme_cfg->lfr.lfr_enabled ||
|
||||||
(neighbor_roam_info->neighborRoamState !=
|
(neighbor_roam_info->neighborRoamState !=
|
||||||
eCSR_NEIGHBOR_ROAM_STATE_CONNECTED)) {
|
eCSR_NEIGHBOR_ROAM_STATE_CONNECTED)) {
|
||||||
sme_debug("Fast roam is disabled or not connected(%d)",
|
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
|
#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() -
|
* sme_update_wes_mode() -
|
||||||
* 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,
|
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",
|
"LFR runtime successfully set WES Mode to %d - old value is %d - roam state is %s",
|
||||||
isWESModeEnabled,
|
isWESModeEnabled,
|
||||||
mac->roam.configParam.isWESModeEnabled,
|
mac->mlme_cfg->lfr.wes_mode_enabled,
|
||||||
mac_trace_get_neighbour_roam_state(mac->roam.
|
mac_trace_get_neighbour_roam_state(mac->roam.
|
||||||
neighborRoamInfo
|
neighborRoamInfo
|
||||||
[sessionId].
|
[sessionId].
|
||||||
neighborRoamState));
|
neighborRoamState));
|
||||||
mac->roam.configParam.isWESModeEnabled = isWESModeEnabled;
|
mac->mlme_cfg->lfr.wes_mode_enabled = isWESModeEnabled;
|
||||||
sme_release_global_lock(&mac->sme);
|
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");
|
"LFR runtime successfully cleared roam scan cache");
|
||||||
csr_flush_cfg_bg_scan_roam_channel_list(mac,
|
csr_flush_cfg_bg_scan_roam_channel_list(mac,
|
||||||
sessionId);
|
sessionId);
|
||||||
if (mac->roam.configParam.isRoamOffloadScanEnabled) {
|
if (mac->mlme_cfg->lfr.roam_scan_offload_enabled) {
|
||||||
csr_roam_offload_scan(mac, sessionId,
|
csr_roam_offload_scan(mac, sessionId,
|
||||||
ROAM_SCAN_OFFLOAD_UPDATE_CFG,
|
ROAM_SCAN_OFFLOAD_UPDATE_CFG,
|
||||||
REASON_FLUSH_CHANNEL_LIST);
|
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);
|
tpAniSirGlobal mac = PMAC_STRUCT(mac_handle);
|
||||||
|
|
||||||
if (mac->roam.configParam.isFastRoamIniFeatureEnabled ==
|
if (mac->mlme_cfg->lfr.lfr_enabled ==
|
||||||
isFastRoamIniFeatureEnabled) {
|
isFastRoamIniFeatureEnabled) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
|
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)",
|
"%s: FastRoam is already enabled or disabled, nothing to do (returning) old(%d) new(%d)",
|
||||||
__func__,
|
__func__,
|
||||||
mac->roam.configParam.isFastRoamIniFeatureEnabled,
|
mac->mlme_cfg->lfr.lfr_enabled,
|
||||||
isFastRoamIniFeatureEnabled);
|
isFastRoamIniFeatureEnabled);
|
||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
|
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
|
||||||
"%s: FastRoamEnabled is changed from %d to %d", __func__,
|
"%s: FastRoamEnabled is changed from %d to %d", __func__,
|
||||||
mac->roam.configParam.isFastRoamIniFeatureEnabled,
|
mac->mlme_cfg->lfr.lfr_enabled,
|
||||||
isFastRoamIniFeatureEnabled);
|
isFastRoamIniFeatureEnabled);
|
||||||
mac->roam.configParam.isFastRoamIniFeatureEnabled =
|
mac->mlme_cfg->lfr.lfr_enabled = isFastRoamIniFeatureEnabled;
|
||||||
isFastRoamIniFeatureEnabled;
|
|
||||||
csr_neighbor_roam_update_fast_roaming_enabled(mac, sessionId,
|
csr_neighbor_roam_update_fast_roaming_enabled(mac, sessionId,
|
||||||
isFastRoamIniFeatureEnabled);
|
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 =
|
session->pCurRoamProfile->supplicant_disabled_roaming =
|
||||||
!is_fast_roam_enabled;
|
!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");
|
sme_debug("Fast roam is disabled through ini");
|
||||||
if (!is_fast_roam_enabled)
|
if (!is_fast_roam_enabled)
|
||||||
return QDF_STATUS_SUCCESS;
|
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;
|
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
|
* sme_stop_roaming() - Stop roaming for a given sessionId
|
||||||
* This is a synchronous call
|
* This is a synchronous call
|
||||||
@@ -7306,37 +7177,6 @@ QDF_STATUS sme_start_roaming(mac_handle_t mac_handle, uint8_t sessionId,
|
|||||||
return status;
|
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() -
|
* sme_set_roam_opportunistic_scan_threshold_diff() -
|
||||||
* Update Opportunistic Scan threshold diff
|
* Update Opportunistic Scan threshold diff
|
||||||
@@ -7364,8 +7204,7 @@ QDF_STATUS sme_set_roam_opportunistic_scan_threshold_diff(
|
|||||||
nOpportunisticThresholdDiff,
|
nOpportunisticThresholdDiff,
|
||||||
REASON_OPPORTUNISTIC_THRESH_DIFF_CHANGED);
|
REASON_OPPORTUNISTIC_THRESH_DIFF_CHANGED);
|
||||||
if (QDF_IS_STATUS_SUCCESS(status)) {
|
if (QDF_IS_STATUS_SUCCESS(status)) {
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
mac->mlme_cfg->lfr.opportunistic_scan_threshold_diff =
|
||||||
nOpportunisticThresholdDiff =
|
|
||||||
nOpportunisticThresholdDiff;
|
nOpportunisticThresholdDiff;
|
||||||
}
|
}
|
||||||
sme_release_global_lock(&mac->sme);
|
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);
|
tpAniSirGlobal mac = PMAC_STRUCT(mac_handle);
|
||||||
|
|
||||||
return mac->roam.configParam.neighborRoamConfig.
|
return mac->mlme_cfg->lfr.opportunistic_scan_threshold_diff;
|
||||||
nOpportunisticThresholdDiff;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -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,
|
status = csr_neighbor_roam_update_config(mac, sessionId,
|
||||||
nRoamRescanRssiDiff,
|
nRoamRescanRssiDiff,
|
||||||
REASON_ROAM_RESCAN_RSSI_DIFF_CHANGED);
|
REASON_ROAM_RESCAN_RSSI_DIFF_CHANGED);
|
||||||
if (QDF_IS_STATUS_SUCCESS(status)) {
|
if (QDF_IS_STATUS_SUCCESS(status))
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
mac->mlme_cfg->lfr.roam_rescan_rssi_diff =
|
||||||
nRoamRescanRssiDiff = nRoamRescanRssiDiff;
|
nRoamRescanRssiDiff;
|
||||||
}
|
|
||||||
sme_release_global_lock(&mac->sme);
|
sme_release_global_lock(&mac->sme);
|
||||||
}
|
}
|
||||||
return status;
|
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);
|
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,
|
nRoamBmissFirstBcnt,
|
||||||
REASON_ROAM_BMISS_FIRST_BCNT_CHANGED);
|
REASON_ROAM_BMISS_FIRST_BCNT_CHANGED);
|
||||||
if (QDF_IS_STATUS_SUCCESS(status)) {
|
if (QDF_IS_STATUS_SUCCESS(status)) {
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
mac->mlme_cfg->lfr.roam_bmiss_first_bcnt =
|
||||||
nRoamBmissFirstBcnt = nRoamBmissFirstBcnt;
|
nRoamBmissFirstBcnt;
|
||||||
}
|
}
|
||||||
sme_release_global_lock(&mac->sme);
|
sme_release_global_lock(&mac->sme);
|
||||||
}
|
}
|
||||||
return status;
|
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() -
|
* sme_set_roam_bmiss_final_bcnt() -
|
||||||
* Update Roam count for final beacon miss
|
* 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,
|
nRoamBmissFinalBcnt,
|
||||||
REASON_ROAM_BMISS_FINAL_BCNT_CHANGED);
|
REASON_ROAM_BMISS_FINAL_BCNT_CHANGED);
|
||||||
if (QDF_IS_STATUS_SUCCESS(status)) {
|
if (QDF_IS_STATUS_SUCCESS(status)) {
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
mac->mlme_cfg->lfr.roam_bmiss_final_bcnt =
|
||||||
nRoamBmissFinalBcnt = 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;
|
|
||||||
}
|
}
|
||||||
sme_release_global_lock(&mac->sme);
|
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);
|
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,
|
sessionId, neighborLookupRssiThreshold,
|
||||||
REASON_LOOKUP_THRESH_CHANGED);
|
REASON_LOOKUP_THRESH_CHANGED);
|
||||||
if (QDF_IS_STATUS_SUCCESS(status)) {
|
if (QDF_IS_STATUS_SUCCESS(status)) {
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
mac->mlme_cfg->lfr.neighbor_lookup_rssi_threshold =
|
||||||
nNeighborLookupRssiThreshold =
|
|
||||||
neighborLookupRssiThreshold;
|
neighborLookupRssiThreshold;
|
||||||
}
|
}
|
||||||
sme_release_global_lock(&mac->sme);
|
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;
|
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
|
* sme_get_neighbor_lookup_rssi_threshold() - get neighbor lookup
|
||||||
* rssi threshold
|
* 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);
|
tpAniSirGlobal mac = PMAC_STRUCT(mac_handle);
|
||||||
|
|
||||||
return mac->roam.configParam.neighborRoamConfig.
|
return mac->mlme_cfg->lfr.neighbor_lookup_rssi_threshold;
|
||||||
nNeighborLookupRssiThreshold;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -7683,7 +7417,6 @@ QDF_STATUS sme_set_neighbor_scan_refresh_period(mac_handle_t mac_handle,
|
|||||||
{
|
{
|
||||||
tpAniSirGlobal mac = PMAC_STRUCT(mac_handle);
|
tpAniSirGlobal mac = PMAC_STRUCT(mac_handle);
|
||||||
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
||||||
struct csr_neighbor_roamconfig *pNeighborRoamConfig = NULL;
|
|
||||||
tpCsrNeighborRoamControlInfo pNeighborRoamInfo = NULL;
|
tpCsrNeighborRoamControlInfo pNeighborRoamInfo = NULL;
|
||||||
|
|
||||||
if (sessionId >= CSR_ROAM_SESSION_MAX) {
|
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);
|
status = sme_acquire_global_lock(&mac->sme);
|
||||||
if (QDF_IS_STATUS_SUCCESS(status)) {
|
if (QDF_IS_STATUS_SUCCESS(status)) {
|
||||||
pNeighborRoamConfig =
|
|
||||||
&mac->roam.configParam.neighborRoamConfig;
|
|
||||||
pNeighborRoamInfo = &mac->roam.neighborRoamInfo[sessionId];
|
pNeighborRoamInfo = &mac->roam.neighborRoamInfo[sessionId];
|
||||||
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
|
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",
|
"LFR runtime successfully set roam scan refresh period to %d- old value is %d - roam state is %s",
|
||||||
neighborScanResultsRefreshPeriod,
|
neighborScanResultsRefreshPeriod,
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
mac->mlme_cfg->lfr.
|
||||||
nNeighborResultsRefreshPeriod,
|
neighbor_scan_results_refresh_period,
|
||||||
mac_trace_get_neighbour_roam_state(mac->roam.
|
mac_trace_get_neighbour_roam_state(mac->roam.
|
||||||
neighborRoamInfo
|
neighborRoamInfo
|
||||||
[sessionId].
|
[sessionId].
|
||||||
neighborRoamState));
|
neighborRoamState));
|
||||||
pNeighborRoamConfig->nNeighborResultsRefreshPeriod =
|
mac->mlme_cfg->lfr.neighbor_scan_results_refresh_period =
|
||||||
neighborScanResultsRefreshPeriod;
|
neighborScanResultsRefreshPeriod;
|
||||||
pNeighborRoamInfo->cfgParams.neighborResultsRefreshPeriod =
|
pNeighborRoamInfo->cfgParams.neighborResultsRefreshPeriod =
|
||||||
neighborScanResultsRefreshPeriod;
|
neighborScanResultsRefreshPeriod;
|
||||||
|
|
||||||
if (mac->roam.configParam.isRoamOffloadScanEnabled) {
|
if (mac->mlme_cfg->lfr.roam_scan_offload_enabled) {
|
||||||
csr_roam_offload_scan(mac, sessionId,
|
csr_roam_offload_scan(mac, sessionId,
|
||||||
ROAM_SCAN_OFFLOAD_UPDATE_CFG,
|
ROAM_SCAN_OFFLOAD_UPDATE_CFG,
|
||||||
REASON_NEIGHBOR_SCAN_REFRESH_PERIOD_CHANGED);
|
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;
|
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
|
* sme_get_neighbor_scan_refresh_period() - get neighbor scan results
|
||||||
* refresh period
|
* 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);
|
tpAniSirGlobal mac = PMAC_STRUCT(mac_handle);
|
||||||
|
|
||||||
return mac->roam.configParam.neighborRoamConfig.
|
return mac->mlme_cfg->lfr.neighbor_scan_results_refresh_period;
|
||||||
nNeighborResultsRefreshPeriod;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -7781,8 +7480,7 @@ uint16_t sme_get_empty_scan_refresh_period(mac_handle_t mac_handle)
|
|||||||
{
|
{
|
||||||
tpAniSirGlobal mac = PMAC_STRUCT(mac_handle);
|
tpAniSirGlobal mac = PMAC_STRUCT(mac_handle);
|
||||||
|
|
||||||
return mac->roam.configParam.neighborRoamConfig.
|
return mac->mlme_cfg->lfr.empty_scan_refresh_period;
|
||||||
nEmptyScanRefreshPeriod;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -7805,7 +7503,6 @@ QDF_STATUS sme_update_empty_scan_refresh_period(mac_handle_t mac_handle,
|
|||||||
{
|
{
|
||||||
tpAniSirGlobal mac = PMAC_STRUCT(mac_handle);
|
tpAniSirGlobal mac = PMAC_STRUCT(mac_handle);
|
||||||
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
||||||
struct csr_neighbor_roamconfig *pNeighborRoamConfig = NULL;
|
|
||||||
tpCsrNeighborRoamControlInfo pNeighborRoamInfo = NULL;
|
tpCsrNeighborRoamControlInfo pNeighborRoamInfo = NULL;
|
||||||
|
|
||||||
if (sessionId >= CSR_ROAM_SESSION_MAX) {
|
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);
|
status = sme_acquire_global_lock(&mac->sme);
|
||||||
if (QDF_IS_STATUS_SUCCESS(status)) {
|
if (QDF_IS_STATUS_SUCCESS(status)) {
|
||||||
pNeighborRoamConfig =
|
|
||||||
&mac->roam.configParam.neighborRoamConfig;
|
|
||||||
pNeighborRoamInfo = &mac->roam.neighborRoamInfo[sessionId];
|
pNeighborRoamInfo = &mac->roam.neighborRoamInfo[sessionId];
|
||||||
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
|
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",
|
"LFR runtime successfully set roam scan period to %d -old value is %d - roam state is %s",
|
||||||
nEmptyScanRefreshPeriod,
|
nEmptyScanRefreshPeriod,
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
mac->mlme_cfg->lfr.empty_scan_refresh_period,
|
||||||
nEmptyScanRefreshPeriod,
|
|
||||||
mac_trace_get_neighbour_roam_state(mac->roam.
|
mac_trace_get_neighbour_roam_state(mac->roam.
|
||||||
neighborRoamInfo
|
neighborRoamInfo
|
||||||
[sessionId].
|
[sessionId].
|
||||||
neighborRoamState));
|
neighborRoamState));
|
||||||
pNeighborRoamConfig->nEmptyScanRefreshPeriod =
|
mac->mlme_cfg->lfr.empty_scan_refresh_period =
|
||||||
nEmptyScanRefreshPeriod;
|
nEmptyScanRefreshPeriod;
|
||||||
pNeighborRoamInfo->cfgParams.emptyScanRefreshPeriod =
|
pNeighborRoamInfo->cfgParams.emptyScanRefreshPeriod =
|
||||||
nEmptyScanRefreshPeriod;
|
nEmptyScanRefreshPeriod;
|
||||||
|
|
||||||
if (mac->roam.configParam.isRoamOffloadScanEnabled) {
|
if (mac->mlme_cfg->lfr.roam_scan_offload_enabled) {
|
||||||
csr_roam_offload_scan(mac, sessionId,
|
csr_roam_offload_scan(mac, sessionId,
|
||||||
ROAM_SCAN_OFFLOAD_UPDATE_CFG,
|
ROAM_SCAN_OFFLOAD_UPDATE_CFG,
|
||||||
REASON_EMPTY_SCAN_REF_PERIOD_CHANGED);
|
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,
|
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",
|
"LFR runtime successfully set channel min dwell time to %d - old value is %d - roam state is %s",
|
||||||
nNeighborScanMinChanTime,
|
nNeighborScanMinChanTime,
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
mac->mlme_cfg->lfr.neighbor_scan_min_chan_time,
|
||||||
nNeighborScanMinChanTime,
|
|
||||||
mac_trace_get_neighbour_roam_state(mac->roam.
|
mac_trace_get_neighbour_roam_state(mac->roam.
|
||||||
neighborRoamInfo
|
neighborRoamInfo
|
||||||
[sessionId].
|
[sessionId].
|
||||||
neighborRoamState));
|
neighborRoamState));
|
||||||
|
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
mac->mlme_cfg->lfr.neighbor_scan_min_chan_time =
|
||||||
nNeighborScanMinChanTime = nNeighborScanMinChanTime;
|
nNeighborScanMinChanTime;
|
||||||
mac->roam.neighborRoamInfo[sessionId].cfgParams.
|
mac->roam.neighborRoamInfo[sessionId].cfgParams.
|
||||||
minChannelScanTime = nNeighborScanMinChanTime;
|
minChannelScanTime = nNeighborScanMinChanTime;
|
||||||
sme_release_global_lock(&mac->sme);
|
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);
|
tpAniSirGlobal mac = PMAC_STRUCT(mac_handle);
|
||||||
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
||||||
struct csr_neighbor_roamconfig *pNeighborRoamConfig = NULL;
|
|
||||||
tpCsrNeighborRoamControlInfo pNeighborRoamInfo = NULL;
|
tpCsrNeighborRoamControlInfo pNeighborRoamInfo = NULL;
|
||||||
|
|
||||||
if (sessionId >= CSR_ROAM_SESSION_MAX) {
|
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);
|
status = sme_acquire_global_lock(&mac->sme);
|
||||||
if (QDF_IS_STATUS_SUCCESS(status)) {
|
if (QDF_IS_STATUS_SUCCESS(status)) {
|
||||||
pNeighborRoamConfig =
|
|
||||||
&mac->roam.configParam.neighborRoamConfig;
|
|
||||||
pNeighborRoamInfo = &mac->roam.neighborRoamInfo[sessionId];
|
pNeighborRoamInfo = &mac->roam.neighborRoamInfo[sessionId];
|
||||||
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
|
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",
|
"LFR runtime successfully set channel max dwell time to %d - old value is %d - roam state is %s",
|
||||||
nNeighborScanMaxChanTime,
|
nNeighborScanMaxChanTime,
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
mac->mlme_cfg->lfr.neighbor_scan_max_chan_time,
|
||||||
nNeighborScanMaxChanTime,
|
|
||||||
mac_trace_get_neighbour_roam_state(mac->roam.
|
mac_trace_get_neighbour_roam_state(mac->roam.
|
||||||
neighborRoamInfo
|
neighborRoamInfo
|
||||||
[sessionId].
|
[sessionId].
|
||||||
neighborRoamState));
|
neighborRoamState));
|
||||||
pNeighborRoamConfig->nNeighborScanMaxChanTime =
|
mac->mlme_cfg->lfr.neighbor_scan_max_chan_time =
|
||||||
nNeighborScanMaxChanTime;
|
nNeighborScanMaxChanTime;
|
||||||
pNeighborRoamInfo->cfgParams.maxChannelScanTime =
|
pNeighborRoamInfo->cfgParams.maxChannelScanTime =
|
||||||
nNeighborScanMaxChanTime;
|
nNeighborScanMaxChanTime;
|
||||||
if (mac->roam.configParam.isRoamOffloadScanEnabled) {
|
if (mac->mlme_cfg->lfr.roam_scan_offload_enabled) {
|
||||||
csr_roam_offload_scan(mac, sessionId,
|
csr_roam_offload_scan(mac, sessionId,
|
||||||
ROAM_SCAN_OFFLOAD_UPDATE_CFG,
|
ROAM_SCAN_OFFLOAD_UPDATE_CFG,
|
||||||
REASON_SCAN_CH_TIME_CHANGED);
|
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);
|
sme_release_global_lock(&mac->sme);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -8147,7 +7835,6 @@ QDF_STATUS sme_set_neighbor_scan_period(mac_handle_t mac_handle,
|
|||||||
{
|
{
|
||||||
tpAniSirGlobal mac = PMAC_STRUCT(mac_handle);
|
tpAniSirGlobal mac = PMAC_STRUCT(mac_handle);
|
||||||
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
||||||
struct csr_neighbor_roamconfig *pNeighborRoamConfig = NULL;
|
|
||||||
tpCsrNeighborRoamControlInfo pNeighborRoamInfo = NULL;
|
tpCsrNeighborRoamControlInfo pNeighborRoamInfo = NULL;
|
||||||
|
|
||||||
if (sessionId >= CSR_ROAM_SESSION_MAX) {
|
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);
|
status = sme_acquire_global_lock(&mac->sme);
|
||||||
if (QDF_IS_STATUS_SUCCESS(status)) {
|
if (QDF_IS_STATUS_SUCCESS(status)) {
|
||||||
pNeighborRoamConfig =
|
|
||||||
&mac->roam.configParam.neighborRoamConfig;
|
|
||||||
pNeighborRoamInfo = &mac->roam.neighborRoamInfo[sessionId];
|
pNeighborRoamInfo = &mac->roam.neighborRoamInfo[sessionId];
|
||||||
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
|
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",
|
"LFR runtime successfully set neighbor scan period to %d - old value is %d - roam state is %s",
|
||||||
nNeighborScanPeriod,
|
nNeighborScanPeriod,
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
mac->mlme_cfg->lfr.neighbor_scan_timer_period,
|
||||||
nNeighborScanTimerPeriod,
|
|
||||||
mac_trace_get_neighbour_roam_state(mac->roam.
|
mac_trace_get_neighbour_roam_state(mac->roam.
|
||||||
neighborRoamInfo
|
neighborRoamInfo
|
||||||
[sessionId].
|
[sessionId].
|
||||||
neighborRoamState));
|
neighborRoamState));
|
||||||
pNeighborRoamConfig->nNeighborScanTimerPeriod =
|
mac->mlme_cfg->lfr.neighbor_scan_timer_period =
|
||||||
nNeighborScanPeriod;
|
nNeighborScanPeriod;
|
||||||
pNeighborRoamInfo->cfgParams.neighborScanPeriod =
|
pNeighborRoamInfo->cfgParams.neighborScanPeriod =
|
||||||
nNeighborScanPeriod;
|
nNeighborScanPeriod;
|
||||||
|
|
||||||
if (mac->roam.configParam.isRoamOffloadScanEnabled) {
|
if (mac->mlme_cfg->lfr.roam_scan_offload_enabled) {
|
||||||
csr_roam_offload_scan(mac, sessionId,
|
csr_roam_offload_scan(mac, sessionId,
|
||||||
ROAM_SCAN_OFFLOAD_UPDATE_CFG,
|
ROAM_SCAN_OFFLOAD_UPDATE_CFG,
|
||||||
REASON_SCAN_HOME_TIME_CHANGED);
|
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);
|
tpAniSirGlobal pmac = PMAC_STRUCT(mac_handle);
|
||||||
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
||||||
struct csr_neighbor_roamconfig *p_neighbor_roam_config = NULL;
|
|
||||||
tpCsrNeighborRoamControlInfo p_neighbor_roam_info = NULL;
|
tpCsrNeighborRoamControlInfo p_neighbor_roam_info = NULL;
|
||||||
|
|
||||||
if (session_id >= CSR_ROAM_SESSION_MAX) {
|
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);
|
status = sme_acquire_global_lock(&pmac->sme);
|
||||||
if (QDF_IS_STATUS_SUCCESS(status)) {
|
if (QDF_IS_STATUS_SUCCESS(status)) {
|
||||||
p_neighbor_roam_config =
|
|
||||||
&pmac->roam.configParam.neighborRoamConfig;
|
|
||||||
p_neighbor_roam_info = &pmac->
|
p_neighbor_roam_info = &pmac->
|
||||||
roam.neighborRoamInfo[session_id];
|
roam.neighborRoamInfo[session_id];
|
||||||
sme_debug("LFR:set neighbor scan min period, old:%d, "
|
sme_debug("LFR:set neighbor scan min period, old:%d, "
|
||||||
"new: %d, state: %s",
|
"new: %d, state: %s",
|
||||||
pmac->roam.configParam.neighborRoamConfig.
|
pmac->mlme_cfg->lfr.
|
||||||
neighbor_scan_min_timer_period,
|
neighbor_scan_min_timer_period,
|
||||||
neighbor_scan_min_period,
|
neighbor_scan_min_period,
|
||||||
mac_trace_get_neighbour_roam_state(pmac->roam.
|
mac_trace_get_neighbour_roam_state(pmac->roam.
|
||||||
neighborRoamInfo[session_id].
|
neighborRoamInfo[session_id].
|
||||||
neighborRoamState));
|
neighborRoamState));
|
||||||
p_neighbor_roam_config->neighbor_scan_min_timer_period =
|
pmac->mlme_cfg->lfr.neighbor_scan_min_timer_period =
|
||||||
neighbor_scan_min_period;
|
neighbor_scan_min_period;
|
||||||
p_neighbor_roam_info->cfgParams.neighbor_scan_min_period =
|
p_neighbor_roam_info->cfgParams.neighbor_scan_min_period =
|
||||||
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);
|
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,
|
newChannelList, oldChannelList,
|
||||||
mac->roam.neighborRoamInfo[sessionId].neighborRoamState);
|
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,
|
csr_roam_offload_scan(mac, sessionId,
|
||||||
ROAM_SCAN_OFFLOAD_UPDATE_CFG,
|
ROAM_SCAN_OFFLOAD_UPDATE_CFG,
|
||||||
REASON_CHANNEL_LIST_CHANGED);
|
REASON_CHANNEL_LIST_CHANGED);
|
||||||
@@ -8432,7 +8113,7 @@ bool sme_get_wes_mode(mac_handle_t mac_handle)
|
|||||||
{
|
{
|
||||||
tpAniSirGlobal mac = PMAC_STRUCT(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);
|
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);
|
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,
|
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",
|
"LFR runtime successfully set AllowDFSChannelRoam Mode to %d - old value is %d - roam state is %s",
|
||||||
allowDFSChannelRoam,
|
allowDFSChannelRoam,
|
||||||
mac->roam.configParam.allowDFSChannelRoam,
|
mac->mlme_cfg->lfr.roaming_dfs_channel,
|
||||||
mac_trace_get_neighbour_roam_state(mac->roam.
|
mac_trace_get_neighbour_roam_state(mac->roam.
|
||||||
neighborRoamInfo
|
neighborRoamInfo
|
||||||
[sessionId].
|
[sessionId].
|
||||||
neighborRoamState));
|
neighborRoamState));
|
||||||
mac->roam.configParam.allowDFSChannelRoam =
|
mac->mlme_cfg->lfr.roaming_dfs_channel =
|
||||||
allowDFSChannelRoam;
|
allowDFSChannelRoam;
|
||||||
if (mac->roam.configParam.isRoamOffloadScanEnabled) {
|
if (mac->mlme_cfg->lfr.roam_scan_offload_enabled) {
|
||||||
csr_roam_offload_scan(mac, sessionId,
|
csr_roam_offload_scan(mac, sessionId,
|
||||||
ROAM_SCAN_OFFLOAD_UPDATE_CFG,
|
ROAM_SCAN_OFFLOAD_UPDATE_CFG,
|
||||||
REASON_ROAM_DFS_SCAN_MODE_CHANGED);
|
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);
|
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;
|
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
||||||
tpAniSirGlobal mac = PMAC_STRUCT(mac_handle);
|
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 */
|
/* acquire the lock for the sme object */
|
||||||
status = sme_acquire_global_lock(&mac->sme);
|
status = sme_acquire_global_lock(&mac->sme);
|
||||||
if (QDF_IS_STATUS_SUCCESS(status)) {
|
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);
|
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.
|
* sme_update_tgt_services() - update the target services config.
|
||||||
* @mac_handle: Opaque handle to the global MAC context.
|
* @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"));
|
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);
|
status = sme_acquire_global_lock(&mac_ctx->sme);
|
||||||
if (QDF_IS_STATUS_SUCCESS(status)) {
|
if (QDF_IS_STATUS_SUCCESS(status)) {
|
||||||
csr_roam_offload_scan(mac_ctx, session_id,
|
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;
|
CSR_MIN_GLOBAL_STAT_QUERY_PERIOD;
|
||||||
mac->roam.configParam.statsReqPeriodicityInPS =
|
mac->roam.configParam.statsReqPeriodicityInPS =
|
||||||
CSR_MIN_GLOBAL_STAT_QUERY_PERIOD_IN_BMPS;
|
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 =
|
mac->roam.configParam.nVhtChannelWidth =
|
||||||
WNI_CFG_VHT_CHANNEL_WIDTH_80MHZ + 1;
|
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.nInitialDwellTime = 0;
|
||||||
mac->roam.configParam.initial_scan_no_dfs_chnl = 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)
|
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)
|
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;
|
ch_lst = curr_ch_lst_info->ChannelList;
|
||||||
for (i = 0; i < curr_ch_lst_info->numOfChannels; i++) {
|
for (i = 0; i < curr_ch_lst_info->numOfChannels; i++) {
|
||||||
if ((!mac_ctx->roam.configParam.allowDFSChannelRoam ||
|
if (((mac_ctx->mlme_cfg->lfr.roaming_dfs_channel !=
|
||||||
(mac_ctx->roam.configParam.sta_roam_policy.dfs_mode ==
|
ROAMING_DFS_CHANNEL_DISABLED) ||
|
||||||
|
(mac_ctx->roam.configParam.sta_roam_policy.dfs_mode ==
|
||||||
CSR_STA_ROAM_POLICY_DFS_DISABLED)) &&
|
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,
|
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)
|
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
|
/* 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)
|
struct mawc_params *mawc_config)
|
||||||
{
|
{
|
||||||
mawc_config->mawc_enabled =
|
mawc_config->mawc_enabled =
|
||||||
mac->roam.configParam.csr_mawc_config.mawc_enabled;
|
mac->mlme_cfg->lfr.mawc_enabled;
|
||||||
mawc_config->mawc_roam_enabled =
|
mawc_config->mawc_roam_enabled =
|
||||||
mac->mlme_cfg->lfr.mawc_roam_enabled;
|
mac->mlme_cfg->lfr.mawc_roam_enabled;
|
||||||
mawc_config->mawc_roam_traffic_threshold =
|
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.AdHocChannel24 = pParam->AdHocChannel24;
|
||||||
mac->roam.configParam.AdHocChannel5G = pParam->AdHocChannel5G;
|
mac->roam.configParam.AdHocChannel5G = pParam->AdHocChannel5G;
|
||||||
mac->roam.configParam.wep_tkip_in_he = pParam->wep_tkip_in_he;
|
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, */
|
/* if HDD passed down non zero values then only update, */
|
||||||
/* otherwise keep using the defaults */
|
/* 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))
|
!wlan_reg_11d_enabled_on_host(mac->psoc))
|
||||||
csr_init_channel_power_list(mac, &pParam->Csr11dinfo);
|
csr_init_channel_power_list(mac, &pParam->Csr11dinfo);
|
||||||
|
|
||||||
mac->roam.configParam.isFastTransitionEnabled =
|
sme_debug("neighbor_scan_timer_period: %d",
|
||||||
pParam->isFastTransitionEnabled;
|
mac->mlme_cfg->lfr.neighbor_scan_timer_period);
|
||||||
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_min_timer_period: %d",
|
sme_debug("neighbor_scan_min_timer_period: %d",
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
mac->mlme_cfg->lfr.neighbor_scan_min_timer_period);
|
||||||
neighbor_scan_min_timer_period);
|
sme_debug("neighbor_lookup_rssi_threshold: %d",
|
||||||
sme_debug("nNeighborLookupRssiThreshold: %d",
|
mac->mlme_cfg->lfr.neighbor_lookup_rssi_threshold);
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
sme_debug("opportunistic_scan_threshold_diff: %d",
|
||||||
nNeighborLookupRssiThreshold);
|
mac->mlme_cfg->lfr.
|
||||||
sme_debug("nOpportunisticThresholdDiff: %d",
|
opportunistic_scan_threshold_diff);
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
sme_debug("roam_rescan_rssi_diff: %d",
|
||||||
nOpportunisticThresholdDiff);
|
mac->mlme_cfg->lfr.roam_rescan_rssi_diff);
|
||||||
sme_debug("nRoamRescanRssiDiff: %d",
|
sme_debug("neighbor_scan_min_chan_time: %d",
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
mac->mlme_cfg->lfr.neighbor_scan_min_chan_time);
|
||||||
nRoamRescanRssiDiff);
|
sme_debug("neighbor_scan_max_chan_time: %d",
|
||||||
sme_debug("nNeighborScanMinChanTime: %d",
|
mac->mlme_cfg->lfr.neighbor_scan_max_chan_time);
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
sme_debug("neighbor_scan_results_refresh_period: %d",
|
||||||
nNeighborScanMinChanTime);
|
mac->mlme_cfg->lfr.
|
||||||
sme_debug("nNeighborScanMaxChanTime: %d",
|
neighbor_scan_results_refresh_period);
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
sme_debug("empty_scan_refresh_period: %d",
|
||||||
nNeighborScanMaxChanTime);
|
mac->mlme_cfg->lfr.empty_scan_refresh_period);
|
||||||
sme_debug("nNeighborResultsRefreshPeriod: %d",
|
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
|
||||||
nNeighborResultsRefreshPeriod);
|
|
||||||
sme_debug("nEmptyScanRefreshPeriod: %d",
|
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
|
||||||
nEmptyScanRefreshPeriod);
|
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
sme_debug("Num of Channels in CFG Channel List: %d",
|
sme_debug("Num of Channels in CFG Channel List: %d",
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
mac->mlme_cfg->lfr.
|
||||||
neighborScanChanList.numChannels);
|
neighbor_scan_channel_list_num);
|
||||||
for (i = 0;
|
for (i = 0; i < mac->mlme_cfg->lfr.
|
||||||
i <
|
neighbor_scan_channel_list_num; i++) {
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
sme_debug("%d ", mac->mlme_cfg->lfr.
|
||||||
neighborScanChanList.numChannels; i++) {
|
neighbor_scan_channel_list[i]);
|
||||||
sme_debug("%d ",
|
|
||||||
mac->roam.configParam.
|
|
||||||
neighborRoamConfig.neighborScanChanList.
|
|
||||||
channelList[i]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sme_debug("nRoamBmissFirstBcnt: %d",
|
sme_debug("roam_bmiss_first_bcnt: %d",
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
mac->mlme_cfg->lfr.roam_bmiss_first_bcnt);
|
||||||
nRoamBmissFirstBcnt);
|
sme_debug("roam_bmiss_final_bcnt: %d",
|
||||||
sme_debug("nRoamBmissFinalBcnt: %d",
|
mac->mlme_cfg->lfr.roam_bmiss_final_bcnt);
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
sme_debug("roam_beacon_rssi_weight: %d",
|
||||||
nRoamBmissFinalBcnt);
|
mac->mlme_cfg->lfr.roam_beacon_rssi_weight);
|
||||||
sme_debug("nRoamBeaconRssiWeight: %d",
|
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
|
||||||
nRoamBeaconRssiWeight);
|
|
||||||
mac->scan.fEnableDFSChnlScan = pParam->fEnableDFSChnlScan;
|
mac->scan.fEnableDFSChnlScan = pParam->fEnableDFSChnlScan;
|
||||||
mac->scan.scanResultCfgAgingTime = pParam->scanCfgAgingTime;
|
mac->scan.scanResultCfgAgingTime = pParam->scanCfgAgingTime;
|
||||||
mac->roam.configParam.fScanTwice = pParam->fScanTwice;
|
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
|
#ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH
|
||||||
mac->roam.configParam.cc_switch_mode = pParam->cc_switch_mode;
|
mac->roam.configParam.cc_switch_mode = pParam->cc_switch_mode;
|
||||||
#endif
|
#endif
|
||||||
mac->roam.configParam.allowDFSChannelRoam =
|
|
||||||
pParam->allowDFSChannelRoam;
|
|
||||||
mac->roam.configParam.obssEnabled = pParam->obssEnabled;
|
mac->roam.configParam.obssEnabled = pParam->obssEnabled;
|
||||||
mac->roam.configParam.vendor_vht_sap =
|
mac->roam.configParam.vendor_vht_sap =
|
||||||
pParam->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->fEnableMCCMode = cfg_params->fenableMCCMode;
|
||||||
pParam->fAllowMCCGODiffBI = cfg_params->fAllowMCCGODiffBI;
|
pParam->fAllowMCCGODiffBI = cfg_params->fAllowMCCGODiffBI;
|
||||||
pParam->scanCfgAgingTime = mac->scan.scanResultCfgAgingTime;
|
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
|
#ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH
|
||||||
pParam->cc_switch_mode = cfg_params->cc_switch_mode;
|
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 =
|
pParam->roam_trigger_reason_bitmask =
|
||||||
cfg_params->roam_trigger_reason_bitmask;
|
cfg_params->roam_trigger_reason_bitmask;
|
||||||
pParam->isCoalesingInIBSSAllowed = cfg_params->isCoalesingInIBSSAllowed;
|
pParam->isCoalesingInIBSSAllowed = cfg_params->isCoalesingInIBSSAllowed;
|
||||||
pParam->allowDFSChannelRoam = cfg_params->allowDFSChannelRoam;
|
|
||||||
pParam->nInitialDwellTime = cfg_params->nInitialDwellTime;
|
pParam->nInitialDwellTime = cfg_params->nInitialDwellTime;
|
||||||
pParam->initial_scan_no_dfs_chnl = cfg_params->initial_scan_no_dfs_chnl;
|
pParam->initial_scan_no_dfs_chnl = cfg_params->initial_scan_no_dfs_chnl;
|
||||||
csr_set_channels(mac, pParam);
|
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)) {
|
if (true == CSR_IS_FASTROAM_IN_CONCURRENCY_INI_FEATURE_ENABLED(mac)) {
|
||||||
return mac->roam.configParam.isFastRoamIniFeatureEnabled;
|
return mac->mlme_cfg->lfr.lfr_enabled;
|
||||||
} else {
|
} else {
|
||||||
return mac->roam.configParam.isFastRoamIniFeatureEnabled &&
|
return mac->mlme_cfg->lfr.lfr_enabled &&
|
||||||
(!csr_is_concurrent_session_running(mac));
|
(!csr_is_concurrent_session_running(mac));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -8973,9 +8872,10 @@ QDF_STATUS csr_roam_save_connected_information(tpAniSirGlobal mac,
|
|||||||
&pIesTemp);
|
&pIesTemp);
|
||||||
#ifdef FEATURE_WLAN_ESE
|
#ifdef FEATURE_WLAN_ESE
|
||||||
if ((csr_is_profile_ese(pProfile) ||
|
if ((csr_is_profile_ese(pProfile) ||
|
||||||
(QDF_IS_STATUS_SUCCESS(status) && (pIesTemp->ESEVersion.present)
|
(QDF_IS_STATUS_SUCCESS(status) &&
|
||||||
&& (pProfile->negotiatedAuthType == eCSR_AUTH_TYPE_OPEN_SYSTEM)))
|
(pIesTemp->ESEVersion.present) &&
|
||||||
&& (mac->roam.configParam.isEseIniFeatureEnabled)) {
|
(pProfile->negotiatedAuthType == eCSR_AUTH_TYPE_OPEN_SYSTEM))) &&
|
||||||
|
(mac->mlme_cfg->lfr.ese_enabled)) {
|
||||||
pConnectProfile->isESEAssoc = 1;
|
pConnectProfile->isESEAssoc = 1;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -15453,7 +15353,7 @@ QDF_STATUS csr_send_join_req_msg(tpAniSirGlobal mac, uint32_t sessionId,
|
|||||||
(pProfile->negotiatedMCEncryptionType);
|
(pProfile->negotiatedMCEncryptionType);
|
||||||
csr_set_mgmt_enc_type(pProfile, pIes, csr_join_req);
|
csr_set_mgmt_enc_type(pProfile, pIes, csr_join_req);
|
||||||
#ifdef FEATURE_WLAN_ESE
|
#ifdef FEATURE_WLAN_ESE
|
||||||
ese_config = mac->roam.configParam.isEseIniFeatureEnabled;
|
ese_config = mac->mlme_cfg->lfr.ese_enabled;
|
||||||
#endif
|
#endif
|
||||||
pProfile->MDID.mdiePresent = pBssDescription->mdiePresent;
|
pProfile->MDID.mdiePresent = pBssDescription->mdiePresent;
|
||||||
if (csr_is_profile11r(mac, pProfile)
|
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,
|
qdf_mem_copy(req_buf->R0KH_ID,
|
||||||
session->ftSmeContext.r0kh_id,
|
session->ftSmeContext.r0kh_id,
|
||||||
req_buf->R0KH_ID_Length);
|
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->RoamRssiCatGap = mac_ctx->roam.configParam.bCatRssiOffset;
|
||||||
req_buf->Select5GHzMargin = mac_ctx->mlme_cfg->gen.select_5ghz_margin;
|
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;
|
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))
|
if (!csr_check_band_channel_match(band, *ch_lst))
|
||||||
continue;
|
continue;
|
||||||
/* Allow DFS channels only if the DFS roaming is enabled */
|
/* Allow DFS channels only if the DFS roaming is enabled */
|
||||||
if ((!mac_ctx->roam.configParam.allowDFSChannelRoam ||
|
if (((mac_ctx->mlme_cfg->lfr.roaming_dfs_channel !=
|
||||||
(mac_ctx->roam.configParam.sta_roam_policy.dfs_mode ==
|
ROAMING_DFS_CHANNEL_DISABLED) ||
|
||||||
|
(mac_ctx->roam.configParam.sta_roam_policy.dfs_mode ==
|
||||||
CSR_STA_ROAM_POLICY_DFS_DISABLED)) &&
|
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,
|
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
|
||||||
("ignoring dfs channel %d"), *ch_lst);
|
("ignoring dfs channel %d"), *ch_lst);
|
||||||
ch_lst++;
|
ch_lst++;
|
||||||
@@ -17961,10 +17862,11 @@ csr_fetch_ch_lst_from_occupied_lst(tpAniSirGlobal mac_ctx,
|
|||||||
sizeof(unsafe_chan));
|
sizeof(unsafe_chan));
|
||||||
for (i = 0; i < mac_ctx->scan.occupiedChannels[session_id].numChannels;
|
for (i = 0; i < mac_ctx->scan.occupiedChannels[session_id].numChannels;
|
||||||
i++) {
|
i++) {
|
||||||
if ((!mac_ctx->roam.configParam.allowDFSChannelRoam ||
|
if (((mac_ctx->mlme_cfg->lfr.roaming_dfs_channel !=
|
||||||
(mac_ctx->roam.configParam.sta_roam_policy.dfs_mode ==
|
ROAMING_DFS_CHANNEL_DISABLED) ||
|
||||||
|
(mac_ctx->roam.configParam.sta_roam_policy.dfs_mode ==
|
||||||
CSR_STA_ROAM_POLICY_DFS_DISABLED)) &&
|
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,
|
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
|
||||||
("ignoring dfs channel %d"), *ch_lst);
|
("ignoring dfs channel %d"), *ch_lst);
|
||||||
ch_lst++;
|
ch_lst++;
|
||||||
@@ -17995,7 +17897,7 @@ csr_fetch_ch_lst_from_occupied_lst(tpAniSirGlobal mac_ctx,
|
|||||||
if (*ch_lst)
|
if (*ch_lst)
|
||||||
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
|
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
|
||||||
"DFSRoam=%d, ChnlState=%d, Chnl=%d, num_ch=%d",
|
"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,
|
wlan_reg_get_channel_state(mac_ctx->pdev,
|
||||||
*ch_lst),
|
*ch_lst),
|
||||||
*ch_lst,
|
*ch_lst,
|
||||||
@@ -18070,10 +17972,11 @@ csr_fetch_valid_ch_lst(tpAniSirGlobal mac_ctx,
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((!mac_ctx->roam.configParam.allowDFSChannelRoam ||
|
if (((mac_ctx->mlme_cfg->lfr.roaming_dfs_channel !=
|
||||||
(mac_ctx->roam.configParam.sta_roam_policy.dfs_mode ==
|
ROAMING_DFS_CHANNEL_DISABLED) ||
|
||||||
|
(mac_ctx->roam.configParam.sta_roam_policy.dfs_mode ==
|
||||||
CSR_STA_ROAM_POLICY_DFS_DISABLED)) &&
|
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,
|
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
|
||||||
("ignoring dfs channel %d"), *ch_lst);
|
("ignoring dfs channel %d"), *ch_lst);
|
||||||
ch_lst++;
|
ch_lst++;
|
||||||
@@ -18175,7 +18078,7 @@ csr_create_roam_scan_offload_request(tpAniSirGlobal mac_ctx,
|
|||||||
roam_info->b_roam_scan_offload_started;
|
roam_info->b_roam_scan_offload_started;
|
||||||
} else {
|
} else {
|
||||||
req_buf->RoamScanOffloadEnabled =
|
req_buf->RoamScanOffloadEnabled =
|
||||||
mac_ctx->roam.configParam.isRoamOffloadScanEnabled;
|
mac_ctx->mlme_cfg->lfr.roam_scan_offload_enabled;
|
||||||
}
|
}
|
||||||
qdf_mem_copy(req_buf->ConnectedNetwork.currAPbssid,
|
qdf_mem_copy(req_buf->ConnectedNetwork.currAPbssid,
|
||||||
roam_info->currAPbssid.bytes, sizeof(struct qdf_mac_addr));
|
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;
|
roam_info->cfgParams.nOpportunisticThresholdDiff;
|
||||||
req_buf->RoamRescanRssiDiff =
|
req_buf->RoamRescanRssiDiff =
|
||||||
roam_info->cfgParams.nRoamRescanRssiDiff;
|
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 =
|
req_buf->rssi_abs_thresh =
|
||||||
mac_ctx->mlme_cfg->lfr.roam_rssi_abs_threshold;
|
mac_ctx->mlme_cfg->lfr.roam_rssi_abs_threshold;
|
||||||
req_buf->reason = reason;
|
req_buf->reason = reason;
|
||||||
@@ -18322,8 +18225,8 @@ csr_create_roam_scan_offload_request(tpAniSirGlobal mac_ctx,
|
|||||||
mac_ctx->roam.roamSession[session_id].
|
mac_ctx->roam.roamSession[session_id].
|
||||||
connectedProfile.MDID.mobilityDomain;
|
connectedProfile.MDID.mobilityDomain;
|
||||||
req_buf->sessionId = session_id;
|
req_buf->sessionId = session_id;
|
||||||
req_buf->nProbes = mac_ctx->roam.configParam.nProbes;
|
req_buf->nProbes = mac_ctx->mlme_cfg->lfr.roam_scan_n_probes;
|
||||||
req_buf->HomeAwayTime = mac_ctx->roam.configParam.nRoamScanHomeAwayTime;
|
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)),
|
* 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,
|
dot11_mode = (uint8_t) csr_translate_to_wni_cfg_dot11_mode(mac_ctx,
|
||||||
csr_find_best_phy_mode(mac_ctx,
|
csr_find_best_phy_mode(mac_ctx,
|
||||||
mac_ctx->roam.configParam.phyMode));
|
mac_ctx->roam.configParam.phyMode));
|
||||||
req_buf->allowDFSChannelRoam =
|
req_buf->allowDFSChannelRoam = (eSirDFSRoamScanMode)
|
||||||
mac_ctx->roam.configParam.allowDFSChannelRoam;
|
mac_ctx->mlme_cfg->lfr.roaming_dfs_channel;
|
||||||
req_buf->early_stop_scan_enable =
|
req_buf->early_stop_scan_enable =
|
||||||
mac_ctx->mlme_cfg->lfr.early_stop_scan_enable;
|
mac_ctx->mlme_cfg->lfr.early_stop_scan_enable;
|
||||||
req_buf->early_stop_scan_min_threshold =
|
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);
|
tspec_ie = (ese_wmm_tspec_ie *)(tspec_ie_buf + SIR_MAC_OUI_WME_HDR_MIN);
|
||||||
if (csr_is_wmm_supported(mac_ctx) &&
|
if (csr_is_wmm_supported(mac_ctx) &&
|
||||||
mac_ctx->roam.configParam.isEseIniFeatureEnabled &&
|
mac_ctx->mlme_cfg->lfr.ese_enabled &&
|
||||||
csr_roam_is_ese_assoc(mac_ctx, session->sessionId)) {
|
csr_roam_is_ese_assoc(mac_ctx, session->sessionId)) {
|
||||||
ese_tspec.numTspecs = sme_qos_ese_retrieve_tspec_info(mac_ctx,
|
ese_tspec.numTspecs = sme_qos_ese_retrieve_tspec_info(mac_ctx,
|
||||||
session->sessionId,
|
session->sessionId,
|
||||||
(tTspecInfo *) &ese_tspec.tspec[0]);
|
(tTspecInfo *) &ese_tspec.tspec[0]);
|
||||||
@@ -18883,7 +18786,7 @@ static void csr_update_driver_assoc_ies(tpAniSirGlobal mac_ctx,
|
|||||||
|
|
||||||
#ifdef FEATURE_WLAN_ESE
|
#ifdef FEATURE_WLAN_ESE
|
||||||
/* Append ESE version IE if isEseIniFeatureEnabled INI is enabled */
|
/* 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,
|
csr_append_assoc_ies(mac_ctx, req_buf, IEEE80211_ELEMID_VENDOR,
|
||||||
DOT11F_IE_ESEVERSION_MAX_LEN,
|
DOT11F_IE_ESEVERSION_MAX_LEN,
|
||||||
ese_ie);
|
ese_ie);
|
||||||
|
@@ -995,7 +995,7 @@ static void csr_neighbor_roam_info_ctx_init(
|
|||||||
if (csr_is_auth_type11r
|
if (csr_is_auth_type11r
|
||||||
(mac, session->connectedProfile.AuthType,
|
(mac, session->connectedProfile.AuthType,
|
||||||
session->connectedProfile.MDID.mdiePresent)) {
|
session->connectedProfile.MDID.mdiePresent)) {
|
||||||
if (mac->roam.configParam.isFastTransitionEnabled)
|
if (mac->mlme_cfg->lfr.fast_transition_enabled)
|
||||||
init_ft_flag = true;
|
init_ft_flag = true;
|
||||||
ngbr_roam_info->is11rAssoc = true;
|
ngbr_roam_info->is11rAssoc = true;
|
||||||
} else
|
} else
|
||||||
@@ -1006,7 +1006,7 @@ static void csr_neighbor_roam_info_ctx_init(
|
|||||||
#ifdef FEATURE_WLAN_ESE
|
#ifdef FEATURE_WLAN_ESE
|
||||||
/* Based on the auth scheme tell if we are 11r */
|
/* Based on the auth scheme tell if we are 11r */
|
||||||
if (session->connectedProfile.isESEAssoc) {
|
if (session->connectedProfile.isESEAssoc) {
|
||||||
if (mac->roam.configParam.isFastTransitionEnabled)
|
if (mac->mlme_cfg->lfr.fast_transition_enabled)
|
||||||
init_ft_flag = true;
|
init_ft_flag = true;
|
||||||
ngbr_roam_info->isESEAssoc = true;
|
ngbr_roam_info->isESEAssoc = true;
|
||||||
} else
|
} else
|
||||||
@@ -1226,53 +1226,44 @@ QDF_STATUS csr_neighbor_roam_init(tpAniSirGlobal mac, uint8_t sessionId)
|
|||||||
pNeighborRoamInfo->prevNeighborRoamState =
|
pNeighborRoamInfo->prevNeighborRoamState =
|
||||||
eCSR_NEIGHBOR_ROAM_STATE_CLOSED;
|
eCSR_NEIGHBOR_ROAM_STATE_CLOSED;
|
||||||
pNeighborRoamInfo->cfgParams.maxChannelScanTime =
|
pNeighborRoamInfo->cfgParams.maxChannelScanTime =
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
mac->mlme_cfg->lfr.neighbor_scan_max_chan_time;
|
||||||
nNeighborScanMaxChanTime;
|
|
||||||
pNeighborRoamInfo->cfgParams.minChannelScanTime =
|
pNeighborRoamInfo->cfgParams.minChannelScanTime =
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
mac->mlme_cfg->lfr.neighbor_scan_min_chan_time;
|
||||||
nNeighborScanMinChanTime;
|
|
||||||
pNeighborRoamInfo->cfgParams.neighborLookupThreshold =
|
pNeighborRoamInfo->cfgParams.neighborLookupThreshold =
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
mac->mlme_cfg->lfr.neighbor_lookup_rssi_threshold;
|
||||||
nNeighborLookupRssiThreshold;
|
|
||||||
pNeighborRoamInfo->cfgParams.rssi_thresh_offset_5g =
|
pNeighborRoamInfo->cfgParams.rssi_thresh_offset_5g =
|
||||||
mac->mlme_cfg->lfr.rssi_threshold_offset_5g;
|
mac->mlme_cfg->lfr.rssi_threshold_offset_5g;
|
||||||
pNeighborRoamInfo->cfgParams.delay_before_vdev_stop =
|
pNeighborRoamInfo->cfgParams.delay_before_vdev_stop =
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
mac->mlme_cfg->lfr.delay_before_vdev_stop;
|
||||||
delay_before_vdev_stop;
|
|
||||||
pNeighborRoamInfo->cfgParams.nOpportunisticThresholdDiff =
|
pNeighborRoamInfo->cfgParams.nOpportunisticThresholdDiff =
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
mac->mlme_cfg->lfr.opportunistic_scan_threshold_diff;
|
||||||
nOpportunisticThresholdDiff;
|
|
||||||
pNeighborRoamInfo->cfgParams.nRoamRescanRssiDiff =
|
pNeighborRoamInfo->cfgParams.nRoamRescanRssiDiff =
|
||||||
mac->roam.configParam.neighborRoamConfig.nRoamRescanRssiDiff;
|
mac->mlme_cfg->lfr.roam_rescan_rssi_diff;
|
||||||
pNeighborRoamInfo->cfgParams.nRoamBmissFirstBcnt =
|
pNeighborRoamInfo->cfgParams.nRoamBmissFirstBcnt =
|
||||||
mac->roam.configParam.neighborRoamConfig.nRoamBmissFirstBcnt;
|
mac->mlme_cfg->lfr.roam_bmiss_first_bcnt;
|
||||||
pNeighborRoamInfo->cfgParams.nRoamBmissFinalBcnt =
|
pNeighborRoamInfo->cfgParams.nRoamBmissFinalBcnt =
|
||||||
mac->roam.configParam.neighborRoamConfig.nRoamBmissFinalBcnt;
|
mac->mlme_cfg->lfr.roam_bmiss_final_bcnt;
|
||||||
pNeighborRoamInfo->cfgParams.nRoamBeaconRssiWeight =
|
pNeighborRoamInfo->cfgParams.nRoamBeaconRssiWeight =
|
||||||
mac->roam.configParam.neighborRoamConfig.nRoamBeaconRssiWeight;
|
mac->mlme_cfg->lfr.roam_beacon_rssi_weight;
|
||||||
pNeighborRoamInfo->cfgParams.neighborScanPeriod =
|
pNeighborRoamInfo->cfgParams.neighborScanPeriod =
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
mac->mlme_cfg->lfr.neighbor_scan_timer_period;
|
||||||
nNeighborScanTimerPeriod;
|
|
||||||
pNeighborRoamInfo->cfgParams.neighbor_scan_min_period =
|
pNeighborRoamInfo->cfgParams.neighbor_scan_min_period =
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
mac->mlme_cfg->lfr.neighbor_scan_min_timer_period;
|
||||||
neighbor_scan_min_timer_period;
|
|
||||||
pNeighborRoamInfo->cfgParams.neighborResultsRefreshPeriod =
|
pNeighborRoamInfo->cfgParams.neighborResultsRefreshPeriod =
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
mac->mlme_cfg->lfr.neighbor_scan_results_refresh_period;
|
||||||
nNeighborResultsRefreshPeriod;
|
|
||||||
pNeighborRoamInfo->cfgParams.emptyScanRefreshPeriod =
|
pNeighborRoamInfo->cfgParams.emptyScanRefreshPeriod =
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
mac->mlme_cfg->lfr.empty_scan_refresh_period;
|
||||||
nEmptyScanRefreshPeriod;
|
|
||||||
|
|
||||||
pNeighborRoamInfo->cfgParams.channelInfo.numOfChannels =
|
pNeighborRoamInfo->cfgParams.channelInfo.numOfChannels =
|
||||||
mac->roam.configParam.neighborRoamConfig.neighborScanChanList.
|
mac->mlme_cfg->lfr.neighbor_scan_channel_list_num;
|
||||||
numChannels;
|
|
||||||
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
|
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
|
||||||
FL("number of channels: %u"),
|
FL("number of channels: %u"),
|
||||||
pNeighborRoamInfo->cfgParams.channelInfo.numOfChannels);
|
pNeighborRoamInfo->cfgParams.channelInfo.numOfChannels);
|
||||||
if (pNeighborRoamInfo->cfgParams.channelInfo.numOfChannels != 0) {
|
if (pNeighborRoamInfo->cfgParams.channelInfo.numOfChannels != 0) {
|
||||||
pNeighborRoamInfo->cfgParams.channelInfo.ChannelList =
|
pNeighborRoamInfo->cfgParams.channelInfo.ChannelList =
|
||||||
qdf_mem_malloc(mac->roam.configParam.neighborRoamConfig.
|
qdf_mem_malloc(mac->mlme_cfg->lfr.
|
||||||
neighborScanChanList.numChannels);
|
neighbor_scan_channel_list_num);
|
||||||
|
|
||||||
if (!pNeighborRoamInfo->cfgParams.channelInfo.ChannelList)
|
if (!pNeighborRoamInfo->cfgParams.channelInfo.ChannelList)
|
||||||
return QDF_STATUS_E_NOMEM;
|
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 */
|
/* Update the roam global structure from CFG */
|
||||||
qdf_mem_copy(pNeighborRoamInfo->cfgParams.channelInfo.ChannelList,
|
qdf_mem_copy(pNeighborRoamInfo->cfgParams.channelInfo.ChannelList,
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
mac->mlme_cfg->lfr.neighbor_scan_channel_list,
|
||||||
neighborScanChanList.channelList,
|
mac->mlme_cfg->lfr.neighbor_scan_channel_list_num);
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
|
||||||
neighborScanChanList.numChannels);
|
|
||||||
pNeighborRoamInfo->cfgParams.hi_rssi_scan_max_count =
|
pNeighborRoamInfo->cfgParams.hi_rssi_scan_max_count =
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
mac->mlme_cfg->lfr.roam_scan_hi_rssi_maxcount;
|
||||||
nhi_rssi_scan_max_count;
|
|
||||||
pNeighborRoamInfo->cfgParams.hi_rssi_scan_rssi_delta =
|
pNeighborRoamInfo->cfgParams.hi_rssi_scan_rssi_delta =
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
mac->mlme_cfg->lfr.roam_scan_hi_rssi_delta;
|
||||||
nhi_rssi_scan_rssi_delta;
|
|
||||||
pNeighborRoamInfo->cfgParams.hi_rssi_scan_delay =
|
pNeighborRoamInfo->cfgParams.hi_rssi_scan_delay =
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
mac->mlme_cfg->lfr.roam_scan_hi_rssi_delay;
|
||||||
nhi_rssi_scan_delay;
|
|
||||||
pNeighborRoamInfo->cfgParams.hi_rssi_scan_rssi_ub =
|
pNeighborRoamInfo->cfgParams.hi_rssi_scan_rssi_ub =
|
||||||
mac->roam.configParam.neighborRoamConfig.
|
mac->mlme_cfg->lfr.roam_scan_hi_rssi_ub;
|
||||||
nhi_rssi_scan_rssi_ub;
|
|
||||||
|
|
||||||
qdf_zero_macaddr(&pNeighborRoamInfo->currAPbssid);
|
qdf_zero_macaddr(&pNeighborRoamInfo->currAPbssid);
|
||||||
pNeighborRoamInfo->currentNeighborLookupThreshold =
|
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) &&
|
if ((self_sta_req->type == WMI_VDEV_TYPE_STA) &&
|
||||||
(self_sta_req->sub_type == 0))
|
(self_sta_req->sub_type == 0))
|
||||||
wma_roam_scan_bmiss_cnt(wma_handle,
|
wma_roam_scan_bmiss_cnt(wma_handle,
|
||||||
mac->roam.configParam.neighborRoamConfig.nRoamBmissFirstBcnt,
|
mac->mlme_cfg->lfr.roam_bmiss_first_bcnt,
|
||||||
mac->roam.configParam.neighborRoamConfig.nRoamBmissFinalBcnt,
|
mac->mlme_cfg->lfr.roam_bmiss_final_bcnt,
|
||||||
self_sta_req->session_id);
|
self_sta_req->session_id);
|
||||||
|
|
||||||
if (wlan_cfg_get_int(mac, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED,
|
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 "wlan_cp_stats_mc_ucfg_api.h"
|
||||||
#include "cfg_nan_api.h"
|
#include "cfg_nan_api.h"
|
||||||
#include "wlan_mlme_api.h"
|
#include "wlan_mlme_api.h"
|
||||||
|
#include "wlan_mlme_ucfg_api.h"
|
||||||
|
|
||||||
#define WMA_LOG_COMPLETION_TIMER 3000 /* 3 seconds */
|
#define WMA_LOG_COMPLETION_TIMER 3000 /* 3 seconds */
|
||||||
#define WMI_TLV_HEADROOM 128
|
#define WMI_TLV_HEADROOM 128
|
||||||
@@ -3183,6 +3184,7 @@ QDF_STATUS wma_open(struct wlan_objmgr_psoc *psoc,
|
|||||||
void *cds_context;
|
void *cds_context;
|
||||||
target_resource_config *wlan_res_cfg;
|
target_resource_config *wlan_res_cfg;
|
||||||
enum pmo_wow_enable_type wow_enable;
|
enum pmo_wow_enable_type wow_enable;
|
||||||
|
uint8_t delay_before_vdev_stop;
|
||||||
|
|
||||||
WMA_LOGD("%s: Enter", __func__);
|
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) {
|
for (i = 0; i < wma_handle->max_bssid; ++i) {
|
||||||
wma_vdev_init(&wma_handle->interfaces[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 =
|
wma_handle->interfaces[i].delay_before_vdev_stop =
|
||||||
cds_cfg->delay_before_vdev_stop;
|
delay_before_vdev_stop;
|
||||||
}
|
}
|
||||||
/* Register the debug print event handler */
|
/* Register the debug print event handler */
|
||||||
wmi_unified_register_event_handler(wma_handle->wmi_handle,
|
wmi_unified_register_event_handler(wma_handle->wmi_handle,
|
||||||
|
Reference in New Issue
Block a user