Browse Source

qcacld-3.0: Add edca_param_type ini for LL SAP

Add edca_param_type ini to configure edca or pifs param for
LL SAP.
If edca_param_type is 0 then set edca param or
if edca_param_type is 1 then set pifs param.

Based on this ini, host configures either edca or pifs param
and send it to firmware and earbud via OTA frames.

Change-Id: I46a5efea4f516b145d04d8b8ad79c5d47ceb7f89
CRs-Fixed: 3344875
Jyoti Kumari 2 years ago
parent
commit
4c0dab6980

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

@@ -847,6 +847,9 @@ mlme_init_qos_edca_params(struct wlan_objmgr_psoc *psoc,
 			cfg_get(psoc, CFG_EDCA_BE_CWMAX);
 	edca_params->edca_ac_be.be_aifs =
 			cfg_get(psoc, CFG_EDCA_BE_AIFS);
+
+	edca_params->edca_param_type =
+			cfg_get(psoc, CFG_EDCA_PIFS_PARAM_TYPE);
 }
 
 static void mlme_init_edca_params(struct wlan_objmgr_psoc *psoc,

+ 32 - 1
components/mlme/dispatcher/inc/cfg_mlme_edca_params.h

@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. 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
@@ -823,6 +824,35 @@
 		CFG_VALUE_OR_DEFAULT, \
 		"default Aifs value for QCA_WLAN_AC_BE")
 
+/*
+ * <ini>
+ * edca_param_type - Edca param type
+ * @Min: 0
+ * @Max: 1
+ * @Default: 0
+ *
+ * This ini is used to configure edca or pifs param for low latency SAP.
+ * If edca_param_type is set to 0 then host configures edca param and
+ * send it to firmware via WMI cmd and earbud via OTA frame. If it set to
+ * to 1 then host configures pifs param and send it to firmware via WMI
+ * cmd and earbud via OTA frame.
+ *
+ * Related: None
+ *
+ * Supported Feature: STA
+ *
+ * Usage: Internal/External
+ *
+ * </ini>
+ */
+#define CFG_EDCA_PIFS_PARAM_TYPE CFG_INI_UINT( \
+		"edca_param_type", \
+		0, \
+		1, \
+		0, \
+		CFG_VALUE_OR_DEFAULT, \
+		"Edca param type")
+
 #define CFG_EDCA_PARAMS_ALL \
 	CFG(CFG_EDCA_ANI_ACBK_LOCAL) \
 	CFG(CFG_EDCA_ANI_ACBE_LOCAL) \
@@ -861,6 +891,7 @@
 	CFG(CFG_EDCA_BE_CWMIN) \
 	CFG(CFG_EDCA_BE_CWMAX) \
 	CFG(CFG_ENABLE_WMM_TXOP) \
-	CFG(CFG_EDCA_BE_AIFS)
+	CFG(CFG_EDCA_BE_AIFS) \
+	CFG(CFG_EDCA_PIFS_PARAM_TYPE)
 
 #endif  /* __CFG_MLME_EDCA__PARAM_H */

+ 3 - 0
components/mlme/dispatcher/inc/wlan_mlme_public_struct.h

@@ -343,6 +343,7 @@ enum mlme_ts_info_ack_policy {
  * @mlme_edca_ac_vi: value for edca_ac_vi
  * @mlme_edca_ac_bk: value for edca_ac_bk
  * @mlme_edca_ac_be: value for edca_ac_be
+ * @edca_param_type: Edca param type
  */
 struct wlan_mlme_edca_params {
 	struct mlme_cfg_str ani_acbk_l;
@@ -378,6 +379,8 @@ struct wlan_mlme_edca_params {
 	struct mlme_edca_ac_vi edca_ac_vi;
 	struct mlme_edca_ac_bk edca_ac_bk;
 	struct mlme_edca_ac_be edca_ac_be;
+
+	uint8_t edca_param_type;
 };
 
 #define WLAN_CFG_MFR_NAME_LEN (63)