From ca416ff63ac9513302489e2b7c76c0c7b8b37e4e Mon Sep 17 00:00:00 2001 From: Wu Gao Date: Mon, 17 Sep 2018 11:05:07 +0800 Subject: [PATCH] qcacld-3.0: Apply mlme lfr configuraions Since refined mlme lfr configures based on converged cfg component, apply mlme lfr configurations, remove related legacy codes. Change-Id: Iebda5bbb3c5c68b922b7f6ac1adaf25cccf903a6 CRs-Fixed: 2316494 --- core/hdd/inc/wlan_hdd_cfg.h | 731 ------------------ core/hdd/inc/wlan_hdd_main.h | 8 +- core/hdd/src/wlan_hdd_cfg.c | 365 +-------- core/hdd/src/wlan_hdd_main.c | 45 +- core/mac/inc/ani_global.h | 1 - core/mac/inc/sir_api.h | 4 +- core/mac/inc/wni_cfg.h | 5 - core/mac/src/cfg/cfgUtil/cfg.txt | 8 - core/mac/src/cfg/cfg_param_name.c | 1 - core/mac/src/cfg/cfg_proc_msg.c | 6 - core/mac/src/pe/lim/lim_admit_control.c | 4 +- core/mac/src/pe/lim/lim_ft.c | 4 +- core/mac/src/pe/lim/lim_process_auth_frame.c | 5 +- .../src/pe/lim/lim_process_mlm_req_messages.c | 5 +- core/mac/src/pe/lim/lim_timer_utils.c | 4 +- core/sme/inc/csr_api.h | 15 +- core/sme/inc/csr_internal.h | 14 - core/sme/inc/csr_neighbor_roam.h | 1 - core/sme/inc/sme_api.h | 11 - core/sme/src/common/sme_api.c | 87 +-- core/sme/src/csr/csr_api_roam.c | 228 ++---- core/sme/src/csr/csr_neighbor_roam.c | 6 +- 22 files changed, 117 insertions(+), 1441 deletions(-) diff --git a/core/hdd/inc/wlan_hdd_cfg.h b/core/hdd/inc/wlan_hdd_cfg.h index 088c9399055d..9511358620f4 100644 --- a/core/hdd/inc/wlan_hdd_cfg.h +++ b/core/hdd/inc/wlan_hdd_cfg.h @@ -889,114 +889,6 @@ enum hdd_dot11_mode { #define CFG_CHANNEL_PREDICTION_FULL_SCAN_MS_MAX (0x7fffffff) #define CFG_CHANNEL_PREDICTION_FULL_SCAN_MS_DEFAULT (60000) -/* - * - * gEnableEarlyStopScan - Set early stop scan - * @Min: 0 - * @Max: 1 - * @Default: 1 - * - * This ini is used to set early stop scan. Early stop - * scan is a feature for roaming to stop the scans at - * an early stage as soon as we find a better AP to roam. - * This would make the roaming happen quickly. - * - * Related: None - * - * Supported Feature: LFR Scan - * - * Usage: External - * - * - */ -#define CFG_EARLY_STOP_SCAN_ENABLE "gEnableEarlyStopScan" -#define CFG_EARLY_STOP_SCAN_ENABLE_MIN (0) -#define CFG_EARLY_STOP_SCAN_ENABLE_MAX (1) -#define CFG_EARLY_STOP_SCAN_ENABLE_DEFAULT (1) - -/* - * - * gEarlyStopScanMinThreshold - Set early stop scan min - * threshold - * @Min: -80 - * @Max: -70 - * @Default: -73 - * - * This ini is used to set the early stop scan minimum - * threshold. Early stop scan minimum threshold is the - * minimum threshold to be considered for stopping the - * scan. The algorithm starts with a scan on the greedy - * channel list with the maximum threshold and steps down - * the threshold by 20% for each further channel. It can - * step down on each channel but cannot go lower than the - * minimum threshold. - * - * Related: None - * - * Supported Feature: Scan - * - * Usage: External - * - * - */ -#define CFG_EARLY_STOP_SCAN_MIN_THRESHOLD "gEarlyStopScanMinThreshold" -#define CFG_EARLY_STOP_SCAN_MIN_THRESHOLD_MIN (-80) -#define CFG_EARLY_STOP_SCAN_MIN_THRESHOLD_MAX (-70) -#define CFG_EARLY_STOP_SCAN_MIN_THRESHOLD_DEFAULT (-73) - -/* - * - * gEarlyStopScanMaxThreshold - Set early stop scan max - * threshold - * @Min: -60 - * @Max: -40 - * @Default: -43 - * - * This ini is used to set the the early stop scan maximum - * threshold at which the candidate AP should be to be - * qualified as a potential roam candidate and good enough - * to stop the roaming scan. - * - * Related: None - * - * Supported Feature: Scan - * - * Usage: External - * - * - */ -#define CFG_EARLY_STOP_SCAN_MAX_THRESHOLD "gEarlyStopScanMaxThreshold" -#define CFG_EARLY_STOP_SCAN_MAX_THRESHOLD_MIN (-60) -#define CFG_EARLY_STOP_SCAN_MAX_THRESHOLD_MAX (-40) -#define CFG_EARLY_STOP_SCAN_MAX_THRESHOLD_DEFAULT (-43) - -/* - * - * gFirstScanBucketThreshold - Set first scan bucket - * threshold - * @Min: -50 - * @Max: -30 - * @Default: -30 - * - * This ini will configure the first scan bucket - * threshold to the mentioned value and all the AP's which - * have RSSI under this threshold will fall under this - * bucket. This configuration item used to tweak and - * test the input for internal algorithm. - * - * Related: None - * - * Supported Feature: Scan - * - * Usage: Internal - * - * - */ -#define CFG_FIRST_SCAN_BUCKET_THRESHOLD_NAME "gFirstScanBucketThreshold" -#define CFG_FIRST_SCAN_BUCKET_THRESHOLD_MIN (-50) -#define CFG_FIRST_SCAN_BUCKET_THRESHOLD_MAX (-30) -#define CFG_FIRST_SCAN_BUCKET_THRESHOLD_DEFAULT (-30) - /* * * gbug_report_for_scan_results - Enable bug report @@ -1332,29 +1224,6 @@ enum hdd_dot11_mode { #define CFG_ROAM_RSSI_DIFF_MAX (30) #define CFG_ROAM_RSSI_DIFF_DEFAULT (5) -/* - * - * rssi_abs_thresh - The min RSSI of the candidate AP to consider roam - * @Min: -96 - * @Max: 0 - * @Default: 0 - * - * The RSSI value of the candidate AP should be higher than rssi_abs_thresh - * to roam to the AP. 0 means no absolute minimum RSSI is required. - * - * Related: None - * - * Supported Feature: Roaming - * - * Usage: External - * - * - */ -#define CFG_ROAM_RSSI_ABS_THRESHOLD_NAME "rssi_abs_thresh" -#define CFG_ROAM_RSSI_ABS_THRESHOLD_MIN (-96) -#define CFG_ROAM_RSSI_ABS_THRESHOLD_MAX (0) -#define CFG_ROAM_RSSI_ABS_THRESHOLD_DEFAULT (0) - /* * * gRoamScanNProbes - Sets the number of probes to be sent for firmware roaming @@ -1563,30 +1432,6 @@ enum hdd_dot11_mode { #define CFG_STRICT_5GHZ_PREF_BY_MARGIN_MAX (60) #define CFG_STRICT_5GHZ_PREF_BY_MARGIN_DEFAULT (0) -#ifdef WLAN_FEATURE_ROAM_OFFLOAD -/* - * - * gRoamOffloadEnabled - enable/disable roam offload feature - * @Min: 0 - * @Max: 1 - * @Default: 1 - * - * This INI is used to enable/disable roam offload feature - * - * Related: None - * - * Supported Feature: Roaming - * - * Usage: External - * - * - */ -#define CFG_ROAMING_OFFLOAD_NAME "gRoamOffloadEnabled" -#define CFG_ROAMING_OFFLOAD_MIN (0) -#define CFG_ROAMING_OFFLOAD_MAX (1) -#define CFG_ROAMING_OFFLOAD_DEFAULT (1) -#endif - /* * * gRoamScanHiRssiMaxCount - Sets 5GHz maximum scan count @@ -1706,30 +1551,6 @@ enum hdd_dot11_mode { #define CFG_ENABLE_LFR_SUBNET_DEFAULT (1) #endif /* FEATURE_LFR_SUBNET_DETECTION */ -/* - * - * groam_dense_rssi_thresh_offset - Sets dense roam RSSI threshold diff - * @Min: 0 - * @Max: 20 - * @Default: 10 - * - * This INI is used to set offset value from normal RSSI threshold to dense - * RSSI threshold Fw will optimize roaming based on new RSSI threshold once - * it detects dense enviournment. - * - * Related: None - * - * Supported Feature: Roaming - * - * Usage: External - * - * - */ -#define CFG_ROAM_DENSE_RSSI_THRE_OFFSET "groam_dense_rssi_thresh_offset" -#define CFG_ROAM_DENSE_RSSI_THRE_OFFSET_MIN (0) -#define CFG_ROAM_DENSE_RSSI_THRE_OFFSET_MAX (20) -#define CFG_ROAM_DENSE_RSSI_THRE_OFFSET_DEFAULT (10) - /* * * enable_ftopen - enable/disable FT open feature @@ -1752,90 +1573,6 @@ enum hdd_dot11_mode { #define CFG_ROAM_FT_OPEN_ENABLE_MAX (1) #define CFG_ROAM_FT_OPEN_ENABLE_DEFAULT (1) -/* - * - * groam_dense_min_aps - Sets minimum number of AP for dense roam - * @Min: 1 - * @Max: 5 - * @Default: 3 - * - * Minimum number of APs required for dense roam. FW will consider - * environment as dense once it detects #APs operating is more than - * groam_dense_min_aps. - * - * Related: None - * - * Supported Feature: Roaming - * - * Usage: External - * - * - */ -#define CFG_ROAM_DENSE_MIN_APS "groam_dense_min_aps" -#define CFG_ROAM_DENSE_MIN_APS_MIN (1) -#define CFG_ROAM_DENSE_MIN_APS_MAX (5) -#define CFG_ROAM_DENSE_MIN_APS_DEFAULT (3) - -/* - * - * roam_bg_scan_bad_rssi_thresh - RSSI threshold for background roam - * @Min: -96 - * @Max: 0 - * @Default: -76 - * - * If the DUT is connected to an AP with weak signal, then the bad RSSI - * threshold will be used as an opportunity to use the scan results - * from other scan clients and try to roam if there is a better AP - * available in the environment. - * - * Related: None - * - * Supported Feature: Roaming - * - * Usage: External - * - * - */ -#define CFG_ROAM_BG_SCAN_BAD_RSSI_THRESHOLD_NAME "roam_bg_scan_bad_rssi_thresh" -#define CFG_ROAM_BG_SCAN_BAD_RSSI_THRESHOLD_MIN (-96) -#define CFG_ROAM_BG_SCAN_BAD_RSSI_THRESHOLD_MAX (0) -#define CFG_ROAM_BG_SCAN_BAD_RSSI_THRESHOLD_DEFAULT (-76) - -/* - * - * roam_bg_scan_client_bitmap - Bitmap used to identify the scan clients - * @Min: 0 - * @Max: 0x3FF - * @Default: 0x - * - * This bitmap is used to define the client scans that need to be used - * by the roaming module to perform a background roaming. - * Currently supported bit positions are as follows: - * Bit 0 is reserved in the firmware. - * WMI_SCAN_CLIENT_NLO - 1 - * WMI_SCAN_CLIENT_EXTSCAN - 2 - * WMI_SCAN_CLIENT_ROAM - 3 - * WMI_SCAN_CLIENT_P2P - 4 - * WMI_SCAN_CLIENT_LPI - 5 - * WMI_SCAN_CLIENT_NAN - 6 - * WMI_SCAN_CLIENT_ANQP - 7 - * WMI_SCAN_CLIENT_OBSS - 8 - * WMI_SCAN_CLIENT_PLM - 9 - * WMI_SCAN_CLIENT_HOST - 10 - * - * Related: None - * - * Supported Feature: Roaming - * - * Usage: External - * - * - */ -#define CFG_ROAM_BG_SCAN_CLIENT_BITMAP_NAME "roam_bg_scan_client_bitmap" -#define CFG_ROAM_BG_SCAN_CLIENT_BITMAP_MIN (0) -#define CFG_ROAM_BG_SCAN_CLIENT_BITMAP_MAX (0x7FF) -#define CFG_ROAM_BG_SCAN_CLIENT_BITMAP_DEFAULT (0x424) - /* * * min_delay_btw_roam_scans - Min duration (in sec) allowed btw two @@ -1979,35 +1716,6 @@ enum hdd_dot11_mode { #define CFG_ROAM_FORCE_RSSI_TRIGGER_MAX (1) #define CFG_ROAM_FORCE_RSSI_TRIGGER_DEFAULT (1) -/* - * - * roamscan_adaptive_dwell_mode - Sets dwell time adaptive mode - * @Min: 0 - * @Max: 4 - * @Default: 1 - * - * This parameter will set the algo used in dwell time optimization during - * roam scan. see enum scan_dwelltime_adaptive_mode. - * Acceptable values for this: - * 0: Default (Use firmware default mode) - * 1: Conservative optimization - * 2: Moderate optimization - * 3: Aggressive optimization - * 4: Static - * - * Related: None - * - * Supported Feature: Roaming - * - * Usage: External - * - * - */ -#define CFG_ADAPTIVE_ROAMSCAN_DWELL_MODE_NAME "roamscan_adaptive_dwell_mode" -#define CFG_ADAPTIVE_ROAMSCAN_DWELL_MODE_MIN (0) -#define CFG_ADAPTIVE_ROAMSCAN_DWELL_MODE_MAX (4) -#define CFG_ADAPTIVE_ROAMSCAN_DWELL_MODE_DEFAULT (1) - /* * Timer waiting for interface up from the upper layer. If * this timer expires all the cds modules shall be closed. @@ -4002,119 +3710,6 @@ enum station_keepalive_method { #define CFG_LFR_MAWC_FEATURE_ENABLED_MAX (1) #define CFG_LFR_MAWC_FEATURE_ENABLED_DEFAULT (0) -/* - * - * mawc_roam_enabled - Enable/Disable MAWC during roaming - * @Min: 0 - Disabled - * @Max: 1 - Enabled - * @Default: 0 - * - * This ini is used to control MAWC during roaming. - * - * Related: MAWCEnabled. - * - * Supported Feature: MAWC Roaming - * - * Usage: Internal/External - * - * - */ -#define CFG_MAWC_ROAM_ENABLED_NAME "mawc_roam_enabled" -#define CFG_MAWC_ROAM_ENABLED_MIN (0) -#define CFG_MAWC_ROAM_ENABLED_MAX (1) -#define CFG_MAWC_ROAM_ENABLED_DEFAULT (0) - -/* - * - * mawc_roam_traffic_threshold - Configure traffic threshold - * @Min: 0 - * @Max: 0xFFFFFFFF - * @Default: 300 - * - * This ini is used to configure the data traffic load in kBps to - * register CMC. - * - * Related: mawc_roam_enabled. - * - * Supported Feature: MAWC Roaming - * - * Usage: Internal/External - * - * - */ -#define CFG_MAWC_ROAM_TRAFFIC_THRESHOLD_NAME "mawc_roam_traffic_threshold" -#define CFG_MAWC_ROAM_TRAFFIC_THRESHOLD_MIN (0) -#define CFG_MAWC_ROAM_TRAFFIC_THRESHOLD_MAX (0xFFFFFFFF) -#define CFG_MAWC_ROAM_TRAFFIC_THRESHOLD_DEFAULT (300) - -/* - * - * mawc_roam_ap_rssi_threshold - Best AP RSSI threshold - * @Min: -120 - * @Max: 0 - * @Default: -66 - * - * This ini is used to specify the RSSI threshold to scan for the AP. - * - * Related: mawc_roam_enabled. - * - * Supported Feature: MAWC Roaming - * - * Usage: Internal/External - * - * - */ -#define CFG_MAWC_ROAM_AP_RSSI_THRESHOLD_NAME "mawc_roam_ap_rssi_threshold" -#define CFG_MAWC_ROAM_AP_RSSI_THRESHOLD_MIN (-120) -#define CFG_MAWC_ROAM_AP_RSSI_THRESHOLD_MAX (0) -#define CFG_MAWC_ROAM_AP_RSSI_THRESHOLD_DEFAULT (-66) - -/* - * - * mawc_roam_rssi_high_adjust - Adjust MAWC roam high RSSI - * @Min: 3 - * @Max: 5 - * @Default: 5 - * - * This ini is used for high RSSI threshold adjustment in stationary state - * to suppress the scan. - * - * Related: mawc_roam_enabled. - * - * Supported Feature: MAWC Roaming - * - * Usage: Internal/External - * - * - */ -#define CFG_MAWC_ROAM_RSSI_HIGH_ADJUST_NAME "mawc_roam_rssi_high_adjust" -#define CFG_MAWC_ROAM_RSSI_HIGH_ADJUST_MIN (3) -#define CFG_MAWC_ROAM_RSSI_HIGH_ADJUST_MAX (5) -#define CFG_MAWC_ROAM_RSSI_HIGH_ADJUST_DEFAULT (5) - -/* - * - * mawc_roam_rssi_high_adjust - Adjust MAWC roam low RSSI - * @Min: 3 - * @Max: 5 - * @Default: 5 - * - * This ini is used for low RSSI threshold adjustment in stationary state - * to suppress the scan. - * - * Related: mawc_roam_enabled. - * - * Supported Feature: MAWC Roaming - * - * Usage: Internal/External - * - * - */ -#define CFG_MAWC_ROAM_RSSI_LOW_ADJUST_NAME "mawc_roam_rssi_low_adjust" -#define CFG_MAWC_ROAM_RSSI_LOW_ADJUST_MIN (3) -#define CFG_MAWC_ROAM_RSSI_LOW_ADJUST_MAX (5) -#define CFG_MAWC_ROAM_RSSI_LOW_ADJUST_DEFAULT (5) - /*This parameter is used to set Wireless Extended Security Mode.*/ #define CFG_ENABLE_WES_MODE_NAME "gWESModeEnabled" #define CFG_ENABLE_WES_MODE_NAME_MIN (0) @@ -4207,39 +3802,6 @@ enum station_keepalive_method { #define CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MAX (120) #define CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_DEFAULT (78) -/* - * - * lookup_threshold_5g_offset - Lookup Threshold offset for 5G band - * @Min: -120 - * @Max: +120 - * @Default: 0 - * - * This ini is used to set the 5G band lookup threshold for roaming. - * It depends on another INI which is gNeighborLookupThreshold. - * gNeighborLookupThreshold is a legacy INI item which will be used to - * set the RSSI lookup threshold for both 2G and 5G bands. If the - * user wants to setup a different threshold for a 5G band, then user - * can use this offset value which will be summed up to the value of - * gNeighborLookupThreshold and used for 5G - * e.g: gNeighborLookupThreshold = -76dBm - * lookup_threshold_5g_offset = 6dBm - * Then the 5G band will be configured to -76+6 = -70dBm - * A default value of Zero to lookup_threshold_5g_offset will keep the - * thresholds same for both 2G and 5G bands - * - * Related: gNeighborLookupThreshold - * - * Supported Feature: Roaming - * - * Usage: Internal/External - * - * - */ -#define CFG_5G_RSSI_THRESHOLD_OFFSET_NAME "lookup_threshold_5g_offset" -#define CFG_5G_RSSI_THRESHOLD_OFFSET_MIN (-120) -#define CFG_5G_RSSI_THRESHOLD_OFFSET_MAX (120) -#define CFG_5G_RSSI_THRESHOLD_OFFSET_DEFAULT (0) - #define CFG_DELAY_BEFORE_VDEV_STOP_NAME "gDelayBeforeVdevStop" #define CFG_DELAY_BEFORE_VDEV_STOP_MIN (2) #define CFG_DELAY_BEFORE_VDEV_STOP_MAX (200) @@ -7733,16 +7295,6 @@ enum hdd_link_speed_rpt_type { #define CFG_SET_TSF_PTP_OPT_DEFAULT (0xf) #endif -/* - * Dense traffic threshold - * traffic threshold required for dense roam scan - * Measured in kbps - */ -#define CFG_ROAM_DENSE_TRAFFIC_THRESHOLD "gtraffic_threshold" -#define CFG_ROAM_DENSE_TRAFFIC_THRESHOLD_MIN (0) -#define CFG_ROAM_DENSE_TRAFFIC_THRESHOLD_MAX (0xffffffff) -#define CFG_ROAM_DENSE_TRAFFIC_THRESHOLD_DEFAULT (400) - /* * * gvendor_acs_support - vendor based channel selection manager @@ -8955,37 +8507,6 @@ enum hdd_wext_control { #define CFG_PRIVATE_WEXT_CONTROL_MAX (hdd_wext_enabled) #define CFG_PRIVATE_WEXT_CONTROL_DEFAULT (hdd_wext_deprecated) -/* - * - * gper_roam_mon_time - Minimum time required in seconds to - * be considered as valid scenario for PER based roam - * @Min: 5 - * @Max: 25 - * @Default: 25 - * - * This ini is used to define minimum time in seconds for which DUT has - * collected the PER stats before it can consider the stats hysteresis to be - * valid for PER based scan. - * DUT collects following information during this period: - * 1. % of packets below gper_roam_low_rate_th - * 2. # packets above gper_roam_high_rate_th - * if DUT gets (1) greater than gper_roam_th_percent and (2) is zero during - * this period, it triggers PER based roam scan. - * - * Related: gper_roam_enabled, gper_roam_high_rate_th, gper_roam_low_rate_th, - * gper_roam_th_percent, gper_roam_rest_time - * - * Supported Feature: LFR-3.0 - * - * Usage: Internal - * - * - */ -#define CFG_PER_ROAM_MONITOR_TIME "gper_roam_mon_time" -#define CFG_PER_ROAM_MONITOR_TIME_MIN (5) -#define CFG_PER_ROAM_MONITOR_TIME_MAX (25) -#define CFG_PER_ROAM_MONTIOR_TIME_DEFAULT (25) - /* * * gPowerUsage - Preferred Power Usage @@ -9008,32 +8529,6 @@ enum hdd_wext_control { #define CFG_POWER_USAGE_MAX "Max" #define CFG_POWER_USAGE_DEFAULT "Mod" - -/* - * - * gper_min_rssi_threshold_for_roam - Minimum roamable AP RSSI for - * candidate selection for PER based roam - * @Min: 0 - * @Max: 96 - * @Default: 83 - * - * Minimum roamable AP RSSI for candidate selection for PER based roam - * - * Related: gper_roam_enabled, gper_roam_high_rate_th, gper_roam_low_rate_th, - * gper_roam_th_percent, gper_roam_rest_time - * - * Supported Feature: LFR-3.0 - * - * Usage: Internal - * - * - */ -#define CFG_PER_ROAM_MIN_CANDIDATE_RSSI "gper_min_rssi_threshold_for_roam" -#define CFG_PER_ROAM_MIN_CANDIDATE_RSSI_MIN (0) -#define CFG_PER_ROAM_MIN_CANDIDATE_RSSI_MAX (96) -#define CFG_PER_ROAM_MIN_CANDIDATE_RSSI_DEFAULT (83) - - /* * * gEnableImps - Enable/Disable IMPS @@ -9518,140 +9013,6 @@ enum hdd_wext_control { #define CFG_EXTWOW_TCP_RX_TIMEOUT_DEFAULT (200) #endif -/* - * - * gper_roam_enabled - To enabled/disable PER based roaming in FW - * @Min: 0 - * @Max: 3 - * @Default: 0 - * - * This ini is used to enable/disable Packet error based roaming, enabling this - * will cause DUT to monitor Tx and Rx traffic and roam to a better candidate - * if current is not good enough. - * - * Values supported: - * 0: disabled - * 1: enabled for Rx traffic - * 2: enabled for Tx traffic - * 3: enabled for Tx and Rx traffic - * - * Related: gper_roam_high_rate_th, gper_roam_low_rate_th, - * gper_roam_th_percent, gper_roam_rest_time - * - * Supported Feature: LFR-3.0 - * - * Usage: Internal - * - * - */ -#define CFG_PER_ROAM_ENABLE_NAME "gper_roam_enabled" -#define CFG_PER_ROAM_ENABLE_MIN (0) -#define CFG_PER_ROAM_ENABLE_MAX (3) -#define CFG_PER_ROAM_ENABLE_DEFAULT (3) - -/* - * - * gper_roam_high_rate_th - Rate at which PER based roam will stop - * @Min: 1 Mbps - * @Max: 0xffffffff - * @Default: 40 Mbps - * - * This ini is used to define the data rate in mbps*10 at which FW will stop - * monitoring the traffic for PER based roam. - * - * Related: gper_roam_enabled, gper_roam_low_rate_th, - * gper_roam_th_percent, gper_roam_rest_time - * - * Supported Feature: LFR-3.0 - * - * Usage: Internal - * - * - */ -#define CFG_PER_ROAM_CONFIG_HIGH_RATE_TH_NAME "gper_roam_high_rate_th" -#define CFG_PER_ROAM_CONFIG_HIGH_RATE_TH_MIN (10) -#define CFG_PER_ROAM_CONFIG_HIGH_RATE_TH_MAX (0xffffffff) -#define CFG_PER_ROAM_CONFIG_HIGH_RATE_TH_DEFAULT (400) - -/* - * - * gper_roam_low_rate_th - Rate at which FW starts considering traffic for PER - * based roam. - * - * @Min: 1 Mbps - * @Max: 0xffffffff - * @Default: 20 Mbps - * - * This ini is used to define the rate in mbps*10 at which FW starts considering - * traffic for PER based roam, if gper_roam_th_percent of data is below this - * rate, FW will issue a roam scan. - * - * Related: gper_roam_enabled, gper_roam_high_rate_th, - * gper_roam_th_percent, gper_roam_rest_time - * - * Supported Feature: LFR-3.0 - * - * Usage: Internal - * - * - */ -#define CFG_PER_ROAM_CONFIG_LOW_RATE_TH_NAME "gper_roam_low_rate_th" -#define CFG_PER_ROAM_CONFIG_LOW_RATE_TH_MIN (10) -#define CFG_PER_ROAM_CONFIG_LOW_RATE_TH_MAX (0xffffffff) -#define CFG_PER_ROAM_CONFIG_LOW_RATE_TH_DEFAULT (200) - -/* - * - * gper_roam_th_percent - Percentage at which FW will issue a roam scan if - * traffic is below gper_roam_low_rate_th rate. - * - * @Min: 10% - * @Max: 100% - * @Default: 60% - * - * This ini is used to define the percentage at which FW will issue a roam scan - * if traffic is below gper_roam_low_rate_th rate. - * - * Related: gper_roam_enabled, gper_roam_high_rate_th, - * gper_roam_high_rate_th, gper_roam_rest_time - * - * Supported Feature: LFR-3.0 - * - * Usage: Internal - * - * - */ -#define CFG_PER_ROAM_CONFIG_RATE_TH_PERCENT_NAME "gper_roam_th_percent" -#define CFG_PER_ROAM_CONFIG_RATE_TH_PERCENT_MIN (10) -#define CFG_PER_ROAM_CONFIG_RATE_TH_PERCENT_MAX (100) -#define CFG_PER_ROAM_CONFIG_RATE_TH_PERCENT_DEFAULT (60) - -/* - * - * gper_roam_rest_time - Time for which FW will wait once it issues a - * roam scan. - * - * @Min: 10 seconds - * @Max: 3600 seconds - * @Default: 300 seconds - * - * This ini is used to define the time for which FW will wait once it issues a - * PER based roam scan. - * - * Related: gper_roam_enabled, gper_roam_high_rate_th, - * gper_roam_high_rate_th, gper_roam_th_percent - * - * Supported Feature: LFR-3.0 - * - * Usage: Internal - * - * - */ -#define CFG_PER_ROAM_REST_TIME_NAME "gper_roam_rest_time" -#define CFG_PER_ROAM_REST_TIME_MIN (10) -#define CFG_PER_ROAM_REST_TIME_MAX (3600) -#define CFG_PER_ROAM_REST_TIME_DEFAULT (300) - /* * * g_is_fils_enabled - Enable/Disable FILS support in driver @@ -10594,70 +9955,6 @@ enum hdd_external_acs_policy { #define CFG_OCE_ENABLE_SAP_MAX (1) #define CFG_OCE_ENABLE_SAP_DEFAULT (1) -/* - * - * groam_disallow_duration -disallow duration before roaming - * @Min: 0 - * @Max: 3600 - * @Default: 30 - * - * This ini is used to configure how long LCA[Last Connected AP] AP will - * be disallowed before it can be a roaming candidate again, in units of - * seconds. - * - * Related: LFR - * - * Usage: Internal - * - * - */ -#define CFG_ROAM_DISALLOW_DURATION_NAME "groam_disallow_duration" -#define CFG_ROAM_DISALLOW_DURATION_MIN (0) -#define CFG_ROAM_DISALLOW_DURATION_MAX (3600) -#define CFG_ROAM_DISALLOW_DURATION_DEFAULT (30) - -/* - * - * grssi_channel_penalization - RSSI penalization - * @Min: 0 - * @Max: 15 - * @Default: 5 - * - * This ini is used to configure RSSI that will be penalized if candidate(s) - * are found to be in the same channel as disallowed AP's, in units of db. - * - * Related: LFR - * - * Usage: Internal - * - * - */ -#define CFG_ROAM_RSSI_CHANNEL_PENALIZATION_NAME "grssi_channel_penalization" -#define CFG_ROAM_RSSI_CHANNEL_PENALIZATION_MIN (0) -#define CFG_ROAM_RSSI_CHANNEL_PENALIZATION_MAX (15) -#define CFG_ROAM_RSSI_CHANNEL_PENALIZATION_DEFAULT (5) - -/* - * - * groam_num_disallowed_aps - Max number of AP's to maintain in LCA list - * @Min: 0 - * @Max: 8 - * @Default: 3 - * - * This ini is used to set the maximum number of AP's to be maintained - * in LCA [Last Connected AP] list. - * - * Related: LFR - * - * Usage: Internal - * - * - */ -#define CFG_ROAM_NUM_DISALLOWED_APS_NAME "groam_num_disallowed_aps" -#define CFG_ROAM_NUM_DISALLOWED_APS_MIN (0) -#define CFG_ROAM_NUM_DISALLOWED_APS_MAX (8) -#define CFG_ROAM_NUM_DISALLOWED_APS_DEFAULT (3) - /* * * gEnableLPRx - Enable/Disable LPRx @@ -12930,7 +12227,6 @@ struct hdd_config { uint8_t neighborScanChanList[WNI_CFG_VALID_CHANNEL_LIST_LEN]; uint16_t nNeighborScanMinChanTime; uint16_t nNeighborScanMaxChanTime; - uint16_t nMaxNeighborReqTries; uint16_t nNeighborResultsRefreshPeriod; uint16_t nEmptyScanRefreshPeriod; uint8_t nRoamBmissFirstBcnt; @@ -12986,18 +12282,12 @@ struct hdd_config { uint32_t InfraUapsdBkSuspIntv; bool isFastRoamIniFeatureEnabled; bool MAWCEnabled; - bool mawc_roam_enabled; - uint32_t mawc_roam_traffic_threshold; - int8_t mawc_roam_ap_rssi_threshold; - uint8_t mawc_roam_rssi_high_adjust; - uint8_t mawc_roam_rssi_low_adjust; #ifdef FEATURE_WLAN_ESE uint32_t InfraInactivityInterval; bool isEseIniFeatureEnabled; #endif bool isFastTransitionEnabled; uint8_t RoamRssiDiff; - int32_t rssi_abs_thresh; bool isWESModeEnabled; bool isRoamOffloadScanEnabled; bool bImplicitQosEnabled; @@ -13309,10 +12599,6 @@ struct hdd_config { int32_t dfsRadarPriMultiplier; uint8_t reorderOffloadSupport; -#ifdef WLAN_FEATURE_ROAM_OFFLOAD - bool isRoamOffloadEnabled; -#endif - uint32_t IpaUcTxBufCount; uint32_t IpaUcTxBufSize; uint32_t IpaUcRxIndRingCount; @@ -13421,11 +12707,6 @@ struct hdd_config { uint8_t tsf_ptp_options; #endif /* WLAN_FEATURE_TSF_PLUS */ #endif - uint32_t roam_dense_traffic_thresh; - uint32_t roam_dense_rssi_thresh_offset; - uint32_t roam_dense_min_aps; - int8_t roam_bg_scan_bad_rssi_thresh; - uint8_t roam_bad_rssi_thresh_offset_2g; uint32_t ho_delay_for_rx; uint32_t min_delay_btw_roam_scans; uint32_t roam_trigger_reason_bitmask; @@ -13462,7 +12743,6 @@ struct hdd_config { bool adaptive_dwell_mode_enabled; enum scan_dwelltime_adaptive_mode scan_adaptive_dwell_mode; enum scan_dwelltime_adaptive_mode scan_adaptive_dwell_mode_nc; - enum scan_dwelltime_adaptive_mode roamscan_adaptive_dwell_mode; enum scan_dwelltime_adaptive_mode extscan_adaptive_dwell_mode; enum scan_dwelltime_adaptive_mode pnoscan_adaptive_dwell_mode; enum scan_dwelltime_adaptive_mode global_adapt_dwelltime_mode; @@ -13502,13 +12782,6 @@ struct hdd_config { bool sap_internal_restart; enum restart_beaconing_on_ch_avoid_rule restart_beaconing_on_chan_avoid_event; - uint8_t is_per_roam_enabled; - uint32_t per_roam_high_rate_threshold; - uint32_t per_roam_low_rate_threshold; - uint32_t per_roam_th_percent; - uint32_t per_roam_rest_time; - uint32_t per_roam_mon_time; - uint32_t min_candidate_rssi; enum active_apf_mode active_uc_apf_mode; enum active_apf_mode active_mc_bc_apf_mode; bool enable_bcast_probe_rsp; @@ -13555,10 +12828,6 @@ struct hdd_config { uint8_t max_mpdus_inampdu; enum pmo_auto_pwr_detect_failure_mode auto_pwr_save_fail_mode; uint8_t ito_repeat_count; - /* LCA(Last connected AP) disallow configs */ - uint32_t disallow_duration; - uint32_t rssi_channel_penalization; - uint32_t num_disallowed_aps; bool oce_sta_enabled; bool oce_sap_enabled; bool enable_11d_in_world_mode; diff --git a/core/hdd/inc/wlan_hdd_main.h b/core/hdd/inc/wlan_hdd_main.h index d23e0f965db2..5de83d56746b 100644 --- a/core/hdd/inc/wlan_hdd_main.h +++ b/core/hdd/inc/wlan_hdd_main.h @@ -95,6 +95,7 @@ #include "wlan_hdd_nud_tracking.h" #include "wlan_hdd_twt.h" #include "wma_sar_public_structs.h" +#include "wlan_mlme_ucfg_api.h" /* * Preprocessor definitions and constants @@ -2371,7 +2372,12 @@ int wlan_hdd_scan_abort(struct hdd_adapter *adapter); #ifdef WLAN_FEATURE_ROAM_OFFLOAD static inline bool roaming_offload_enabled(struct hdd_context *hdd_ctx) { - return hdd_ctx->config->isRoamOffloadEnabled; + bool is_roam_offload; + + ucfg_mlme_get_roaming_offload(hdd_ctx->hdd_psoc, + &is_roam_offload); + + return is_roam_offload; } #else static inline bool roaming_offload_enabled(struct hdd_context *hdd_ctx) diff --git a/core/hdd/src/wlan_hdd_cfg.c b/core/hdd/src/wlan_hdd_cfg.c index e07b3512e3b6..3e733313fcb3 100644 --- a/core/hdd/src/wlan_hdd_cfg.c +++ b/core/hdd/src/wlan_hdd_cfg.c @@ -934,46 +934,6 @@ struct reg_table_entry g_registry_table[] = { CFG_LFR_MAWC_FEATURE_ENABLED_MAX, notify_is_mawc_ini_feature_enabled, 0), - REG_VARIABLE(CFG_MAWC_ROAM_ENABLED_NAME, WLAN_PARAM_Integer, - struct hdd_config, mawc_roam_enabled, - VAR_FLAGS_OPTIONAL | - VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MAWC_ROAM_ENABLED_DEFAULT, - CFG_MAWC_ROAM_ENABLED_MIN, - CFG_MAWC_ROAM_ENABLED_MAX), - - REG_VARIABLE(CFG_MAWC_ROAM_TRAFFIC_THRESHOLD_NAME, WLAN_PARAM_Integer, - struct hdd_config, mawc_roam_traffic_threshold, - VAR_FLAGS_OPTIONAL | - VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MAWC_ROAM_TRAFFIC_THRESHOLD_DEFAULT, - CFG_MAWC_ROAM_TRAFFIC_THRESHOLD_MIN, - CFG_MAWC_ROAM_TRAFFIC_THRESHOLD_MAX), - - REG_VARIABLE(CFG_MAWC_ROAM_AP_RSSI_THRESHOLD_NAME, - WLAN_PARAM_SignedInteger, struct hdd_config, - mawc_roam_ap_rssi_threshold, VAR_FLAGS_OPTIONAL | - VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MAWC_ROAM_AP_RSSI_THRESHOLD_DEFAULT, - CFG_MAWC_ROAM_AP_RSSI_THRESHOLD_MIN, - CFG_MAWC_ROAM_AP_RSSI_THRESHOLD_MAX), - - REG_VARIABLE(CFG_MAWC_ROAM_RSSI_HIGH_ADJUST_NAME, WLAN_PARAM_Integer, - struct hdd_config, mawc_roam_rssi_high_adjust, - VAR_FLAGS_OPTIONAL | - VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MAWC_ROAM_RSSI_HIGH_ADJUST_DEFAULT, - CFG_MAWC_ROAM_RSSI_HIGH_ADJUST_MIN, - CFG_MAWC_ROAM_RSSI_HIGH_ADJUST_MAX), - - REG_VARIABLE(CFG_MAWC_ROAM_RSSI_LOW_ADJUST_NAME, WLAN_PARAM_Integer, - struct hdd_config, mawc_roam_rssi_low_adjust, - VAR_FLAGS_OPTIONAL | - VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MAWC_ROAM_RSSI_LOW_ADJUST_DEFAULT, - CFG_MAWC_ROAM_RSSI_LOW_ADJUST_MIN, - CFG_MAWC_ROAM_RSSI_LOW_ADJUST_MAX), - /* flag to turn ON/OFF 11r and ESE FastTransition */ REG_DYNAMIC_VARIABLE(CFG_FAST_TRANSITION_ENABLED_NAME, WLAN_PARAM_Integer, @@ -997,13 +957,6 @@ struct reg_table_entry g_registry_table[] = { CFG_ROAM_RSSI_DIFF_MAX, cb_notify_set_roam_rssi_diff, 0), - REG_VARIABLE(CFG_ROAM_RSSI_ABS_THRESHOLD_NAME, WLAN_PARAM_SignedInteger, - struct hdd_config, rssi_abs_thresh, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_ROAM_RSSI_ABS_THRESHOLD_DEFAULT, - CFG_ROAM_RSSI_ABS_THRESHOLD_MIN, - CFG_ROAM_RSSI_ABS_THRESHOLD_MAX), - REG_DYNAMIC_VARIABLE(CFG_ENABLE_WES_MODE_NAME, WLAN_PARAM_Integer, struct hdd_config, isWESModeEnabled, VAR_FLAGS_OPTIONAL | @@ -1253,14 +1206,6 @@ struct reg_table_entry g_registry_table[] = { CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MAX, cb_notify_set_neighbor_lookup_rssi_threshold, 0), - REG_VARIABLE(CFG_5G_RSSI_THRESHOLD_OFFSET_NAME, - WLAN_PARAM_SignedInteger, struct hdd_config, - rssi_thresh_offset_5g, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_5G_RSSI_THRESHOLD_OFFSET_DEFAULT, - CFG_5G_RSSI_THRESHOLD_OFFSET_MIN, - CFG_5G_RSSI_THRESHOLD_OFFSET_MAX), - REG_DYNAMIC_VARIABLE(CFG_OPPORTUNISTIC_SCAN_THRESHOLD_DIFF_NAME, WLAN_PARAM_Integer, struct hdd_config, nOpportunisticThresholdDiff, @@ -1306,13 +1251,6 @@ struct reg_table_entry g_registry_table[] = { CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MAX, cb_notify_set_neighbor_scan_max_chan_time, 0), - REG_VARIABLE(CFG_11R_NEIGHBOR_REQ_MAX_TRIES_NAME, WLAN_PARAM_Integer, - struct hdd_config, nMaxNeighborReqTries, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_11R_NEIGHBOR_REQ_MAX_TRIES_DEFAULT, - CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MIN, - CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MAX), - REG_DYNAMIC_VARIABLE(CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer, struct hdd_config, nNeighborResultsRefreshPeriod, @@ -2679,14 +2617,6 @@ struct reg_table_entry g_registry_table[] = { CFG_ENABLE_PACKET_LOG_MAX), #endif -#ifdef WLAN_FEATURE_ROAM_OFFLOAD - REG_VARIABLE(CFG_ROAMING_OFFLOAD_NAME, WLAN_PARAM_Integer, - struct hdd_config, isRoamOffloadEnabled, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, - CFG_ROAMING_OFFLOAD_DEFAULT, - CFG_ROAMING_OFFLOAD_MIN, - CFG_ROAMING_OFFLOAD_MAX), -#endif #ifdef MSM_PLATFORM REG_VARIABLE(CFG_BUS_BANDWIDTH_HIGH_THRESHOLD, WLAN_PARAM_Integer, struct hdd_config, busBandwidthHighThreshold, @@ -3336,37 +3266,6 @@ struct reg_table_entry g_registry_table[] = { CFG_SELF_GEN_FRM_PWR_MIN, CFG_SELF_GEN_FRM_PWR_MAX), - REG_VARIABLE(CFG_EARLY_STOP_SCAN_ENABLE, WLAN_PARAM_Integer, - struct hdd_config, early_stop_scan_enable, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_EARLY_STOP_SCAN_ENABLE_DEFAULT, - CFG_EARLY_STOP_SCAN_ENABLE_MIN, - CFG_EARLY_STOP_SCAN_ENABLE_MAX), - - REG_VARIABLE(CFG_EARLY_STOP_SCAN_MIN_THRESHOLD, - WLAN_PARAM_SignedInteger, struct hdd_config, - early_stop_scan_min_threshold, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_EARLY_STOP_SCAN_MIN_THRESHOLD_DEFAULT, - CFG_EARLY_STOP_SCAN_MIN_THRESHOLD_MIN, - CFG_EARLY_STOP_SCAN_MIN_THRESHOLD_MAX), - - REG_VARIABLE(CFG_EARLY_STOP_SCAN_MAX_THRESHOLD, - WLAN_PARAM_SignedInteger, struct hdd_config, - early_stop_scan_max_threshold, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_EARLY_STOP_SCAN_MAX_THRESHOLD_DEFAULT, - CFG_EARLY_STOP_SCAN_MAX_THRESHOLD_MIN, - CFG_EARLY_STOP_SCAN_MAX_THRESHOLD_MAX), - - REG_VARIABLE(CFG_FIRST_SCAN_BUCKET_THRESHOLD_NAME, - WLAN_PARAM_SignedInteger, - struct hdd_config, first_scan_bucket_threshold, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_FIRST_SCAN_BUCKET_THRESHOLD_DEFAULT, - CFG_FIRST_SCAN_BUCKET_THRESHOLD_MIN, - CFG_FIRST_SCAN_BUCKET_THRESHOLD_MAX), - #ifdef FEATURE_LFR_SUBNET_DETECTION REG_VARIABLE(CFG_ENABLE_LFR_SUBNET_DETECTION, WLAN_PARAM_Integer, struct hdd_config, enable_lfr_subnet_detection, @@ -3400,50 +3299,6 @@ struct reg_table_entry g_registry_table[] = { #endif /* WLAN_FEATURE_TSF_PLUS */ #endif - REG_VARIABLE(CFG_ROAM_DENSE_TRAFFIC_THRESHOLD, WLAN_PARAM_Integer, - struct hdd_config, roam_dense_traffic_thresh, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_ROAM_DENSE_TRAFFIC_THRESHOLD_DEFAULT, - CFG_ROAM_DENSE_TRAFFIC_THRESHOLD_MIN, - CFG_ROAM_DENSE_TRAFFIC_THRESHOLD_MAX), - - REG_VARIABLE(CFG_ROAM_DENSE_RSSI_THRE_OFFSET, WLAN_PARAM_Integer, - struct hdd_config, roam_dense_rssi_thresh_offset, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_ROAM_DENSE_RSSI_THRE_OFFSET_DEFAULT, - CFG_ROAM_DENSE_RSSI_THRE_OFFSET_MIN, - CFG_ROAM_DENSE_RSSI_THRE_OFFSET_MAX), - - REG_VARIABLE(CFG_ROAM_DENSE_MIN_APS, WLAN_PARAM_Integer, - struct hdd_config, roam_dense_min_aps, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_ROAM_DENSE_MIN_APS_DEFAULT, - CFG_ROAM_DENSE_MIN_APS_MIN, - CFG_ROAM_DENSE_MIN_APS_MAX), - - REG_VARIABLE(CFG_ROAM_BG_SCAN_BAD_RSSI_THRESHOLD_NAME, - WLAN_PARAM_SignedInteger, struct hdd_config, - roam_bg_scan_bad_rssi_thresh, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_ROAM_BG_SCAN_BAD_RSSI_THRESHOLD_DEFAULT, - CFG_ROAM_BG_SCAN_BAD_RSSI_THRESHOLD_MIN, - CFG_ROAM_BG_SCAN_BAD_RSSI_THRESHOLD_MAX), - - REG_VARIABLE(CFG_ROAM_BG_SCAN_CLIENT_BITMAP_NAME, WLAN_PARAM_Integer, - struct hdd_config, roam_bg_scan_client_bitmap, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_ROAM_BG_SCAN_CLIENT_BITMAP_DEFAULT, - CFG_ROAM_BG_SCAN_CLIENT_BITMAP_MIN, - CFG_ROAM_BG_SCAN_CLIENT_BITMAP_MAX), - - REG_VARIABLE(CFG_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G_NAME, - WLAN_PARAM_Integer, struct hdd_config, - roam_bad_rssi_thresh_offset_2g, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G_DEFAULT, - CFG_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G_MIN, - CFG_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G_MAX), - REG_VARIABLE(CFG_ROAM_HO_DELAY_FOR_RX_NAME, WLAN_PARAM_Integer, struct hdd_config, ho_delay_for_rx, @@ -3654,13 +3509,6 @@ struct reg_table_entry g_registry_table[] = { CFG_ADAPTIVE_SCAN_DWELL_MODE_NC_MIN, CFG_ADAPTIVE_SCAN_DWELL_MODE_NC_MAX), - REG_VARIABLE(CFG_ADAPTIVE_ROAMSCAN_DWELL_MODE_NAME, WLAN_PARAM_Integer, - struct hdd_config, roamscan_adaptive_dwell_mode, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_ADAPTIVE_ROAMSCAN_DWELL_MODE_DEFAULT, - CFG_ADAPTIVE_ROAMSCAN_DWELL_MODE_MIN, - CFG_ADAPTIVE_ROAMSCAN_DWELL_MODE_MAX), - REG_VARIABLE(CFG_ADAPTIVE_EXTSCAN_DWELL_MODE_NAME, WLAN_PARAM_Integer, struct hdd_config, extscan_adaptive_dwell_mode, VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, @@ -3892,55 +3740,6 @@ struct reg_table_entry g_registry_table[] = { CFG_RESTART_BEACONING_ON_CH_AVOID_MIN, CFG_RESTART_BEACONING_ON_CH_AVOID_MAX), - REG_VARIABLE(CFG_PER_ROAM_ENABLE_NAME, WLAN_PARAM_Integer, - struct hdd_config, is_per_roam_enabled, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_PER_ROAM_ENABLE_DEFAULT, - CFG_PER_ROAM_ENABLE_MIN, - CFG_PER_ROAM_ENABLE_MAX), - - REG_VARIABLE(CFG_PER_ROAM_CONFIG_HIGH_RATE_TH_NAME, WLAN_PARAM_Integer, - struct hdd_config, per_roam_high_rate_threshold, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_PER_ROAM_CONFIG_HIGH_RATE_TH_DEFAULT, - CFG_PER_ROAM_CONFIG_HIGH_RATE_TH_MIN, - CFG_PER_ROAM_CONFIG_HIGH_RATE_TH_MAX), - - REG_VARIABLE(CFG_PER_ROAM_CONFIG_LOW_RATE_TH_NAME, WLAN_PARAM_Integer, - struct hdd_config, per_roam_low_rate_threshold, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_PER_ROAM_CONFIG_LOW_RATE_TH_DEFAULT, - CFG_PER_ROAM_CONFIG_LOW_RATE_TH_MIN, - CFG_PER_ROAM_CONFIG_LOW_RATE_TH_MAX), - - REG_VARIABLE(CFG_PER_ROAM_CONFIG_RATE_TH_PERCENT_NAME, - WLAN_PARAM_Integer, struct hdd_config, per_roam_th_percent, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_PER_ROAM_CONFIG_RATE_TH_PERCENT_DEFAULT, - CFG_PER_ROAM_CONFIG_RATE_TH_PERCENT_MIN, - CFG_PER_ROAM_CONFIG_RATE_TH_PERCENT_MAX), - - REG_VARIABLE(CFG_PER_ROAM_REST_TIME_NAME, WLAN_PARAM_Integer, - struct hdd_config, per_roam_rest_time, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_PER_ROAM_REST_TIME_DEFAULT, - CFG_PER_ROAM_REST_TIME_MIN, - CFG_PER_ROAM_REST_TIME_MAX), - - REG_VARIABLE(CFG_PER_ROAM_MONITOR_TIME, WLAN_PARAM_Integer, - struct hdd_config, per_roam_mon_time, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_PER_ROAM_MONTIOR_TIME_DEFAULT, - CFG_PER_ROAM_MONITOR_TIME_MIN, - CFG_PER_ROAM_MONITOR_TIME_MAX), - - REG_VARIABLE(CFG_PER_ROAM_MIN_CANDIDATE_RSSI, WLAN_PARAM_Integer, - struct hdd_config, min_candidate_rssi, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_PER_ROAM_MIN_CANDIDATE_RSSI_DEFAULT, - CFG_PER_ROAM_MIN_CANDIDATE_RSSI_MIN, - CFG_PER_ROAM_MIN_CANDIDATE_RSSI_MAX), - REG_VARIABLE(CFG_ACTIVE_UC_APF_MODE_NAME, WLAN_PARAM_Integer, struct hdd_config, active_uc_apf_mode, VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, @@ -4188,28 +3987,6 @@ struct reg_table_entry g_registry_table[] = { CFG_ITO_REPEAT_COUNT_MIN, CFG_ITO_REPEAT_COUNT_MAX), - REG_VARIABLE(CFG_ROAM_DISALLOW_DURATION_NAME, WLAN_PARAM_Integer, - struct hdd_config, disallow_duration, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_ROAM_DISALLOW_DURATION_DEFAULT, - CFG_ROAM_DISALLOW_DURATION_MIN, - CFG_ROAM_DISALLOW_DURATION_MAX), - - REG_VARIABLE(CFG_ROAM_RSSI_CHANNEL_PENALIZATION_NAME, - WLAN_PARAM_Integer, struct hdd_config, - rssi_channel_penalization, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_ROAM_RSSI_CHANNEL_PENALIZATION_DEFAULT, - CFG_ROAM_RSSI_CHANNEL_PENALIZATION_MIN, - CFG_ROAM_RSSI_CHANNEL_PENALIZATION_MAX), - - REG_VARIABLE(CFG_ROAM_NUM_DISALLOWED_APS_NAME, WLAN_PARAM_Integer, - struct hdd_config, num_disallowed_aps, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_ROAM_NUM_DISALLOWED_APS_DEFAULT, - CFG_ROAM_NUM_DISALLOWED_APS_MIN, - CFG_ROAM_NUM_DISALLOWED_APS_MAX), - REG_VARIABLE(CFG_OCE_ENABLE_STA_NAME, WLAN_PARAM_Integer, struct hdd_config, oce_sta_enabled, VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, @@ -4231,55 +4008,6 @@ struct reg_table_entry g_registry_table[] = { CFG_ENABLE_11D_IN_WORLD_MODE_MIN, CFG_ENABLE_11D_IN_WORLD_MODE_MAX), - REG_VARIABLE(CFG_ENABLE_5G_BAND_PREF_NAME, WLAN_PARAM_Integer, - struct hdd_config, enable_5g_band_pref, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_ENABLE_5G_BAND_PREF_DEFAULT, - CFG_ENABLE_5G_BAND_PREF_MIN, - CFG_ENABLE_5G_BAND_PREF_MAX), - - REG_VARIABLE(CFG_5G_RSSI_BOOST_THRESHOLD_NAME, WLAN_PARAM_Integer, - struct hdd_config, rssi_boost_threshold_5g, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_5G_RSSI_BOOST_THRESHOLD_DEFAULT, - CFG_5G_RSSI_BOOST_THRESHOLD_MIN, - CFG_5G_RSSI_BOOST_THRESHOLD_MAX), - - REG_VARIABLE(CFG_5G_RSSI_BOOST_FACTOR_NAME, WLAN_PARAM_Integer, - struct hdd_config, rssi_boost_factor_5g, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_5G_RSSI_BOOST_FACTOR_DEFAULT, - CFG_5G_RSSI_BOOST_FACTOR_MIN, - CFG_5G_RSSI_BOOST_FACTOR_MAX), - - REG_VARIABLE(CFG_5G_MAX_RSSI_BOOST_NAME, WLAN_PARAM_Integer, - struct hdd_config, max_rssi_boost_5g, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_5G_MAX_RSSI_BOOST_DEFAULT, - CFG_5G_MAX_RSSI_BOOST_MIN, - CFG_5G_MAX_RSSI_BOOST_MAX), - - REG_VARIABLE(CFG_5G_RSSI_PENALIZE_THRESHOLD_NAME, WLAN_PARAM_Integer, - struct hdd_config, rssi_penalize_threshold_5g, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_5G_RSSI_PENALIZE_THRESHOLD_DEFAULT, - CFG_5G_RSSI_PENALIZE_THRESHOLD_MIN, - CFG_5G_RSSI_PENALIZE_THRESHOLD_MAX), - - REG_VARIABLE(CFG_5G_RSSI_PENALIZE_FACTOR_NAME, WLAN_PARAM_Integer, - struct hdd_config, rssi_penalize_factor_5g, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_5G_RSSI_PENALIZE_FACTOR_DEFAULT, - CFG_5G_RSSI_PENALIZE_FACTOR_MIN, - CFG_5G_RSSI_PENALIZE_FACTOR_MAX), - - REG_VARIABLE(CFG_5G_MAX_RSSI_PENALIZE_NAME, WLAN_PARAM_Integer, - struct hdd_config, max_rssi_penalize_5g, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_5G_MAX_RSSI_PENALIZE_DEFAULT, - CFG_5G_MAX_RSSI_PENALIZE_MIN, - CFG_5G_MAX_RSSI_PENALIZE_MAX), - REG_VARIABLE(CFG_LPRx_NAME, WLAN_PARAM_Integer, struct hdd_config, enable_lprx, VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, @@ -6567,50 +6295,6 @@ bool hdd_update_config_cfg(struct hdd_context *hdd_ctx) return status; } -/** - * hdd_update_per_config_to_sme() -initializes the sme config for PER roam - * - * @hdd_ctx: the pointer to hdd context - * @sme_config: sme configuation pointer - * - * Return: None - */ -static void hdd_update_per_config_to_sme(struct hdd_context *hdd_ctx, - tSmeConfigParams *sme_config) -{ - sme_config->csrConfig.per_roam_config.enable = - hdd_ctx->config->is_per_roam_enabled; - - /* Assigning Tx and Rx for same value */ - sme_config->csrConfig.per_roam_config.tx_high_rate_thresh = - hdd_ctx->config->per_roam_high_rate_threshold; - sme_config->csrConfig.per_roam_config.rx_high_rate_thresh = - hdd_ctx->config->per_roam_high_rate_threshold; - - /* Assigning Tx and Rx for same value */ - sme_config->csrConfig.per_roam_config.tx_low_rate_thresh = - hdd_ctx->config->per_roam_low_rate_threshold; - sme_config->csrConfig.per_roam_config.rx_low_rate_thresh = - hdd_ctx->config->per_roam_low_rate_threshold; - - /* Assigning Tx and Rx for same value */ - sme_config->csrConfig.per_roam_config.tx_rate_thresh_percnt = - hdd_ctx->config->per_roam_th_percent; - sme_config->csrConfig.per_roam_config.rx_rate_thresh_percnt = - hdd_ctx->config->per_roam_th_percent; - - sme_config->csrConfig.per_roam_config.per_rest_time = - hdd_ctx->config->per_roam_rest_time; - sme_config->csrConfig.per_roam_config.tx_per_mon_time = - hdd_ctx->config->per_roam_mon_time; - sme_config->csrConfig.per_roam_config.rx_per_mon_time = - hdd_ctx->config->per_roam_mon_time; - - /* Assigning minimum roamable AP RSSI for candidate selection */ - sme_config->csrConfig.per_roam_config.min_candidate_rssi = - hdd_ctx->config->min_candidate_rssi; -} - /** * hdd_set_policy_mgr_user_cfg() -initializes the policy manager * configuration parameters @@ -6960,16 +6644,7 @@ QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx) pConfig->isFastRoamIniFeatureEnabled; smeConfig->csrConfig.csr_mawc_config.mawc_enabled = pConfig->MAWCEnabled; - smeConfig->csrConfig.csr_mawc_config.mawc_roam_enabled = - pConfig->mawc_roam_enabled; - smeConfig->csrConfig.csr_mawc_config.mawc_roam_traffic_threshold = - pConfig->mawc_roam_traffic_threshold; - smeConfig->csrConfig.csr_mawc_config.mawc_roam_ap_rssi_threshold = - pConfig->mawc_roam_ap_rssi_threshold; - smeConfig->csrConfig.csr_mawc_config.mawc_roam_rssi_high_adjust = - pConfig->mawc_roam_rssi_high_adjust; - smeConfig->csrConfig.csr_mawc_config.mawc_roam_rssi_low_adjust = - pConfig->mawc_roam_rssi_low_adjust; + #ifdef FEATURE_WLAN_ESE smeConfig->csrConfig.isEseIniFeatureEnabled = pConfig->isEseIniFeatureEnabled; @@ -6979,7 +6654,6 @@ QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx) smeConfig->csrConfig.isFastTransitionEnabled = pConfig->isFastTransitionEnabled; smeConfig->csrConfig.RoamRssiDiff = pConfig->RoamRssiDiff; - smeConfig->csrConfig.rssi_abs_thresh = pConfig->rssi_abs_thresh; smeConfig->csrConfig.isWESModeEnabled = pConfig->isWESModeEnabled; smeConfig->csrConfig.isRoamOffloadScanEnabled = pConfig->isRoamOffloadScanEnabled; @@ -7011,8 +6685,6 @@ QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx) smeConfig->csrConfig.neighborRoamConfig. neighbor_scan_min_timer_period = pConfig->neighbor_scan_min_period; - smeConfig->csrConfig.neighborRoamConfig.nMaxNeighborRetries = - pConfig->nMaxNeighborReqTries; smeConfig->csrConfig.neighborRoamConfig.nNeighborResultsRefreshPeriod = pConfig->nNeighborResultsRefreshPeriod; smeConfig->csrConfig.neighborRoamConfig.nEmptyScanRefreshPeriod = @@ -7073,10 +6745,6 @@ QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx) smeConfig->csrConfig.enableSelfRecovery = hdd_ctx->config->enableSelfRecovery; -#ifdef WLAN_FEATURE_ROAM_OFFLOAD - smeConfig->csrConfig.isRoamOffloadEnabled = - hdd_ctx->config->isRoamOffloadEnabled; -#endif smeConfig->csrConfig.conc_custom_rule1 = hdd_ctx->config->conc_custom_rule1; smeConfig->csrConfig.conc_custom_rule2 = @@ -7107,27 +6775,6 @@ QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx) smeConfig->csrConfig.max_scan_count = hdd_ctx->config->max_scan_count; - smeConfig->csrConfig.early_stop_scan_enable = - hdd_ctx->config->early_stop_scan_enable; - smeConfig->csrConfig.early_stop_scan_min_threshold = - hdd_ctx->config->early_stop_scan_min_threshold; - smeConfig->csrConfig.early_stop_scan_max_threshold = - hdd_ctx->config->early_stop_scan_max_threshold; - smeConfig->csrConfig.first_scan_bucket_threshold = - hdd_ctx->config->first_scan_bucket_threshold; - - smeConfig->csrConfig.roam_dense_rssi_thresh_offset = - hdd_ctx->config->roam_dense_rssi_thresh_offset; - smeConfig->csrConfig.roam_dense_min_aps = - hdd_ctx->config->roam_dense_min_aps; - smeConfig->csrConfig.roam_dense_traffic_thresh = - hdd_ctx->config->roam_dense_traffic_thresh; - smeConfig->csrConfig.roam_bg_scan_bad_rssi_thresh = - hdd_ctx->config->roam_bg_scan_bad_rssi_thresh; - smeConfig->csrConfig.roam_bg_scan_client_bitmap = - hdd_ctx->config->roam_bg_scan_client_bitmap; - smeConfig->csrConfig.roam_bad_rssi_thresh_offset_2g = - hdd_ctx->config->roam_bad_rssi_thresh_offset_2g; smeConfig->csrConfig.ho_delay_for_rx = hdd_ctx->config->ho_delay_for_rx; smeConfig->csrConfig.min_delay_btw_roam_scans = @@ -7147,15 +6794,11 @@ QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx) hdd_ctx->config->scan_adaptive_dwell_mode; smeConfig->csrConfig.scan_adaptive_dwell_mode_nc = hdd_ctx->config->scan_adaptive_dwell_mode_nc; - smeConfig->csrConfig.roamscan_adaptive_dwell_mode = - hdd_ctx->config->roamscan_adaptive_dwell_mode; smeConfig->csrConfig.enable_ftopen = hdd_ctx->config->enable_ftopen; smeConfig->csrConfig.roam_force_rssi_trigger = hdd_ctx->config->roam_force_rssi_trigger; - hdd_update_per_config_to_sme(hdd_ctx, smeConfig); - smeConfig->csrConfig.enable_edca_params = pConfig->enable_edca_params; @@ -7213,12 +6856,6 @@ QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx) smeConfig->csrConfig.pkt_err_disconn_th = hdd_ctx->config->pkt_err_disconn_th; - smeConfig->csrConfig.disallow_duration = - hdd_ctx->config->disallow_duration; - smeConfig->csrConfig.rssi_channel_penalization = - hdd_ctx->config->rssi_channel_penalization; - smeConfig->csrConfig.num_disallowed_aps = - hdd_ctx->config->num_disallowed_aps; smeConfig->csrConfig.is_force_1x1 = hdd_ctx->config->is_force_1x1; diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index 7d21a24634a0..5c8915272fa5 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -1192,6 +1192,24 @@ static int hdd_update_tdls_config(struct hdd_context *hdd_ctx) return 0; } +#ifdef WLAN_FEATURE_ROAM_OFFLOAD +static void hdd_update_roam_offload(struct hdd_context *hdd_ctx, + struct wma_tgt_services *cfg) +{ + bool roam_offload_enable; + + ucfg_mlme_get_roaming_offload(hdd_ctx->hdd_psoc, &roam_offload_enable); + ucfg_mlme_set_roaming_offload(hdd_ctx->hdd_psoc, + roam_offload_enable & + cfg->en_roam_offload); +} +#else +static inline void hdd_update_roam_offload(struct hdd_context *hdd_ctx, + struct wma_tgt_services *cfg) +{ +} +#endif + static void hdd_update_tgt_services(struct hdd_context *hdd_ctx, struct wma_tgt_services *cfg) { @@ -1245,9 +1263,7 @@ static void hdd_update_tgt_services(struct hdd_context *hdd_ctx, else cfg_tdls_set_sleep_sta_enable(hdd_ctx->hdd_psoc, false); #endif -#ifdef WLAN_FEATURE_ROAM_OFFLOAD - config->isRoamOffloadEnabled &= cfg->en_roam_offload; -#endif + hdd_update_roam_offload(hdd_ctx, cfg); config->sap_get_peer_info &= cfg->get_peer_info_enabled; config->MAWCEnabled &= cfg->is_fw_mawc_capable; hdd_update_tdls_config(hdd_ctx); @@ -10413,7 +10429,6 @@ static int hdd_features_init(struct hdd_context *hdd_ctx) { tSirTxPowerLimit hddtxlimit; QDF_STATUS status; - struct sme_5g_band_pref_params band_pref_params; int ret; mac_handle_t mac_handle; struct hdd_config *cfg; @@ -10504,22 +10519,6 @@ static int hdd_features_init(struct hdd_context *hdd_ctx) } } - if (hdd_ctx->config->enable_5g_band_pref) { - band_pref_params.rssi_boost_threshold_5g = - hdd_ctx->config->rssi_boost_threshold_5g; - band_pref_params.rssi_boost_factor_5g = - hdd_ctx->config->rssi_boost_factor_5g; - band_pref_params.max_rssi_boost_5g = - hdd_ctx->config->max_rssi_boost_5g; - band_pref_params.rssi_penalize_threshold_5g = - hdd_ctx->config->rssi_penalize_threshold_5g; - band_pref_params.rssi_penalize_factor_5g = - hdd_ctx->config->rssi_penalize_factor_5g; - band_pref_params.max_rssi_penalize_5g = - hdd_ctx->config->max_rssi_penalize_5g; - sme_set_5g_band_pref(mac_handle, &band_pref_params); - } - /* register P2P Listen Offload event callback */ if (wma_is_p2p_lo_capable()) sme_register_p2p_lo_event(mac_handle, hdd_ctx, @@ -13837,6 +13836,7 @@ static int hdd_update_scan_config(struct hdd_context *hdd_ctx) struct scan_user_cfg scan_cfg; struct hdd_config *cfg = hdd_ctx->config; QDF_STATUS status; + uint8_t scan_bucket_thre; scan_cfg.active_dwell = cfg->nActiveMaxChnTime; scan_cfg.passive_dwell = cfg->nPassiveMaxChnTime; @@ -13850,7 +13850,9 @@ static int hdd_update_scan_config(struct hdd_context *hdd_ctx) cfg->scanAgingTimeout * 1000; scan_cfg.prefer_5ghz = cfg->nRoamPrefer5GHz; scan_cfg.select_5ghz_margin = cfg->nSelect5GHzMargin; - scan_cfg.scan_bucket_threshold = cfg->first_scan_bucket_threshold; + ucfg_mlme_get_first_scan_bucket_threshold(hdd_ctx->hdd_psoc, + &scan_bucket_thre); + scan_cfg.scan_bucket_threshold = (int32_t)scan_bucket_thre; scan_cfg.rssi_cat_gap = cfg->nRssiCatGap; scan_cfg.scan_dwell_time_mode = cfg->scan_adaptive_dwell_mode; scan_cfg.is_snr_monitoring_enabled = cfg->fEnableSNRMonitoring; @@ -13860,7 +13862,6 @@ static int hdd_update_scan_config(struct hdd_context *hdd_ctx) scan_cfg.enable_mac_spoofing = cfg->enable_mac_spoofing; scan_cfg.sta_miracast_mcc_rest_time = cfg->sta_miracast_mcc_rest_time_val; - hdd_update_pno_config(&scan_cfg.pno_cfg, cfg); hdd_update_ie_whitelist_attr(&scan_cfg.ie_whitelist, cfg); hdd_update_score_config(&scan_cfg.score_config, cfg); diff --git a/core/mac/inc/ani_global.h b/core/mac/inc/ani_global.h index 957b3580a6d0..ab23fbcf2ac2 100644 --- a/core/mac/inc/ani_global.h +++ b/core/mac/inc/ani_global.h @@ -895,7 +895,6 @@ typedef struct sAniSirGlobal { uint8_t user_configured_nss; bool snr_monitor_enabled; bool ignore_assoc_disallowed; - int8_t first_scan_bucket_threshold; uint32_t peer_rssi; uint32_t peer_txrate; uint32_t peer_rxrate; diff --git a/core/mac/inc/sir_api.h b/core/mac/inc/sir_api.h index f18836634d57..7acc327651a9 100644 --- a/core/mac/inc/sir_api.h +++ b/core/mac/inc/sir_api.h @@ -2641,7 +2641,6 @@ typedef enum { * @rssi_diff: RSSI difference for the AP to be better over the * current AP to avoid ping pong effects * @good_rssi_roam: Lazy Roam - * @is_5g_pref_enabled: 5GHz BSSID preference feature enable/disable. * @bg_scan_bad_rssi_thresh: Bad RSSI threshold to perform bg scan. * @bad_rssi_thresh_offset_2g: Offset from Bad RSSI threshold for 2G to 5G Roam * @bg_scan_client_bitmap: Bitmap to identify the client scans to snoop. @@ -2668,7 +2667,6 @@ struct roam_ext_params { int alert_rssi_threshold; int rssi_diff; int good_rssi_roam; - bool is_5g_pref_enabled; int dense_rssi_thresh_offset; int dense_min_aps_cnt; int initial_dense_status; @@ -2795,7 +2793,7 @@ struct lca_disallow_config_params { /** * struct mawc_params - Motion Aided Wireless Connectivity configuration - * @MAWCEnabled: Global configuration for MAWC (Roaming/PNO/ExtScan) + * @mawc_enabled: Global configuration for MAWC (Roaming/PNO/ExtScan) * @mawc_roam_enabled: MAWC roaming enable/disable * @mawc_roam_traffic_threshold: Traffic threshold in kBps for MAWC roaming * @mawc_roam_ap_rssi_threshold: AP RSSI threshold for MAWC roaming diff --git a/core/mac/inc/wni_cfg.h b/core/mac/inc/wni_cfg.h index 72e807f50f8d..ccdc29f36f6c 100644 --- a/core/mac/inc/wni_cfg.h +++ b/core/mac/inc/wni_cfg.h @@ -62,7 +62,6 @@ enum { WNI_CFG_QOS_ENABLED, WNI_CFG_HCF_ENABLED, WNI_CFG_RSN_ENABLED, - WNI_CFG_MAX_NUM_PRE_AUTH, WNI_CFG_HEART_BEAT_THRESHOLD, WNI_CFG_PROBE_AFTER_HB_FAIL_TIMEOUT, WNI_CFG_MANUFACTURER_NAME, @@ -606,10 +605,6 @@ enum { #define WNI_CFG_BACKGROUND_SCAN_PERIOD_STAMAX 180000 #define WNI_CFG_BACKGROUND_SCAN_PERIOD_STADEF 5000 -#define WNI_CFG_MAX_NUM_PRE_AUTH_STAMIN 0 -#define WNI_CFG_MAX_NUM_PRE_AUTH_STAMAX 256 -#define WNI_CFG_MAX_NUM_PRE_AUTH_STADEF 64 - #define WNI_CFG_HEART_BEAT_THRESHOLD_STAMIN 0 #define WNI_CFG_HEART_BEAT_THRESHOLD_STAMAX 65535 #define WNI_CFG_HEART_BEAT_THRESHOLD_STADEF 40 diff --git a/core/mac/src/cfg/cfgUtil/cfg.txt b/core/mac/src/cfg/cfgUtil/cfg.txt index e881c45f8c08..78c84aebe614 100644 --- a/core/mac/src/cfg/cfgUtil/cfg.txt +++ b/core/mac/src/cfg/cfgUtil/cfg.txt @@ -872,14 +872,6 @@ LIM * Max number of Preauthentication * -WNI_CFG_MAX_NUM_PRE_AUTH I 4 8 -V RW NP RESTART -NONE -0 256 64 -V RW NP RESTART -NONE -0 256 64 - * * Preauthentication Cleanup Timeout (kilo usec) * diff --git a/core/mac/src/cfg/cfg_param_name.c b/core/mac/src/cfg/cfg_param_name.c index be8b174287e8..27c8cfa405b5 100644 --- a/core/mac/src/cfg/cfg_param_name.c +++ b/core/mac/src/cfg/cfg_param_name.c @@ -77,7 +77,6 @@ const char *cfg_get_string(uint16_t cfg_id) CASE_RETURN_STRING(WNI_CFG_QOS_ENABLED); CASE_RETURN_STRING(WNI_CFG_HCF_ENABLED); CASE_RETURN_STRING(WNI_CFG_RSN_ENABLED); - CASE_RETURN_STRING(WNI_CFG_MAX_NUM_PRE_AUTH); CASE_RETURN_STRING(WNI_CFG_HEART_BEAT_THRESHOLD); CASE_RETURN_STRING(WNI_CFG_PROBE_AFTER_HB_FAIL_TIMEOUT); CASE_RETURN_STRING(WNI_CFG_MANUFACTURER_NAME); diff --git a/core/mac/src/cfg/cfg_proc_msg.c b/core/mac/src/cfg/cfg_proc_msg.c index 6e35b65bf6b3..6ba48eed1ff7 100644 --- a/core/mac/src/cfg/cfg_proc_msg.c +++ b/core/mac/src/cfg/cfg_proc_msg.c @@ -208,12 +208,6 @@ cgstatic cfg_static[CFG_PARAM_MAX_NUM] = { WNI_CFG_RSN_ENABLED_STAMIN, WNI_CFG_RSN_ENABLED_STAMAX, WNI_CFG_RSN_ENABLED_STADEF}, - {WNI_CFG_MAX_NUM_PRE_AUTH, - CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT | - CFG_CTL_RESTART, - WNI_CFG_MAX_NUM_PRE_AUTH_STAMIN, - WNI_CFG_MAX_NUM_PRE_AUTH_STAMAX, - WNI_CFG_MAX_NUM_PRE_AUTH_STADEF}, {WNI_CFG_HEART_BEAT_THRESHOLD, CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT | CFG_CTL_NTF_LIM, diff --git a/core/mac/src/pe/lim/lim_admit_control.c b/core/mac/src/pe/lim/lim_admit_control.c index 9371591899d2..4009b9af7f2e 100644 --- a/core/mac/src/pe/lim/lim_admit_control.c +++ b/core/mac/src/pe/lim/lim_admit_control.c @@ -897,7 +897,7 @@ lim_send_hal_msg_add_ts(tpAniSirGlobal pMac, pAddTsParam->tsm_interval = tsm_interval; #endif #ifdef WLAN_FEATURE_ROAM_OFFLOAD - if (pMac->roam.configParam.isRoamOffloadEnabled && + if (pMac->mlme_cfg->lfr.lfr3_roaming_offload && psessionEntry->is11Rconnection) pAddTsParam->setRICparams = 1; #endif @@ -968,7 +968,7 @@ lim_send_hal_msg_del_ts(tpAniSirGlobal pMac, delts.tsinfo.traffic.userPrio; #ifdef WLAN_FEATURE_ROAM_OFFLOAD - if (pMac->roam.configParam.isRoamOffloadEnabled && + if (pMac->mlme_cfg->lfr.lfr3_roaming_offload && psessionEntry->is11Rconnection) { qdf_mem_copy(&pDelTsParam->delTsInfo, &delts, sizeof(tSirDeltsReqInfo)); diff --git a/core/mac/src/pe/lim/lim_ft.c b/core/mac/src/pe/lim/lim_ft.c index 24c1e5884b19..a57f7f55f8c3 100644 --- a/core/mac/src/pe/lim/lim_ft.c +++ b/core/mac/src/pe/lim/lim_ft.c @@ -1054,8 +1054,8 @@ QDF_STATUS lim_process_ft_aggr_qos_req(tpAniSirGlobal pMac, uint32_t *pMsgBuf) } #ifdef WLAN_FEATURE_ROAM_OFFLOAD - if (!pMac->roam.configParam.isRoamOffloadEnabled || - (pMac->roam.configParam.isRoamOffloadEnabled && + if (!pMac->mlme_cfg->lfr.lfr3_roaming_offload || + (pMac->mlme_cfg->lfr.lfr3_roaming_offload && !psessionEntry->is11Rconnection)) #endif { diff --git a/core/mac/src/pe/lim/lim_process_auth_frame.c b/core/mac/src/pe/lim/lim_process_auth_frame.c index 51ec06b159e7..8c9015d77b5e 100644 --- a/core/mac/src/pe/lim/lim_process_auth_frame.c +++ b/core/mac/src/pe/lim/lim_process_auth_frame.c @@ -456,10 +456,7 @@ static void lim_process_auth_frame_type1(tpAniSirGlobal mac_ctx, return; } } - if (wlan_cfg_get_int(mac_ctx, WNI_CFG_MAX_NUM_PRE_AUTH, - (uint32_t *) &maxnum_preauth) != QDF_STATUS_SUCCESS) - pe_warn("could not retrieve MaxNumPreAuth"); - + maxnum_preauth = mac_ctx->mlme_cfg->lfr.max_num_pre_auth; if (mac_ctx->lim.gLimNumPreAuthContexts == maxnum_preauth && !lim_delete_open_auth_pre_auth_node(mac_ctx)) { pe_err("Max no of preauth context reached"); diff --git a/core/mac/src/pe/lim/lim_process_mlm_req_messages.c b/core/mac/src/pe/lim/lim_process_mlm_req_messages.c index e90e9c6ea0ee..f9f43301461c 100644 --- a/core/mac/src/pe/lim/lim_process_mlm_req_messages.c +++ b/core/mac/src/pe/lim/lim_process_mlm_req_messages.c @@ -1175,10 +1175,7 @@ static void lim_process_mlm_auth_req(tpAniSirGlobal mac_ctx, uint32_t *msg) eSIR_MAC_SUCCESS_STATUS; goto end; } else { - if (wlan_cfg_get_int(mac_ctx, WNI_CFG_MAX_NUM_PRE_AUTH, - (uint32_t *) &num_preauth_ctx) != QDF_STATUS_SUCCESS) - pe_warn("Could not retrieve NumPreAuthLimit from CFG"); - + num_preauth_ctx = mac_ctx->mlme_cfg->lfr.max_num_pre_auth; if (mac_ctx->lim.gLimNumPreAuthContexts == num_preauth_ctx) { pe_warn("Number of pre-auth reached max limit"); /* Return Auth confirm with reject code */ diff --git a/core/mac/src/pe/lim/lim_timer_utils.c b/core/mac/src/pe/lim/lim_timer_utils.c index 0abb847ee97f..67a824ac80cf 100644 --- a/core/mac/src/pe/lim/lim_timer_utils.c +++ b/core/mac/src/pe/lim/lim_timer_utils.c @@ -247,9 +247,7 @@ uint32_t lim_create_timers(tpAniSirGlobal pMac) } /* Alloc and init table for the preAuth timer list */ - if (wlan_cfg_get_int(pMac, WNI_CFG_MAX_NUM_PRE_AUTH, - &cfgValue) != QDF_STATUS_SUCCESS) - pe_err("could not retrieve mac preauth value"); + cfgValue = pMac->mlme_cfg->lfr.max_num_pre_auth; pMac->lim.gLimPreAuthTimerTable.numEntry = cfgValue; pMac->lim.gLimPreAuthTimerTable.pTable = qdf_mem_malloc(cfgValue * sizeof(tLimPreAuthNode *)); diff --git a/core/sme/inc/csr_api.h b/core/sme/inc/csr_api.h index 7cd9ef99c85d..71422271db3d 100644 --- a/core/sme/inc/csr_api.h +++ b/core/sme/inc/csr_api.h @@ -1115,7 +1115,6 @@ typedef struct tagCsrConfigParam { struct mawc_params csr_mawc_config; uint8_t isFastTransitionEnabled; uint8_t RoamRssiDiff; - int32_t rssi_abs_thresh; bool isWESModeEnabled; tCsrNeighborRoamConfigParams neighborRoamConfig; /* @@ -1181,18 +1180,12 @@ typedef struct tagCsrConfigParam { uint8_t cc_switch_mode; #endif uint8_t allowDFSChannelRoam; -#ifdef WLAN_FEATURE_ROAM_OFFLOAD - bool isRoamOffloadEnabled; -#endif bool obssEnabled; uint8_t conc_custom_rule1; uint8_t conc_custom_rule2; uint8_t is_sta_connection_in_5gz_enabled; uint8_t max_scan_count; - bool early_stop_scan_enable; - int8_t early_stop_scan_min_threshold; - int8_t early_stop_scan_max_threshold; int8_t first_scan_bucket_threshold; uint8_t fEnableDebugLog; uint8_t max_intf_count; @@ -1207,7 +1200,6 @@ typedef struct tagCsrConfigParam { uint32_t auto_bmps_timer_val; uint32_t dual_mac_feature_disable; uint32_t sta_sap_scc_on_dfs_chan; - uint32_t roam_dense_traffic_thresh; uint32_t roam_dense_rssi_thresh_offset; uint32_t roam_dense_min_aps; int8_t roam_bg_scan_bad_rssi_thresh; @@ -1230,9 +1222,7 @@ typedef struct tagCsrConfigParam { bool enable_fatal_event; enum scan_dwelltime_adaptive_mode scan_adaptive_dwell_mode; enum scan_dwelltime_adaptive_mode scan_adaptive_dwell_mode_nc; - enum scan_dwelltime_adaptive_mode roamscan_adaptive_dwell_mode; struct csr_sta_roam_policy_params sta_roam_policy_params; - struct wmi_per_roam_config per_roam_config; bool enable_bcast_probe_rsp; bool is_fils_enabled; #ifdef WLAN_FEATURE_11AX @@ -1244,9 +1234,6 @@ typedef struct tagCsrConfigParam { uint32_t wlm_latency_flags[CSR_NUM_WLM_LATENCY_LEVEL]; uint16_t pkt_err_disconn_th; bool is_force_1x1; - uint32_t disallow_duration; - uint32_t rssi_channel_penalization; - uint32_t num_disallowed_aps; struct sir_score_config bss_score_params; uint8_t oce_feature_bitmap; uint32_t btm_offload_config; @@ -1266,7 +1253,7 @@ typedef struct tagCsrUpdateConfigParam { } tCsrUpdateConfigParam; #ifdef WLAN_FEATURE_ROAM_OFFLOAD #define csr_roamIsRoamOffloadEnabled(pMac) \ - (pMac->roam.configParam.isRoamOffloadEnabled) + (pMac->mlme_cfg->lfr.lfr3_roaming_offload) #define DEFAULT_REASSOC_FAILURE_TIMEOUT 1000 #else #define csr_roamIsRoamOffloadEnabled(pMac) false diff --git a/core/sme/inc/csr_internal.h b/core/sme/inc/csr_internal.h index da6c32e10af5..aaa87485ad19 100644 --- a/core/sme/inc/csr_internal.h +++ b/core/sme/inc/csr_internal.h @@ -65,11 +65,6 @@ ( \ (((pMac)->roam.configParam.nSelect5GHzMargin) ? true : false) \ ) -#define CSR_IS_SELECT_5G_PREFERRED(pMac) \ - ( \ - (((pMac)->roam.configParam.roam_params.is_5g_pref_enabled) ? \ - true : false) \ - ) #define CSR_IS_ROAM_PREFER_5GHZ(pMac) \ ( \ (((pMac)->roam.configParam.nRoamPrefer5GHz) ? true : false) \ @@ -475,7 +470,6 @@ struct csr_config { #endif uint8_t isFastTransitionEnabled; uint8_t RoamRssiDiff; - int32_t rssi_abs_thresh; bool nRoamPrefer5GHz; bool nRoamIntraBand; bool isWESModeEnabled; @@ -534,9 +528,6 @@ struct csr_config { uint8_t conc_custom_rule2; uint8_t is_sta_connection_in_5gz_enabled; struct roam_ext_params roam_params; - bool early_stop_scan_enable; - int8_t early_stop_scan_min_threshold; - int8_t early_stop_scan_max_threshold; bool ignore_peer_ht_opmode; bool enable_edca_params; uint32_t edca_vo_cwmin; @@ -555,9 +546,7 @@ struct csr_config { bool vendor_vht_sap; enum scan_dwelltime_adaptive_mode scan_adaptive_dwell_mode; enum scan_dwelltime_adaptive_mode scan_adaptive_dwell_mode_nc; - enum scan_dwelltime_adaptive_mode roamscan_adaptive_dwell_mode; struct csr_sta_roam_policy_params sta_roam_policy; - struct wmi_per_roam_config per_roam_config; bool enable_bcast_probe_rsp; bool is_fils_enabled; #ifdef WLAN_FEATURE_11AX @@ -566,9 +555,6 @@ struct csr_config { #endif uint16_t pkt_err_disconn_th; bool is_force_1x1; - uint32_t disallow_duration; - uint32_t rssi_channel_penalization; - uint32_t num_disallowed_aps; uint16_t wlm_latency_enable; uint16_t wlm_latency_level; uint32_t wlm_latency_flags[CSR_NUM_WLM_LATENCY_LEVEL]; diff --git a/core/sme/inc/csr_neighbor_roam.h b/core/sme/inc/csr_neighbor_roam.h index 7627a96e197e..e933159c2259 100644 --- a/core/sme/inc/csr_neighbor_roam.h +++ b/core/sme/inc/csr_neighbor_roam.h @@ -43,7 +43,6 @@ typedef enum { /* Parameters that are obtained from CFG */ typedef struct sCsrNeighborRoamCfgParams { - uint8_t maxNeighborRetries; uint32_t neighborScanPeriod; uint32_t neighbor_scan_min_period; tCsrChannelInfo channelInfo; diff --git a/core/sme/inc/sme_api.h b/core/sme/inc/sme_api.h index 2c3011219a98..2d5a22efbb3a 100644 --- a/core/sme/inc/sme_api.h +++ b/core/sme/inc/sme_api.h @@ -2071,17 +2071,6 @@ QDF_STATUS sme_get_peer_info_ext(tHalHandle hal, void (*callbackfn)(struct sir_peer_info_ext_resp *param, void *pcontext)); -/** - * sme_set_5g_band_pref() - sme api to set 5Ghz preference - * @hal: hal handle for getting global mac struct - * @pref_params: preference info request struct - * - * This function will set 5Ghz preference for STA connection - * - * Return: None - */ -void sme_set_5g_band_pref(tHalHandle hal_handle, - struct sme_5g_band_pref_params *pref_params); /** * sme_get_chain_rssi() - Get chain rssi * @hal: Global HAL handle diff --git a/core/sme/src/common/sme_api.c b/core/sme/src/common/sme_api.c index 811fefc21d90..bd85a1ab2820 100644 --- a/core/sme/src/common/sme_api.c +++ b/core/sme/src/common/sme_api.c @@ -1002,21 +1002,21 @@ QDF_STATUS sme_update_roam_params(tHalHandle hal, roam_params_dst = &mac_ctx->roam.configParam.roam_params; switch (update_param) { case REASON_ROAM_EXT_SCAN_PARAMS_CHANGED: - roam_params_dst->raise_rssi_thresh_5g = + mac_ctx->mlme_cfg->lfr.rssi_boost_threshold_5g = roam_params_src->raise_rssi_thresh_5g; - roam_params_dst->drop_rssi_thresh_5g = + mac_ctx->mlme_cfg->lfr.rssi_penalize_threshold_5g = roam_params_src->drop_rssi_thresh_5g; - roam_params_dst->raise_factor_5g = + mac_ctx->mlme_cfg->lfr.rssi_boost_factor_5g = roam_params_src->raise_factor_5g; - roam_params_dst->drop_factor_5g = + mac_ctx->mlme_cfg->lfr.rssi_penalize_factor_5g = roam_params_src->drop_factor_5g; - roam_params_dst->max_raise_rssi_5g = + mac_ctx->mlme_cfg->lfr.max_rssi_boost_5g = roam_params_src->max_raise_rssi_5g; - roam_params_dst->max_drop_rssi_5g = + mac_ctx->mlme_cfg->lfr.max_rssi_penalize_5g = roam_params_src->max_drop_rssi_5g; roam_params_dst->alert_rssi_threshold = roam_params_src->alert_rssi_threshold; - roam_params_dst->is_5g_pref_enabled = true; + mac_ctx->mlme_cfg->lfr.enable_5g_band_pref = true; break; case REASON_ROAM_SET_SSID_ALLOWED: qdf_mem_set(&roam_params_dst->ssid_allowed_list, 0, @@ -12057,36 +12057,6 @@ QDF_STATUS sme_power_debug_stats_req(tHalHandle hal, void (*callback_fn) #endif #ifdef WLAN_FEATURE_ROAM_OFFLOAD -/* - * sme_update_roam_offload_enabled() - enable/disable roam offload feaure - * It is used at in the REG_DYNAMIC_VARIABLE macro definition of - * - * hHal - The handle returned by mac_open. - * nRoamOffloadEnabled - The bool to update with - * Return QDF_STATUS_SUCCESS - SME update config successfully. - * Other status means SME is failed to update. - */ - -QDF_STATUS sme_update_roam_offload_enabled(tHalHandle hHal, - bool nRoamOffloadEnabled) -{ - tpAniSirGlobal pMac = PMAC_STRUCT(hHal); - QDF_STATUS status = QDF_STATUS_SUCCESS; - - status = sme_acquire_global_lock(&pMac->sme); - if (QDF_IS_STATUS_SUCCESS(status)) { - QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, - "%s: LFR3:gRoamOffloadEnabled is changed from %d to %d", - __func__, pMac->roam.configParam.isRoamOffloadEnabled, - nRoamOffloadEnabled); - pMac->roam.configParam.isRoamOffloadEnabled = - nRoamOffloadEnabled; - sme_release_global_lock(&pMac->sme); - } - - return status; -} - /** * sme_update_roam_key_mgmt_offload_enabled() - enable/disable key mgmt offload * This is a synchronous call @@ -14903,49 +14873,6 @@ bool sme_roam_is_ese_assoc(struct csr_roam_info *roam_info) return roam_info->isESEAssoc; } #endif -/** - * sme_set_5g_band_pref(): If 5G preference is enabled,set boost/drop - * params from ini. - * @hal_handle: Handle returned by mac_open - * @5g_pref_params: pref params from ini. - * - * Returns: None - */ -void sme_set_5g_band_pref(tHalHandle hal_handle, - struct sme_5g_band_pref_params *pref_params) -{ - - tpAniSirGlobal mac_ctx = PMAC_STRUCT(hal_handle); - struct roam_ext_params *roam_params; - QDF_STATUS status = QDF_STATUS_SUCCESS; - - if (!pref_params) { - QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR, - "Invalid 5G pref params!"); - return; - } - status = sme_acquire_global_lock(&mac_ctx->sme); - if (QDF_STATUS_SUCCESS == status) { - roam_params = &mac_ctx->roam.configParam.roam_params; - roam_params->raise_rssi_thresh_5g = - pref_params->rssi_boost_threshold_5g; - roam_params->raise_factor_5g = - pref_params->rssi_boost_factor_5g; - roam_params->max_raise_rssi_5g = - pref_params->max_rssi_boost_5g; - roam_params->drop_rssi_thresh_5g = - pref_params->rssi_penalize_threshold_5g; - roam_params->drop_factor_5g = - pref_params->rssi_penalize_factor_5g; - roam_params->max_drop_rssi_5g = - pref_params->max_rssi_penalize_5g; - - sme_release_global_lock(&mac_ctx->sme); - } else - QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR, - "Unable to acquire global sme lock"); -} - bool sme_neighbor_roam_is11r_assoc(tHalHandle hal_ctx, uint8_t session_id) { diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index b74a5ea7d1e0..285e2c6c2194 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -1179,7 +1179,7 @@ QDF_STATUS csr_update_channel_list(tpAniSirGlobal pMac) csr_add_social_channels(pMac, pChanList, pScan, &num_channel); - if (pMac->roam.configParam.early_stop_scan_enable) + if (pMac->mlme_cfg->lfr.early_stop_scan_enable) csr_roam_sort_channel_for_early_stop(pMac, pChanList, num_channel); else @@ -1711,7 +1711,6 @@ static void init_config_param(tpAniSirGlobal pMac) pMac->roam.configParam.neighborRoamConfig.nMaxNeighborRetries = 3; pMac->roam.configParam.neighborRoamConfig.nNeighborLookupRssiThreshold = 120; - pMac->roam.configParam.neighborRoamConfig.rssi_thresh_offset_5g = 0; pMac->roam.configParam.neighborRoamConfig.nOpportunisticThresholdDiff = 30; pMac->roam.configParam.neighborRoamConfig.nRoamRescanRssiDiff = 5; @@ -1748,15 +1747,6 @@ static void init_config_param(tpAniSirGlobal pMac) pMac->roam.configParam.nInitialDwellTime = 0; pMac->roam.configParam.initial_scan_no_dfs_chnl = 0; pMac->roam.configParam.csr_mawc_config.mawc_enabled = true; - pMac->roam.configParam.csr_mawc_config.mawc_roam_enabled = true; - pMac->roam.configParam.csr_mawc_config.mawc_roam_traffic_threshold = - MAWC_ROAM_TRAFFIC_THRESHOLD_DEFAULT; - pMac->roam.configParam.csr_mawc_config.mawc_roam_ap_rssi_threshold = - MAWC_ROAM_AP_RSSI_THRESHOLD_DEFAULT; - pMac->roam.configParam.csr_mawc_config.mawc_roam_rssi_high_adjust = - MAWC_ROAM_RSSI_HIGH_ADJUST_DEFAULT; - pMac->roam.configParam.csr_mawc_config.mawc_roam_rssi_low_adjust = - MAWC_ROAM_RSSI_LOW_ADJUST_DEFAULT; qdf_mem_zero(&pMac->roam.configParam.bss_score_params, sizeof(struct sir_score_config)); @@ -2766,6 +2756,24 @@ void csr_set_11k_offload_config_param(struct csr_config *csr_config, max_neighbor_report_req_cap; } +static void +csr_copy_mawc_config(tpAniSirGlobal pMac, + struct mawc_params *mawc_config) +{ + mawc_config->mawc_enabled = + pMac->roam.configParam.csr_mawc_config.mawc_enabled; + mawc_config->mawc_roam_enabled = + pMac->mlme_cfg->lfr.mawc_roam_enabled; + mawc_config->mawc_roam_traffic_threshold = + pMac->mlme_cfg->lfr.mawc_roam_traffic_threshold; + mawc_config->mawc_roam_ap_rssi_threshold = + pMac->mlme_cfg->lfr.mawc_roam_ap_rssi_threshold; + mawc_config->mawc_roam_rssi_high_adjust = + pMac->mlme_cfg->lfr.mawc_roam_rssi_high_adjust; + mawc_config->mawc_roam_rssi_low_adjust = + pMac->mlme_cfg->lfr.mawc_roam_rssi_low_adjust; +} + QDF_STATUS csr_change_default_config_param(tpAniSirGlobal pMac, tCsrConfigParam *pParam) { @@ -2891,10 +2899,8 @@ QDF_STATUS csr_change_default_config_param(tpAniSirGlobal pMac, pParam->nScanResultAgeCount; } - pMac->first_scan_bucket_threshold = - pParam->first_scan_bucket_threshold; csr_assign_rssi_for_category(pMac, - pMac->first_scan_bucket_threshold, + pMac->mlme_cfg->lfr.first_scan_bucket_threshold, pParam->bCatRssiOffset); pMac->roam.configParam.fSupplicantCountryCodeHasPriority = pParam->fSupplicantCountryCodeHasPriority; @@ -2926,8 +2932,6 @@ QDF_STATUS csr_change_default_config_param(tpAniSirGlobal pMac, pMac->roam.configParam.isFastTransitionEnabled = pParam->isFastTransitionEnabled; pMac->roam.configParam.RoamRssiDiff = pParam->RoamRssiDiff; - pMac->roam.configParam.rssi_abs_thresh = - pParam->rssi_abs_thresh; pMac->roam.configParam.nRoamPrefer5GHz = pParam->nRoamPrefer5GHz; pMac->roam.configParam.nRoamIntraBand = pParam->nRoamIntraBand; @@ -2942,9 +2946,8 @@ QDF_STATUS csr_change_default_config_param(tpAniSirGlobal pMac, pParam->bFastRoamInConIniFeatureEnabled; pMac->roam.configParam.isFastRoamIniFeatureEnabled = pParam->isFastRoamIniFeatureEnabled; - qdf_mem_copy(&pMac->roam.configParam.csr_mawc_config, - &pParam->csr_mawc_config, - sizeof(pParam->csr_mawc_config)); + pMac->roam.configParam.csr_mawc_config.mawc_enabled = + pParam->csr_mawc_config.mawc_enabled; #ifdef FEATURE_WLAN_ESE pMac->roam.configParam.isEseIniFeatureEnabled = pParam->isEseIniFeatureEnabled; @@ -2961,8 +2964,6 @@ QDF_STATUS csr_change_default_config_param(tpAniSirGlobal pMac, sme_debug("nNeighborLookupRssiThreshold: %d", pMac->roam.configParam.neighborRoamConfig. nNeighborLookupRssiThreshold); - sme_debug("rssi_thresh_offset_5g: %d", - pMac->roam.configParam.neighborRoamConfig.rssi_thresh_offset_5g); sme_debug("nOpportunisticThresholdDiff: %d", pMac->roam.configParam.neighborRoamConfig. nOpportunisticThresholdDiff); @@ -2975,9 +2976,6 @@ QDF_STATUS csr_change_default_config_param(tpAniSirGlobal pMac, sme_debug("nNeighborScanMaxChanTime: %d", pMac->roam.configParam.neighborRoamConfig. nNeighborScanMaxChanTime); - sme_debug("nMaxNeighborRetries: %d", - pMac->roam.configParam.neighborRoamConfig. - nMaxNeighborRetries); sme_debug("nNeighborResultsRefreshPeriod: %d", pMac->roam.configParam.neighborRoamConfig. nNeighborResultsRefreshPeriod); @@ -3069,10 +3067,6 @@ QDF_STATUS csr_change_default_config_param(tpAniSirGlobal pMac, #endif pMac->roam.configParam.allowDFSChannelRoam = pParam->allowDFSChannelRoam; -#ifdef WLAN_FEATURE_ROAM_OFFLOAD - pMac->roam.configParam.isRoamOffloadEnabled = - pParam->isRoamOffloadEnabled; -#endif pMac->roam.configParam.obssEnabled = pParam->obssEnabled; pMac->roam.configParam.vendor_vht_sap = pParam->vendor_vht_sap; @@ -3083,61 +3077,15 @@ QDF_STATUS csr_change_default_config_param(tpAniSirGlobal pMac, pMac->roam.configParam.is_sta_connection_in_5gz_enabled = pParam->is_sta_connection_in_5gz_enabled; - pMac->roam.configParam.early_stop_scan_enable = - pParam->early_stop_scan_enable; - pMac->roam.configParam.early_stop_scan_min_threshold = - pParam->early_stop_scan_min_threshold; - pMac->roam.configParam.early_stop_scan_max_threshold = - pParam->early_stop_scan_max_threshold; pMac->isCoalesingInIBSSAllowed = pParam->isCoalesingInIBSSAllowed; - pMac->roam.configParam.roam_params.dense_rssi_thresh_offset = - pParam->roam_dense_rssi_thresh_offset; - pMac->roam.configParam.roam_params.dense_min_aps_cnt = - pParam->roam_dense_min_aps; - pMac->roam.configParam.roam_params.traffic_threshold = - pParam->roam_dense_traffic_thresh; - - pMac->roam.configParam.roam_params.bg_scan_bad_rssi_thresh = - pParam->roam_bg_scan_bad_rssi_thresh; - pMac->roam.configParam.roam_params.bg_scan_client_bitmap = - pParam->roam_bg_scan_client_bitmap; - pMac->roam.configParam.roam_params. - roam_bad_rssi_thresh_offset_2g = - pParam->roam_bad_rssi_thresh_offset_2g; - pMac->roam.configParam.enable_ftopen = pParam->enable_ftopen; pMac->roam.configParam.scan_adaptive_dwell_mode = pParam->scan_adaptive_dwell_mode; pMac->roam.configParam.scan_adaptive_dwell_mode_nc = pParam->scan_adaptive_dwell_mode_nc; - pMac->roam.configParam.roamscan_adaptive_dwell_mode = - pParam->roamscan_adaptive_dwell_mode; - - pMac->roam.configParam.per_roam_config.enable = - pParam->per_roam_config.enable; - pMac->roam.configParam.per_roam_config.tx_high_rate_thresh = - pParam->per_roam_config.tx_high_rate_thresh; - pMac->roam.configParam.per_roam_config.rx_high_rate_thresh = - pParam->per_roam_config.rx_high_rate_thresh; - pMac->roam.configParam.per_roam_config.tx_low_rate_thresh = - pParam->per_roam_config.tx_low_rate_thresh; - pMac->roam.configParam.per_roam_config.rx_low_rate_thresh = - pParam->per_roam_config.rx_low_rate_thresh; - pMac->roam.configParam.per_roam_config.tx_rate_thresh_percnt = - pParam->per_roam_config.tx_rate_thresh_percnt; - pMac->roam.configParam.per_roam_config.rx_rate_thresh_percnt = - pParam->per_roam_config.rx_rate_thresh_percnt; - pMac->roam.configParam.per_roam_config.per_rest_time = - pParam->per_roam_config.per_rest_time; - pMac->roam.configParam.per_roam_config.tx_per_mon_time = - pParam->per_roam_config.tx_per_mon_time; - pMac->roam.configParam.per_roam_config.rx_per_mon_time = - pParam->per_roam_config.rx_per_mon_time; - pMac->roam.configParam.per_roam_config.min_candidate_rssi = - pParam->per_roam_config.min_candidate_rssi; pMac->fEnableDebugLog = pParam->fEnableDebugLog; @@ -3168,12 +3116,6 @@ QDF_STATUS csr_change_default_config_param(tpAniSirGlobal pMac, pParam->dual_mac_feature_disable; pMac->sta_sap_scc_on_dfs_chan = pParam->sta_sap_scc_on_dfs_chan; - pMac->roam.configParam.early_stop_scan_enable = - pParam->early_stop_scan_enable; - pMac->roam.configParam.early_stop_scan_min_threshold = - pParam->early_stop_scan_min_threshold; - pMac->roam.configParam.early_stop_scan_max_threshold = - pParam->early_stop_scan_max_threshold; pMac->roam.configParam.enable_edca_params = pParam->enable_edca_params; pMac->roam.configParam.edca_vo_cwmin = pParam->edca_vo_cwmin; @@ -3204,12 +3146,6 @@ QDF_STATUS csr_change_default_config_param(tpAniSirGlobal pMac, pParam->enable_bcast_probe_rsp; pMac->roam.configParam.is_fils_enabled = pParam->is_fils_enabled; - pMac->roam.configParam.disallow_duration = - pParam->disallow_duration; - pMac->roam.configParam.rssi_channel_penalization = - pParam->rssi_channel_penalization; - pMac->roam.configParam.num_disallowed_aps = - pParam->num_disallowed_aps; pMac->roam.configParam.wlm_latency_enable = pParam->wlm_latency_enable; pMac->roam.configParam.wlm_latency_level = @@ -3343,7 +3279,6 @@ QDF_STATUS csr_get_config_param(tpAniSirGlobal pMac, tCsrConfigParam *pParam) pParam->enable2x2 = cfg_params->enable2x2; pParam->isFastTransitionEnabled = cfg_params->isFastTransitionEnabled; pParam->RoamRssiDiff = cfg_params->RoamRssiDiff; - pParam->rssi_abs_thresh = cfg_params->rssi_abs_thresh; pParam->nRoamPrefer5GHz = cfg_params->nRoamPrefer5GHz; pParam->nRoamIntraBand = cfg_params->nRoamIntraBand; pParam->isWESModeEnabled = cfg_params->isWESModeEnabled; @@ -3387,19 +3322,12 @@ QDF_STATUS csr_get_config_param(tpAniSirGlobal pMac, tCsrConfigParam *pParam) pParam->allowDFSChannelRoam = cfg_params->allowDFSChannelRoam; pParam->nInitialDwellTime = cfg_params->nInitialDwellTime; pParam->initial_scan_no_dfs_chnl = cfg_params->initial_scan_no_dfs_chnl; -#ifdef WLAN_FEATURE_ROAM_OFFLOAD - pParam->isRoamOffloadEnabled = cfg_params->isRoamOffloadEnabled; -#endif csr_set_channels(pMac, pParam); pParam->obssEnabled = cfg_params->obssEnabled; pParam->vendor_vht_sap = pMac->roam.configParam.vendor_vht_sap; - pParam->roam_dense_rssi_thresh_offset = - cfg_params->roam_params.dense_rssi_thresh_offset; pParam->roam_dense_min_aps = cfg_params->roam_params.dense_min_aps_cnt; - pParam->roam_dense_traffic_thresh = - cfg_params->roam_params.traffic_threshold; pParam->roam_bg_scan_bad_rssi_thresh = cfg_params->roam_params.bg_scan_bad_rssi_thresh; @@ -3413,38 +3341,12 @@ QDF_STATUS csr_get_config_param(tpAniSirGlobal pMac, tCsrConfigParam *pParam) cfg_params->scan_adaptive_dwell_mode; pParam->scan_adaptive_dwell_mode_nc = cfg_params->scan_adaptive_dwell_mode_nc; - pParam->roamscan_adaptive_dwell_mode = - cfg_params->roamscan_adaptive_dwell_mode; - - pParam->per_roam_config.enable = cfg_params->per_roam_config.enable; - pParam->per_roam_config.tx_high_rate_thresh = - cfg_params->per_roam_config.tx_high_rate_thresh; - pParam->per_roam_config.rx_high_rate_thresh = - cfg_params->per_roam_config.rx_high_rate_thresh; - pParam->per_roam_config.tx_low_rate_thresh = - cfg_params->per_roam_config.tx_low_rate_thresh; - pParam->per_roam_config.rx_low_rate_thresh = - cfg_params->per_roam_config.rx_low_rate_thresh; - pParam->per_roam_config.tx_rate_thresh_percnt = - cfg_params->per_roam_config.tx_rate_thresh_percnt; - pParam->per_roam_config.rx_rate_thresh_percnt = - cfg_params->per_roam_config.rx_rate_thresh_percnt; - pParam->per_roam_config.per_rest_time = - cfg_params->per_roam_config.per_rest_time; - pParam->per_roam_config.tx_per_mon_time = - cfg_params->per_roam_config.tx_per_mon_time; - pParam->per_roam_config.rx_per_mon_time = - cfg_params->per_roam_config.rx_per_mon_time; - pParam->per_roam_config.min_candidate_rssi = - cfg_params->per_roam_config.min_candidate_rssi; pParam->conc_custom_rule1 = cfg_params->conc_custom_rule1; pParam->conc_custom_rule2 = cfg_params->conc_custom_rule2; pParam->is_sta_connection_in_5gz_enabled = cfg_params->is_sta_connection_in_5gz_enabled; pParam->max_scan_count = pMac->scan.max_scan_count; - pParam->first_scan_bucket_threshold = - pMac->first_scan_bucket_threshold; #ifdef FEATURE_AP_MCC_CH_AVOIDANCE pParam->sap_channel_avoidance = pMac->sap.sap_channel_avoidance; #endif /* FEATURE_AP_MCC_CH_AVOIDANCE */ @@ -3463,12 +3365,6 @@ QDF_STATUS csr_get_config_param(tpAniSirGlobal pMac, tCsrConfigParam *pParam) pParam->fEnableDebugLog = pMac->fEnableDebugLog; pParam->f_sta_miracast_mcc_rest_time_val = pMac->f_sta_miracast_mcc_rest_time_val; - pParam->early_stop_scan_enable = - pMac->roam.configParam.early_stop_scan_enable; - pParam->early_stop_scan_min_threshold = - pMac->roam.configParam.early_stop_scan_min_threshold; - pParam->early_stop_scan_max_threshold = - pMac->roam.configParam.early_stop_scan_max_threshold; pParam->ignore_peer_ht_opmode = pMac->roam.configParam.ignore_peer_ht_opmode; pParam->enableHtSmps = pMac->roam.configParam.enableHtSmps; @@ -3501,19 +3397,9 @@ QDF_STATUS csr_get_config_param(tpAniSirGlobal pMac, tCsrConfigParam *pParam) pMac->roam.configParam.enable_bcast_probe_rsp; pParam->is_fils_enabled = pMac->roam.configParam.is_fils_enabled; - pParam->disallow_duration = - pMac->roam.configParam.disallow_duration; - pParam->rssi_channel_penalization = - pMac->roam.configParam.rssi_channel_penalization; - pParam->num_disallowed_aps = - pMac->roam.configParam.num_disallowed_aps; pParam->oce_feature_bitmap = pMac->roam.configParam.oce_feature_bitmap; pParam->roam_force_rssi_trigger = cfg_params->roam_force_rssi_trigger; - qdf_mem_copy(&pParam->csr_mawc_config, - &pMac->roam.configParam.csr_mawc_config, - sizeof(pParam->csr_mawc_config)); - qdf_mem_copy(&pParam->bss_score_params, &pMac->roam.configParam.bss_score_params, sizeof(struct sir_score_config)); @@ -18772,7 +18658,8 @@ csr_create_roam_scan_offload_request(tpAniSirGlobal mac_ctx, req_buf->RoamRescanRssiDiff = roam_info->cfgParams.nRoamRescanRssiDiff; req_buf->RoamRssiDiff = mac_ctx->roam.configParam.RoamRssiDiff; - req_buf->rssi_abs_thresh = mac_ctx->roam.configParam.rssi_abs_thresh; + req_buf->rssi_abs_thresh = + mac_ctx->mlme_cfg->lfr.roam_rssi_abs_threshold; req_buf->reason = reason; req_buf->NeighborScanTimerPeriod = roam_info->cfgParams.neighborScanPeriod; @@ -18792,9 +18679,7 @@ csr_create_roam_scan_offload_request(tpAniSirGlobal mac_ctx, roam_info->cfgParams.nRoamBmissFinalBcnt; req_buf->RoamBeaconRssiWeight = roam_info->cfgParams.nRoamBeaconRssiWeight; - qdf_mem_copy(&req_buf->mawc_roam_params, - &mac_ctx->roam.configParam.csr_mawc_config, - sizeof(req_buf->mawc_roam_params)); + csr_copy_mawc_config(mac_ctx, &req_buf->mawc_roam_params); sme_debug("MAWC:global=%d,roam=%d,traffic=%d,ap_rssi=%d,high=%d,low=%d", req_buf->mawc_roam_params.mawc_enabled, req_buf->mawc_roam_params.mawc_roam_enabled, @@ -18913,19 +18798,19 @@ csr_create_roam_scan_offload_request(tpAniSirGlobal mac_ctx, req_buf->allowDFSChannelRoam = mac_ctx->roam.configParam.allowDFSChannelRoam; req_buf->early_stop_scan_enable = - mac_ctx->roam.configParam.early_stop_scan_enable; + mac_ctx->mlme_cfg->lfr.early_stop_scan_enable; req_buf->early_stop_scan_min_threshold = - mac_ctx->roam.configParam.early_stop_scan_min_threshold; + mac_ctx->mlme_cfg->lfr.early_stop_scan_min_threshold; req_buf->early_stop_scan_max_threshold = - mac_ctx->roam.configParam.early_stop_scan_max_threshold; + mac_ctx->mlme_cfg->lfr.early_stop_scan_max_threshold; req_buf->roamscan_adaptive_dwell_mode = - mac_ctx->roam.configParam.roamscan_adaptive_dwell_mode; + mac_ctx->mlme_cfg->lfr.adaptive_roamscan_dwell_mode; req_buf->lca_config_params.disallow_duration = - mac_ctx->roam.configParam.disallow_duration; + mac_ctx->mlme_cfg->lfr.lfr3_disallow_duration; req_buf->lca_config_params.rssi_channel_penalization = - mac_ctx->roam.configParam.rssi_channel_penalization; + mac_ctx->mlme_cfg->lfr.lfr3_rssi_channel_penalization; req_buf->lca_config_params.num_disallowed_aps = - mac_ctx->roam.configParam.num_disallowed_aps; + mac_ctx->mlme_cfg->lfr.lfr3_num_disallowed_aps; /* For RSO Stop, we need to notify FW to deinit BTM */ if (command == ROAM_SCAN_OFFLOAD_STOP) @@ -19501,27 +19386,27 @@ csr_create_per_roam_request(tpAniSirGlobal mac_ctx, } req_buf->vdev_id = session_id; req_buf->per_config.enable = - mac_ctx->roam.configParam.per_roam_config.enable; + mac_ctx->mlme_cfg->lfr.per_roam_enable; req_buf->per_config.tx_high_rate_thresh = - mac_ctx->roam.configParam.per_roam_config.tx_high_rate_thresh; + mac_ctx->mlme_cfg->lfr.per_roam_config_high_rate_th; req_buf->per_config.rx_high_rate_thresh = - mac_ctx->roam.configParam.per_roam_config.rx_high_rate_thresh; + mac_ctx->mlme_cfg->lfr.per_roam_config_high_rate_th; req_buf->per_config.tx_low_rate_thresh = - mac_ctx->roam.configParam.per_roam_config.tx_low_rate_thresh; + mac_ctx->mlme_cfg->lfr.per_roam_config_low_rate_th; req_buf->per_config.rx_low_rate_thresh = - mac_ctx->roam.configParam.per_roam_config.rx_low_rate_thresh; + mac_ctx->mlme_cfg->lfr.per_roam_config_low_rate_th; req_buf->per_config.per_rest_time = - mac_ctx->roam.configParam.per_roam_config.per_rest_time; + mac_ctx->mlme_cfg->lfr.per_roam_rest_time; req_buf->per_config.tx_per_mon_time = - mac_ctx->roam.configParam.per_roam_config.tx_per_mon_time; + mac_ctx->mlme_cfg->lfr.per_roam_monitor_time; req_buf->per_config.rx_per_mon_time = - mac_ctx->roam.configParam.per_roam_config.rx_per_mon_time; + mac_ctx->mlme_cfg->lfr.per_roam_monitor_time; req_buf->per_config.tx_rate_thresh_percnt = - mac_ctx->roam.configParam.per_roam_config.tx_rate_thresh_percnt; + mac_ctx->mlme_cfg->lfr.per_roam_config_rate_th_percent; req_buf->per_config.rx_rate_thresh_percnt = - mac_ctx->roam.configParam.per_roam_config.rx_rate_thresh_percnt; + mac_ctx->mlme_cfg->lfr.per_roam_config_rate_th_percent; req_buf->per_config.min_candidate_rssi = - mac_ctx->roam.configParam.per_roam_config.min_candidate_rssi; + mac_ctx->mlme_cfg->lfr.per_roam_min_candidate_rssi; QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, "PER based roaming configuaration enable: %d vdev: %d high_rate_thresh: %d low_rate_thresh: %d rate_thresh_percnt: %d per_rest_time: %d monitor_time: %d min cand rssi: %d", @@ -19560,7 +19445,7 @@ csr_roam_offload_per_scan(tpAniSirGlobal mac_ctx, uint8_t session_id) if (roam_info->last_sent_cmd == ROAM_SCAN_OFFLOAD_STOP) return QDF_STATUS_SUCCESS; - if (!mac_ctx->roam.configParam.per_roam_config.enable) { + if (!mac_ctx->mlme_cfg->lfr.per_roam_enable) { QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, "PER based roaming is disabled in configuration"); return QDF_STATUS_SUCCESS; @@ -19981,6 +19866,31 @@ csr_roam_offload_scan(tpAniSirGlobal mac_ctx, uint8_t session_id, sme_debug("5g offset threshold: %d", req_buf->rssi_thresh_offset_5g); qdf_mem_copy(roam_params_dst, roam_params_src, sizeof(*roam_params_dst)); + roam_params_dst->traffic_threshold = + mac_ctx->mlme_cfg->lfr.roam_dense_traffic_threshold; + roam_params_dst->dense_rssi_thresh_offset = + mac_ctx->mlme_cfg->lfr.roam_dense_rssi_thre_offset; + roam_params_dst->dense_min_aps_cnt = + mac_ctx->mlme_cfg->lfr.roam_dense_min_aps; + roam_params_dst->bg_scan_bad_rssi_thresh = + mac_ctx->mlme_cfg->lfr.roam_bg_scan_bad_rssi_threshold; + roam_params_dst->bg_scan_client_bitmap = + mac_ctx->mlme_cfg->lfr.roam_bg_scan_client_bitmap; + roam_params_dst->roam_bad_rssi_thresh_offset_2g = + mac_ctx->mlme_cfg->lfr.roam_bg_scan_bad_rssi_offset_2g; + roam_params_dst->raise_rssi_thresh_5g = + mac_ctx->mlme_cfg->lfr.rssi_boost_threshold_5g; + roam_params_dst->drop_rssi_thresh_5g = + mac_ctx->mlme_cfg->lfr.rssi_penalize_threshold_5g; + roam_params_dst->raise_factor_5g = + mac_ctx->mlme_cfg->lfr.rssi_boost_factor_5g; + roam_params_dst->drop_factor_5g = + mac_ctx->mlme_cfg->lfr.rssi_penalize_factor_5g; + roam_params_dst->max_raise_rssi_5g = + mac_ctx->mlme_cfg->lfr.max_rssi_boost_5g; + roam_params_dst->max_drop_rssi_5g = + mac_ctx->mlme_cfg->lfr.max_rssi_penalize_5g; + /* * rssi_diff which is updated via framework is equivalent to the * INI RoamRssiDiff parameter and hence should be updated. diff --git a/core/sme/src/csr/csr_neighbor_roam.c b/core/sme/src/csr/csr_neighbor_roam.c index 6fe7d6ef5175..2b58f77a69e2 100644 --- a/core/sme/src/csr/csr_neighbor_roam.c +++ b/core/sme/src/csr/csr_neighbor_roam.c @@ -1186,9 +1186,6 @@ static QDF_STATUS csr_neighbor_roam_init11r_assoc_info(tpAniSirGlobal pMac) pFTRoamInfo = &pNeighborRoamInfo->FTRoamInfo; pNeighborRoamInfo->is11rAssoc = false; - pNeighborRoamInfo->cfgParams.maxNeighborRetries = - pMac->roam.configParam.neighborRoamConfig. - nMaxNeighborRetries; pFTRoamInfo->neighborReportTimeout = CSR_NEIGHBOR_ROAM_REPORT_QUERY_TIMEOUT; @@ -1238,12 +1235,11 @@ QDF_STATUS csr_neighbor_roam_init(tpAniSirGlobal pMac, uint8_t sessionId) pNeighborRoamInfo->cfgParams.minChannelScanTime = pMac->roam.configParam.neighborRoamConfig. nNeighborScanMinChanTime; - pNeighborRoamInfo->cfgParams.maxNeighborRetries = 0; pNeighborRoamInfo->cfgParams.neighborLookupThreshold = pMac->roam.configParam.neighborRoamConfig. nNeighborLookupRssiThreshold; pNeighborRoamInfo->cfgParams.rssi_thresh_offset_5g = - pMac->roam.configParam.neighborRoamConfig.rssi_thresh_offset_5g; + pMac->mlme_cfg->lfr.rssi_threshold_offset_5g; pNeighborRoamInfo->cfgParams.delay_before_vdev_stop = pMac->roam.configParam.neighborRoamConfig. delay_before_vdev_stop;