浏览代码

qcacld-3.0: ADD MLME INI item of WMM Config

Add the WMM config ini config
CFG_TL_DELAYED_TRGR_FRM_INT_NAME to MLME cfg.

Introduce the basic infra APIs related to these configs
from mlme.

Change-Id: Ifaf8072a78f21760e00973e625d7c8e41d8b51a6
CRs-Fixed: 2361533
Abhinav Kumar 6 年之前
父节点
当前提交
943f712209

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

@@ -1943,6 +1943,9 @@ static void mlme_init_wmm_in_cfg(struct wlan_objmgr_psoc *psoc,
 		cfg_get(psoc, CFG_QOS_WMM_TS_INFO_ACK_POLICY);
 	wmm_params->wmm_tspec_element.ts_acm_is_off =
 		cfg_get(psoc, CFG_QOS_ADDTS_WHEN_ACM_IS_OFF);
+	wmm_params->delayed_trigger_frm_int =
+		cfg_get(psoc, CFG_TL_DELAYED_TRGR_FRM_INTERVAL);
+
 }
 
 static void mlme_init_wps_params_cfg(struct wlan_objmgr_psoc *psoc,

+ 26 - 2
mlme/dispatcher/inc/cfg_mlme_fe_wmm.h

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012-2018 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2019 The Linux Foundation. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
@@ -960,6 +960,29 @@
 		0, \
 		"ACM value for AC")
 
+/*
+ * <ini>
+ * DelayedTriggerFrmInt - UAPSD delay interval
+ * @Min: 1
+ * @Max: 4294967295
+ * @Default: 3000
+ *
+ * This parameter controls the delay interval(in ms) of UAPSD auto trigger.
+ *
+ * Supported Feature: WMM
+ *
+ * Usage: Internal/External
+ *
+ * </ini>
+ */
+#define CFG_TL_DELAYED_TRGR_FRM_INTERVAL CFG_INI_UINT( \
+		"DelayedTriggerFrmInt", \
+		1, \
+		4294967295UL, \
+		3000, \
+		CFG_VALUE_OR_DEFAULT, \
+		"UAPSD auto trigger Interval")
+
 #define CFG_WMM_PARAMS_ALL \
 	CFG(CFG_QOS_ENABLED) \
 	CFG(CFG_WME_ENABLED) \
@@ -1001,6 +1024,7 @@
 	QOS_CFG \
 	CFG(CFG_QOS_WMM_BURST_SIZE_DEFN) \
 	CFG(CFG_QOS_WMM_TS_INFO_ACK_POLICY) \
-	CFG(CFG_QOS_ADDTS_WHEN_ACM_IS_OFF)
+	CFG(CFG_QOS_ADDTS_WHEN_ACM_IS_OFF) \
+	CFG(CFG_TL_DELAYED_TRGR_FRM_INTERVAL)
 
 #endif /* __CFG_MLME_FE_WMM_H */

+ 11 - 0
mlme/dispatcher/inc/wlan_mlme_api.h

@@ -896,6 +896,17 @@ QDF_STATUS wlan_mlme_get_fils_enabled_info(struct wlan_objmgr_psoc *psoc,
 QDF_STATUS wlan_mlme_set_fils_enabled_info(struct wlan_objmgr_psoc *psoc,
 					   bool value);
 
+/**
+ * wlan_mlme_get_tl_delayed_trgr_frm_int() - Get delay interval(in ms)
+ * of UAPSD auto trigger
+ * @psoc: pointer to psoc object
+ * @value: Value that needs to be set from the caller
+ *
+ * Return: None
+ */
+void wlan_mlme_get_tl_delayed_trgr_frm_int(struct wlan_objmgr_psoc *psoc,
+					   uint32_t *value);
+
 /**
  * wlan_mlme_get_wmm_dir_ac_vi() - Get TSPEC direction
  * for VI

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

@@ -1530,6 +1530,7 @@ struct wlan_mlme_wmm_ac_bk {
  * @ac_vi: Default TSPEC parameters for AC_VI
  * @ac_be: Default TSPEC parameters for AC_BE
  * @ac_bk: Default TSPEC parameters for AC_BK
+ * @delayed_trigger_frm_int: delay int(in ms) of UAPSD auto trigger
  */
 struct wlan_mlme_wmm_params {
 	bool qos_enabled;
@@ -1543,6 +1544,7 @@ struct wlan_mlme_wmm_params {
 	struct wlan_mlme_wmm_ac_vi ac_vi;
 	struct wlan_mlme_wmm_ac_be ac_be;
 	struct wlan_mlme_wmm_ac_bk ac_bk;
+	uint32_t delayed_trigger_frm_int;
 };
 
 /**

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

@@ -2679,6 +2679,23 @@ QDF_STATUS ucfg_mlme_ibss_power_save_setup(struct wlan_objmgr_psoc *psoc,
 	return wlan_mlme_ibss_power_save_setup(psoc, vdev_id);
 }
 
+/**
+ * ucfg_mlme_get_tl_delayed_trgr_frm_int() - Get delay interval(in ms)
+ * of UAPSD auto trigger.
+ * @psoc: pointer to psoc object
+ * @value: Value that needs to be set from the caller
+ *
+ * Inline UCFG API to be used by HDD/OSIF callers
+ *
+ * Return: None
+ */
+static inline
+void ucfg_mlme_get_tl_delayed_trgr_frm_int(struct wlan_objmgr_psoc *psoc,
+					   uint32_t *value)
+{
+	wlan_mlme_get_tl_delayed_trgr_frm_int(psoc, value);
+}
+
 /**
  * ucfg_mlme_get_wmm_dir_ac_vi() - Get TSPEC direction
  * for VI

+ 16 - 0
mlme/dispatcher/src/wlan_mlme_api.c

@@ -976,6 +976,22 @@ wlan_mlme_get_manufacture_product_name(struct wlan_objmgr_psoc *psoc,
 	return QDF_STATUS_SUCCESS;
 }
 
+
+void wlan_mlme_get_tl_delayed_trgr_frm_int(struct wlan_objmgr_psoc *psoc,
+					   uint32_t *value)
+{
+	struct wlan_mlme_psoc_obj *mlme_obj;
+
+	mlme_obj = mlme_get_psoc_obj(psoc);
+	if (!mlme_obj) {
+		*value = cfg_default(CFG_TL_DELAYED_TRGR_FRM_INTERVAL);
+		return;
+	}
+
+	*value = mlme_obj->cfg.wmm_params.delayed_trigger_frm_int;
+}
+
+
 QDF_STATUS wlan_mlme_get_wmm_dir_ac_vo(struct wlan_objmgr_psoc *psoc,
 				       uint8_t *value)
 {

+ 2 - 28
tdls/dispatcher/inc/wlan_tdls_cfg.h

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
@@ -702,31 +702,6 @@
 	CFG_VALUE_OR_DEFAULT, \
 	"Timer to defer for enabling TDLS on P2P listen")
 
-/*
- * <ini>
- * DelayedTriggerFrmInt - delayed trigger frame interval.
- * @Min: 500
- * @Max: 6000
- * @Default: 2000
- *
- * This ini is used to set the delayed trigger frame interval.
- *
- * Related: gEnableTDLSSupport.
- *
- * Supported Feature: TDLS
- *
- * Usage: Internal/External
- *
- * </ini>
- */
-#define CFG_TDLS_DELAYED_TRGR_FRM_INT CFG_INI_UINT( \
-	"DelayedTriggerFrmInt", \
-	1, \
-	4294967295UL, \
-	3000, \
-	CFG_VALUE_OR_DEFAULT, \
-	"delayed trigger frame interval")
-
 #define CFG_TDLS_ALL \
 	CFG(CFG_TDLS_QOS_WMM_UAPSD_MASK) \
 	CFG(CFG_TDLS_BUF_STA_ENABLED) \
@@ -753,7 +728,6 @@
 	CFG(CFG_TDLS_WMM_MODE_ENABLE) \
 	CFG(CFG_TDLS_SCAN_ENABLE) \
 	CFG(CFG_TDLS_PEER_KICKOUT_THRESHOLD) \
-	CFG(CFG_TDLS_ENABLE_DEFER_TIMER) \
-	CFG(CFG_TDLS_DELAYED_TRGR_FRM_INT)
+	CFG(CFG_TDLS_ENABLE_DEFER_TIMER)
 
 #endif

+ 1 - 1
tdls/dispatcher/src/wlan_tdls_ucfg_api.c

@@ -201,7 +201,7 @@ static QDF_STATUS tdls_object_init_params(
 	tdls_soc_obj->tdls_configs.tdls_peer_kickout_threshold =
 			cfg_get(psoc, CFG_TDLS_PEER_KICKOUT_THRESHOLD);
 	tdls_soc_obj->tdls_configs.delayed_trig_framint =
-			cfg_get(psoc, CFG_TDLS_DELAYED_TRGR_FRM_INT);
+			cfg_get(psoc, CFG_TL_DELAYED_TRGR_FRM_INTERVAL);
 	tdls_soc_obj->tdls_configs.tdls_wmm_mode_enable =
 			cfg_get(psoc,  CFG_TDLS_WMM_MODE_ENABLE);
 	tdls_soc_obj->tdls_configs.tdls_off_chan_enable =