浏览代码

qcacld-3.0: Send roam preauth retry_count and no_ack_timeout ini to FW

Create and send user configurable ini for max number of roam preauth
retries and roam preauth no-ack timeout to the firmware.

Change-Id: I66808b33f421f56cd7c007cdde1db19c8e7ca5f9
CRs-Fixed: 2279049
Sourav Mohapatra 7 年之前
父节点
当前提交
4722b5ffc9
共有 3 个文件被更改,包括 66 次插入1 次删除
  1. 4 0
      mlme/core/src/wlan_mlme_main.c
  2. 58 1
      mlme/dispatcher/inc/cfg_mlme_lfr.h
  3. 4 0
      mlme/dispatcher/inc/wlan_mlme_public_struct.h

+ 4 - 0
mlme/core/src/wlan_mlme_main.c

@@ -901,6 +901,10 @@ static void mlme_init_lfr_cfg(struct wlan_objmgr_psoc *psoc,
 		cfg_get(psoc, CFG_LFR_5G_MAX_RSSI_PENALIZE);
 	lfr->max_num_pre_auth = (uint32_t)
 		cfg_default(CFG_LFR_MAX_NUM_PRE_AUTH);
+	lfr->roam_preauth_no_ack_timeout =
+		cfg_get(psoc, CFG_LFR3_ROAM_PREAUTH_NO_ACK_TIMEOUT);
+	lfr->roam_preauth_retry_count =
+		cfg_get(psoc, CFG_LFR3_ROAM_PREAUTH_RETRY_COUNT);
 }
 
 static uint32_t

+ 58 - 1
mlme/dispatcher/inc/cfg_mlme_lfr.h

@@ -1086,6 +1086,61 @@
 	CFG_VALUE_OR_DEFAULT, \
 	"")
 
+/*
+ * roam_preauth_retry_count
+ *
+ * @Min: 1
+ * @Max: 10
+ * @Default: 5
+ *
+ * The maximum number of software retries for preauth or
+ * reassoc made before picking up the next candidate for
+ * connection during roaming.
+ *
+ * Related: N/A
+ *
+ * Supported Features: Roaming
+ *
+ * Usage: Internal/External
+ *
+ * </ini>
+ */
+#define CFG_LFR3_ROAM_PREAUTH_RETRY_COUNT CFG_INI_INT( \
+			"roam_preauth_retry_count", \
+			1, \
+			10, \
+			5, \
+			CFG_VALUE_OR_DEFAULT, \
+			"The maximum number of software retries for preauth")
+
+/*
+ * <ini>
+ * roam_preauth_no_ack_timeout
+ *
+ * @Min: 5
+ * @Max: 50
+ * @Default: 5
+ *
+ * Time to wait (in ms) after sending an preauth or reassoc
+ * request which didn’t have an ack, before considering
+ * it as a failure and making another software retry.
+ *
+ * Related: N/A
+ *
+ * Supported Features: Roaming
+ *
+ * Usage: Internal/External
+ *
+ * </ini>
+ */
+#define CFG_LFR3_ROAM_PREAUTH_NO_ACK_TIMEOUT CFG_INI_INT( \
+			"roam_preauth_no_ack_timeout", \
+			5, \
+			50, \
+			5, \
+			CFG_VALUE_OR_DEFAULT, \
+			"Time to wait after sending an preauth or reassoc")
+
 #define CFG_LFR_ALL \
 	CFG(CFG_LFR_MAWC_ROAM_ENABLED) \
 	CFG(CFG_LFR_MAWC_ROAM_TRAFFIC_THRESHOLD) \
@@ -1125,6 +1180,8 @@
 	CFG(CFG_LFR_5G_RSSI_PENALIZE_THRESHOLD) \
 	CFG(CFG_LFR_5G_RSSI_PENALIZE_FACTOR) \
 	CFG(CFG_LFR_5G_MAX_RSSI_PENALIZE) \
-	CFG(CFG_LFR_MAX_NUM_PRE_AUTH)
+	CFG(CFG_LFR_MAX_NUM_PRE_AUTH) \
+	CFG(CFG_LFR3_ROAM_PREAUTH_RETRY_COUNT) \
+	CFG(CFG_LFR3_ROAM_PREAUTH_NO_ACK_TIMEOUT)
 
 #endif /* CFG_MLME_LFR_H__ */

+ 4 - 0
mlme/dispatcher/inc/wlan_mlme_public_struct.h

@@ -801,6 +801,8 @@ struct wlan_mlme_sta_cfg {
  * @rssi_penalize_factor_5g:        Factor by which 5GHz RSSI is penalizeed
  * @max_rssi_penalize_5g:           Max penalty that can be applied to 5G RSSI
  * @max_num_pre_auth:               Configure max number of pre-auth
+ * @roam_preauth_retry_count:       Configure the max number of preauth retry
+ * @roam_preauth_no_ack_timeout:    Configure the no ack timeout period
  */
 struct wlan_mlme_lfr_cfg {
 	bool mawc_roam_enabled;
@@ -842,6 +844,8 @@ struct wlan_mlme_lfr_cfg {
 	uint32_t rssi_penalize_factor_5g;
 	uint32_t max_rssi_penalize_5g;
 	uint32_t max_num_pre_auth;
+	uint32_t roam_preauth_retry_count;
+	uint32_t roam_preauth_no_ack_timeout;
 };
 
 /**