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
This commit is contained in:
Wu Gao 2018-09-17 11:05:07 +08:00 • committed by nshrivas
commit ca416ff63a
22 changed files with 117 additions and 1441 deletions

View file

@ -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)
/*
* <ini>
* 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
*
* </ini>
*/
#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)
/*
* <ini>
* 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
*
* </ini>
*/
#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)
/*
* <ini>
* 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
*
* </ini>
*/
#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)
/*
* <ini>
* 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
*
* </ini>
*/
#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)
/*
* <ini>
* 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)
/*
* <ini>
* 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
*
* </ini>
*/
#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)
/*
* <ini>
* 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
/*
* <ini>
* 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
*
* </ini>
*/
#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
/*
* <ini>
* 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 */
/*
* <ini>
* 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
*
* </ini>
*/
#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)
/*
* <ini>
* 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)
/*
* <ini>
* 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
*
* </ini>
*/
#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)
/*
* <ini>
* 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
*
* </ini>
*/
#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)
/*
* <ini>
* 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
*
* </ini>
*/
#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)
/*
* <ini>
* 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)
/*
* <ini>
* 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
*
* </ini>
*/
#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)
/*
* <ini>
* 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
*
* </ini>
*/
#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)
/*
* <ini>
* 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
*
* </ini>
*/
#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)
/*
* <ini>
* 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
*
* </ini>
*/
#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)
/*
* <ini>
* 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
*
* </ini>
*/
#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)
/*
* <ini>
* 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
*
* </ini>
*/
#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)
/*
* <ini>
* 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
*
* </ini>
*/
#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)
/*
* <ini>
* 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)
/*
* <ini>
* 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
*
* </ini>
*/
#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)
/*
* <ini>
* gPowerUsage - Preferred Power Usage
@ -9008,32 +8529,6 @@ enum hdd_wext_control {
#define CFG_POWER_USAGE_MAX "Max"
#define CFG_POWER_USAGE_DEFAULT "Mod"
/*
* <ini>
* 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
*
* </ini>
*/
#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)
/*
* <ini>
* gEnableImps - Enable/Disable IMPS
@ -9518,140 +9013,6 @@ enum hdd_wext_control {
#define CFG_EXTWOW_TCP_RX_TIMEOUT_DEFAULT (200)
#endif
/*
* <ini>
* 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
*
* </ini>
*/
#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)
/*
* <ini>
* 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
*
* </ini>
*/
#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)
/*
* <ini>
* 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
*
* </ini>
*/
#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)
/*
* <ini>
* 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
*
* </ini>
*/
#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)
/*
* <ini>
* 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
*
* </ini>
*/
#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)
/*
* <ini>
* 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)
/*
* <ini>
* 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
*
* </ini>
*/
#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)
/*
* <ini>
* 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
*
* </ini>
*/
#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)
/*
* <ini>
* 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
*
* </ini>
*/
#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)
/*
* <ini>
* 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;

View file

@ -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)

View file

@ -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;

View file

@ -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);

View file

@ -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;

View file

@ -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

View file

@ -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

View file

@ -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)
*

View file

@ -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);

View file

@ -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,

View file

@ -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));

View file

@ -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
{

View file

@ -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");

View file

@ -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 */

View file

@ -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 *));

View file

@ -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

View file

@ -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];

View file

@ -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;

View file

@ -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

View file

@ -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)
{

View file

@ -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.

View file

@ -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;