Selaa lähdekoodia

qcacld-3.0: Relocate HDD ini items (1)

Relocate below HDD ini items as per converged infrastructure.
1. CFG_ENABLE_RUNTIME_PM
2. CFG_STA_KEEPALIVE_METHOD_NAME
3. CFG_ENABLE_MCC_ENABLED_NAME
4. CFG_ENABLE_SAP_SUSPEND
5. CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP_NAME
6. CFG_INFORM_BSS_RSSI_RAW_NAME
7. CFG_AP_ENABLE_RANDOM_BSSID_NAME
8. CFG_VC_MODE_BITMAP

Change-Id: I881c87f9ca73804d03af358163c9a043b3193c81
CRs-Fixed: 2357174
Sourav Mohapatra 6 vuotta sitten
vanhempi
sitoutus
f3f8127986

+ 2 - 2
fw_offload/dispatcher/inc/cfg_fwol_generic.h

@@ -393,7 +393,7 @@
 
 #ifdef DHCP_SERVER_OFFLOAD
 /* <ini>
- * gEnableDeauthToDisassocMap
+ * gDHCPServerOffloadEnable
  * @Min: 0
  * @Max: 1
  * @Default: 0
@@ -407,7 +407,7 @@
  * </ini>
  */
 #define CFG_DHCP_SERVER_OFFLOAD_SUPPORT CFG_INI_BOOL( \
-		"gEnableDeauthToDisassocMap", \
+		"gDHCPServerOffloadEnable", \
 		0, \
 		"DHCP Server offload support")
 

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

@@ -347,6 +347,8 @@ static void mlme_init_generic_cfg(struct wlan_objmgr_psoc *psoc,
 	gen->fw_timeout_crash =
 		cfg_get(psoc, CFG_CRASH_FW_TIMEOUT);
 	gen->debug_packet_log = cfg_get(psoc, CFG_ENABLE_DEBUG_PACKET_LOG);
+	gen->enable_deauth_to_disassoc_map =
+		cfg_get(psoc, CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP);
 	mlme_init_pmf_cfg(psoc, gen);
 	mlme_init_lpass_support_cfg(psoc, gen);
 
@@ -1150,6 +1152,8 @@ static void mlme_init_sap_cfg(struct wlan_objmgr_psoc *psoc,
 		cfg_get(psoc, CFG_SAP_FORCE_11N_FOR_11AC);
 	sap_cfg->go_force_11n_for_11ac =
 		cfg_get(psoc, CFG_GO_FORCE_11N_FOR_11AC);
+	sap_cfg->ap_random_bssid_enable =
+		cfg_get(psoc, CFG_AP_ENABLE_RANDOM_BSSID);
 
 }
 
@@ -1251,6 +1255,8 @@ static void mlme_init_sta_cfg(struct wlan_objmgr_psoc *psoc,
 	sta->current_rssi =
 		(uint32_t)cfg_default(CFG_CURRENT_RSSI);
 	sta->allow_tpc_from_ap = cfg_get(psoc, CFG_TX_POWER_CTRL);
+	sta->sta_keepalive_method =
+		cfg_get(psoc, CFG_STA_KEEPALIVE_METHOD);
 }
 
 #ifdef WLAN_FEATURE_ROAM_OFFLOAD

+ 23 - 0
mlme/dispatcher/inc/cfg_mlme_generic.h

@@ -503,6 +503,28 @@
 	CFG_VALUE_OR_DEFAULT, \
 	"ITO Repeat Count")
 
+/*
+ * <ini>
+ * gEnableDeauthToDisassocMap - Enables deauth to disassoc map
+ * @Min: 0
+ * @Max: 1
+ * @Default: 0
+ *
+ * This ini is used to set default  disassoc map
+ *
+ * Related: None
+ *
+ * Supported Feature: STA
+ *
+ * Usage: External
+ *
+ * </ini>
+ */
+#define CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP CFG_INI_BOOL( \
+		"gEnableDeauthToDisassocMap", \
+		0, \
+		"Enables deauth to disassoc map")
+
 /*
  * <ini>
  * gEnableDebugLog - Enable/Disable the Connection related logs
@@ -548,6 +570,7 @@
 	CFG(CFG_ENABLE_CRASH_INJECT) \
 	CFG(CFG_ENABLE_LPASS_SUPPORT) \
 	CFG(CFG_ENABLE_SELF_RECOVERY) \
+	CFG(CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP) \
 	CFG(CFG_SAP_DOT11MC) \
 	CFG(CFG_ENABLE_FATAL_EVENT_TRIGGER) \
 	CFG(CFG_SUB_20_CHANNEL_WIDTH) \

+ 24 - 0
mlme/dispatcher/inc/cfg_mlme_sap.h

@@ -578,7 +578,31 @@
 			"GO force 11n for 11ac")
 
 
+/*
+ * <ini>
+ * gEnableApRandomBssid - Create ramdom BSSID
+ * @Min: 0
+ * @Max: 1
+ * @Default: 0
+ *
+ * This ini is used to create a random BSSID in SoftAP mode to meet
+ * the Android requirement.
+ *
+ * Related: None.
+ *
+ * Supported Feature: SAP
+ *
+ * Usage: Internal/External
+ *
+ * </ini>
+ */
+#define CFG_AP_ENABLE_RANDOM_BSSID CFG_INI_BOOL( \
+	"gEnableApRandomBssid", \
+	0, \
+	"Create ramdom BSSID")
+
  #define CFG_SAP_ALL \
+	CFG(CFG_AP_ENABLE_RANDOM_BSSID) \
 	CFG(CFG_SSID) \
 	CFG(CFG_BEACON_INTERVAL) \
 	CFG(CFG_DTIM_PERIOD) \

+ 28 - 0
mlme/dispatcher/inc/cfg_mlme_sta.h

@@ -397,6 +397,33 @@
 	1, \
 	"Support for AP power constraint")
 
+/*
+ * <ini>
+ * gStaKeepAliveMethod - Which keepalive method to use
+ * @Min: 0
+ * @Max: 1
+ * @Default: 1
+ *
+ * This ini determines which keepalive method to use for station interfaces
+ *	 1) Use null data packets
+ *	 2) Use gratuitous ARP packets
+ *
+ * Related: gStaKeepAlivePeriod, gApKeepAlivePeriod, gGoKeepAlivePeriod
+ *
+ * Supported Feature: STA, Keepalive
+ *
+ * Usage: External
+ *
+ * </ini>
+ */
+#define CFG_STA_KEEPALIVE_METHOD CFG_INI_INT( \
+			"gStaKeepAliveMethod", \
+			MLME_STA_KEEPALIVE_NULL_DATA, \
+			MLME_STA_KEEPALIVE_COUNT - 1, \
+			MLME_STA_KEEPALIVE_GRAT_ARP, \
+			CFG_VALUE_OR_DEFAULT, \
+			"Which keepalive method to use")
+
 #define CFG_STA_ALL \
 	CFG(CFG_INFRA_STA_KEEP_ALIVE_PERIOD) \
 	CFG(CFG_TGT_GTX_USR_CFG) \
@@ -411,6 +438,7 @@
 	CFG(CFG_FILS_MAX_CHAN_GUARD_TIME) \
 	CFG(CFG_FORCE_RSNE_OVERRIDE) \
 	CFG(CFG_SINGLE_TID_RC) \
+	CFG(CFG_STA_KEEPALIVE_METHOD) \
 	CFG(CFG_WT_CNF_TIMEOUT) \
 	CFG(CFG_CURRENT_RSSI) \
 	CFG(CFG_TX_POWER_CTRL)

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

@@ -568,6 +568,7 @@ struct wlan_mlme_cfg_sap {
 	uint8_t sap_pref_chan_location;
 	bool sap_force_11n_for_11ac;
 	bool go_force_11n_for_11ac;
+	bool ap_random_bssid_enable;
 };
 
 /**
@@ -935,6 +936,7 @@ struct wlan_mlme_generic {
 	uint8_t debug_packet_log;
 	bool enabled_11h;
 	bool enabled_11d;
+	bool enable_deauth_to_disassoc_map;
 };
 
 /*
@@ -1046,6 +1048,19 @@ struct wlan_mlme_nss_chains {
 	bool disable_tx_mrc[NSS_CHAINS_BAND_MAX];
 };
 
+/**
+ * enum station_keepalive_method - available keepalive methods for stations
+ * @MLME_STA_KEEPALIVE_NULL_DATA: null data packet
+ * @MLME_STA_KEEPALIVE_GRAT_ARP: gratuitous ARP packet
+ * @MLME_STA_KEEPALIVE_COUNT: number of method options available
+ */
+enum station_keepalive_method {
+	MLME_STA_KEEPALIVE_NULL_DATA,
+	MLME_STA_KEEPALIVE_GRAT_ARP,
+	/* keep at the end */
+	MLME_STA_KEEPALIVE_COUNT
+};
+
 /**
  * struct wlan_mlme_sta_cfg - MLME STA configuration items
  * @sta_keep_alive_period:          Sends NULL frame to AP period
@@ -1082,6 +1097,7 @@ struct wlan_mlme_sta_cfg {
 	bool force_rsne_override;
 	bool single_tid;
 	bool allow_tpc_from_ap;
+	enum station_keepalive_method sta_keepalive_method;
 };
 
 /**

+ 37 - 0
mlme/dispatcher/inc/wlan_mlme_ucfg_api.h

@@ -2473,6 +2473,17 @@ QDF_STATUS
 ucfg_mlme_get_current_mcs_set(struct wlan_objmgr_psoc *psoc, uint8_t *buf,
 			      qdf_size_t *len);
 
+/**
+ * ucfg_mlme_get_sta_keepalive_method() - Get sta_keepalive_method
+ * @psoc: pointer to psoc object
+ * @val:  Value to pass to the caller
+ *
+ * Return: QDF Status
+ */
+QDF_STATUS
+ucfg_mlme_get_sta_keepalive_method(struct wlan_objmgr_psoc *psoc,
+				   enum station_keepalive_method *val);
+
 /**
  * ucfg_mlme_get_wmm_dir_ac_vi() - Get TSPEC direction
  * for VI
@@ -3068,4 +3079,30 @@ ucfg_mlme_set_sap_uapsd_flag(struct wlan_objmgr_psoc *psoc, bool value)
 	return wlan_mlme_set_sap_uapsd_flag(psoc, value);
 }
 
+/**
+ * ucfg_mlme_get_enable_deauth_to_disassoc_map() - Enable deauth_to_disassoc_map
+ * @psoc: pointer to psoc object
+ * @value: Value that needs to be set from the caller
+ *
+ * UCFG API to be used by HDD/OSIF callers
+ *
+ * Return: QDF Status
+ */
+QDF_STATUS
+ucfg_mlme_get_enable_deauth_to_disassoc_map(struct wlan_objmgr_psoc *psoc,
+					    bool *value);
+
+/**
+ * ucfg_mlme_get_ap_random_bssid_enable() - Enable random bssid
+ * @psoc: pointer to psoc object
+ * @value: Value that needs to be set from the caller
+ *
+ * UCFG API to be used by HDD/OSIF callers
+ *
+ * Return: QDF Status
+ */
+QDF_STATUS
+ucfg_mlme_get_ap_random_bssid_enable(struct wlan_objmgr_psoc *psoc,
+				     bool *value);
+
 #endif /* _WLAN_MLME_UCFG_API_H_ */

+ 49 - 0
mlme/dispatcher/src/wlan_mlme_ucfg_api.c

@@ -1231,3 +1231,52 @@ ucfg_mlme_set_ps_data_inactivity_timeout(struct wlan_objmgr_psoc *psoc,
 
 	return QDF_STATUS_SUCCESS;
 }
+
+QDF_STATUS
+ucfg_mlme_get_sta_keepalive_method(struct wlan_objmgr_psoc *psoc,
+				   enum station_keepalive_method *val)
+{
+	struct wlan_mlme_psoc_obj *mlme_obj;
+
+	mlme_obj = mlme_get_psoc_obj(psoc);
+	if (!mlme_obj) {
+		mlme_err("mlme obj null");
+		return QDF_STATUS_E_INVAL;
+	}
+
+	*val = mlme_obj->cfg.sta.sta_keepalive_method;
+	return QDF_STATUS_SUCCESS;
+}
+
+QDF_STATUS
+ucfg_mlme_get_enable_deauth_to_disassoc_map(struct wlan_objmgr_psoc *psoc,
+					    bool *value)
+{
+	struct wlan_mlme_psoc_obj *mlme_obj;
+
+	mlme_obj = mlme_get_psoc_obj(psoc);
+	if (!mlme_obj) {
+		mlme_err("mlme obj null");
+		return QDF_STATUS_E_INVAL;
+	}
+
+	*value = mlme_obj->cfg.gen.enable_deauth_to_disassoc_map;
+	return QDF_STATUS_SUCCESS;
+}
+
+
+QDF_STATUS
+ucfg_mlme_get_ap_random_bssid_enable(struct wlan_objmgr_psoc *psoc,
+				     bool *value)
+{
+	struct wlan_mlme_psoc_obj *mlme_obj;
+
+	mlme_obj = mlme_get_psoc_obj(psoc);
+	if (!mlme_obj) {
+		mlme_err("mlme obj null");
+		return QDF_STATUS_E_INVAL;
+	}
+
+	*value = mlme_obj->cfg.sap_cfg.ap_random_bssid_enable;
+	return QDF_STATUS_SUCCESS;
+}

+ 1 - 0
pmo/core/src/wlan_pmo_main.c

@@ -175,6 +175,7 @@ static void wlan_pmo_init_cfg(struct wlan_objmgr_psoc *psoc,
 	wlan_pmo_runtime_pm_init_cfg(psoc, psoc_cfg);
 	psoc_cfg->auto_power_save_fail_mode =
 			cfg_get(psoc, CFG_PMO_PWR_FAILURE);
+	psoc_cfg->enable_sap_suspend = cfg_get(psoc, CFG_ENABLE_SAP_SUSPEND);
 }
 
 QDF_STATUS pmo_psoc_open(struct wlan_objmgr_psoc *psoc)

+ 22 - 0
pmo/dispatcher/inc/wlan_pmo_common_cfg.h

@@ -346,7 +346,29 @@
 					 CFG_VALUE_OR_DEFAULT, \
 					 "Auto detect power save failure mode")
 
+/*
+ * <ini>
+ * gEnableSapSuspend - Enable/disable SAP Suspend
+ * @Min: 0
+ * @Max: 1
+ * @Default: 0
+ *
+ *
+ * Related: None
+ *
+ * Supported Feature: SAP
+ *
+ * Usage: External
+ *
+ * </ini>
+ */
+#define CFG_ENABLE_SAP_SUSPEND CFG_INI_BOOL( \
+			"gEnableSapSuspend", \
+			1, \
+			"Enable/disable SAP Suspend")
+
 #define CFG_PMO_COMMON_ALL \
+	CFG(CFG_ENABLE_SAP_SUSPEND) \
 	CFG(CFG_PMO_ENABLE_HOST_ARPOFFLOAD) \
 	CFG(CFG_PMO_HW_FILTER_MODE) \
 	CFG(CFG_PMO_ENABLE_HOST_SSDP) \

+ 2 - 0
pmo/dispatcher/inc/wlan_pmo_common_public_struct.h

@@ -392,6 +392,8 @@ struct pmo_psoc_cfg {
 #ifdef WLAN_FEATURE_PACKET_FILTERING
 	uint8_t packet_filters_bitmap;
 #endif
+	bool enable_sap_suspend;
+
 };
 
 /**

+ 10 - 0
pmo/dispatcher/inc/wlan_pmo_ucfg_api.h

@@ -1780,4 +1780,14 @@ ucfg_pmo_get_runtime_pm_delay(struct wlan_objmgr_psoc *psoc)
 	return 0;
 }
 #endif /* FEATURE_RUNTIME_PM */
+
+/**
+ * ucfg_pmo_get_enable_sap_suspend - Return enable_sap_suspend value to caller
+ * @psoc: Pointer to psoc object
+ *
+ * Return: The value of enable_sap_suspend as stored in CFG
+ */
+bool
+ucfg_pmo_get_enable_sap_suspend(struct wlan_objmgr_psoc *psoc);
+
 #endif /* end  of _WLAN_PMO_UCFG_API_H_ */

+ 8 - 0
pmo/dispatcher/src/wlan_pmo_ucfg_api.c

@@ -782,3 +782,11 @@ ucfg_pmo_extwow_app2_tcp_rx_timeout(struct wlan_objmgr_psoc *psoc)
 	return pmo_psoc_ctx->psoc_cfg.extwow_app2_tcp_rx_timeout;
 }
 #endif
+
+bool
+ucfg_pmo_get_enable_sap_suspend(struct wlan_objmgr_psoc *psoc)
+{
+	struct pmo_psoc_priv_obj *pmo_psoc_ctx = pmo_psoc_get_priv(psoc);
+
+	return pmo_psoc_ctx->psoc_cfg.enable_sap_suspend;
+}