diff --git a/mlme/core/src/wlan_mlme_main.c b/mlme/core/src/wlan_mlme_main.c
index 1e630d55d7..b7c0e60851 100644
--- a/mlme/core/src/wlan_mlme_main.c
+++ b/mlme/core/src/wlan_mlme_main.c
@@ -479,6 +479,14 @@ static void mlme_init_qos_cfg(struct wlan_objmgr_psoc *psoc,
cfg_get(psoc, CFG_TX_AGGR_SW_RETRY_VI);
qos_aggr_params->tx_aggr_sw_retry_threshold_vo =
cfg_get(psoc, CFG_TX_AGGR_SW_RETRY_VO);
+ qos_aggr_params->tx_non_aggr_sw_retry_threshold_be =
+ cfg_get(psoc, CFG_TX_NON_AGGR_SW_RETRY_BE);
+ qos_aggr_params->tx_non_aggr_sw_retry_threshold_bk =
+ cfg_get(psoc, CFG_TX_NON_AGGR_SW_RETRY_BK);
+ qos_aggr_params->tx_non_aggr_sw_retry_threshold_vi =
+ cfg_get(psoc, CFG_TX_NON_AGGR_SW_RETRY_VI);
+ qos_aggr_params->tx_non_aggr_sw_retry_threshold_vo =
+ cfg_get(psoc, CFG_TX_NON_AGGR_SW_RETRY_VO);
qos_aggr_params->sap_max_inactivity_override =
cfg_get(psoc, CFG_SAP_MAX_INACTIVITY_OVERRIDE);
}
diff --git a/mlme/dispatcher/inc/cfg_qos.h b/mlme/dispatcher/inc/cfg_qos.h
index 26d909ba3f..0213b961fe 100644
--- a/mlme/dispatcher/inc/cfg_qos.h
+++ b/mlme/dispatcher/inc/cfg_qos.h
@@ -294,6 +294,110 @@
CFG_VALUE_OR_DEFAULT, \
"Tx aggregation retry value for VO")
+/*
+ *
+ * gTxNonAggSwRetryBE - Configure Tx non aggregation sw retry for BE
+ * @Min: 0
+ * @Max: 64
+ * @Default: 0
+ *
+ * gTxNonAggSwRetryBE gives an option to configure Tx non aggregation sw
+ * retry for BE. This can be useful in debugging throughput issues.
+ *
+ * Related: None
+ *
+ * Supported Feature: STA
+ *
+ * Usage: Internal
+ *
+ *
+ */
+#define CFG_TX_NON_AGGR_SW_RETRY_BE CFG_INI_UINT( \
+ "gTxNonAggSwRetryBE", \
+ 0, \
+ 64, \
+ 0, \
+ CFG_VALUE_OR_DEFAULT, \
+ "Tx non aggregation retry value for BE")
+
+/*
+ *
+ * gTxNonAggSwRetryBK - Configure Tx non aggregation sw retry for BK
+ * @Min: 0
+ * @Max: 64
+ * @Default: 0
+ *
+ * gTxNonAggSwRetryBK gives an option to configure Tx non aggregation sw
+ * retry for BK. This can be useful in debugging throughput issues.
+ *
+ * Related: None
+ *
+ * Supported Feature: STA
+ *
+ * Usage: Internal
+ *
+ *
+ */
+#define CFG_TX_NON_AGGR_SW_RETRY_BK CFG_INI_UINT( \
+ "gTxNonAggSwRetryBK", \
+ 0, \
+ 64, \
+ 0, \
+ CFG_VALUE_OR_DEFAULT, \
+ "Tx non aggregation retry value for BK")
+
+/*
+ *
+ * gTxNonAggSwRetryVI - Configure Tx non aggregation sw retry for VI
+ * @Min: 0
+ * @Max: 64
+ * @Default: 0
+ *
+ * gTxNonAggSwRetryVI gives an option to configure Tx non aggregation sw
+ * retry for VI. This can be useful in debugging throughput issues.
+ *
+ * Related: None
+ *
+ * Supported Feature: STA
+ *
+ * Usage: Internal
+ *
+ *
+ */
+#define CFG_TX_NON_AGGR_SW_RETRY_VI CFG_INI_UINT( \
+ "gTxNonAggSwRetryVI", \
+ 0, \
+ 64, \
+ 0, \
+ CFG_VALUE_OR_DEFAULT, \
+ "Tx non aggregation retry value for VI")
+
+/*
+ *
+ * gTxNonAggSwRetryVO - Configure Tx non aggregation sw retry for VO
+ * @Min: 0
+ * @Max: 64
+ * @Default: 0
+ *
+ * gTxNonAggSwRetryVO gives an option to configure Tx non aggregation sw
+ * retry for VO. This can be useful in debugging throughput issues.
+ *
+ * Related: None
+ *
+ * Supported Feature: STA
+ *
+ * Usage: Internal
+ *
+ *
+ */
+#define CFG_TX_NON_AGGR_SW_RETRY_VO CFG_INI_UINT( \
+ "gTxNonAggSwRetryVO", \
+ 0, \
+ 64, \
+ 0, \
+ CFG_VALUE_OR_DEFAULT, \
+ "Tx non aggregation retry value for VO")
+
/*
*
* gSapMaxInactivityOverride - Configure
@@ -322,6 +426,7 @@
"SAP maximum inactivity override flag")
#define CFG_QOS_ALL \
+ CFG(CFG_SAP_MAX_INACTIVITY_OVERRIDE) \
CFG(CFG_TX_AGGREGATION_SIZE) \
CFG(CFG_TX_AGGREGATION_SIZEBE) \
CFG(CFG_TX_AGGREGATION_SIZEBK) \
@@ -332,6 +437,9 @@
CFG(CFG_TX_AGGR_SW_RETRY_BK) \
CFG(CFG_TX_AGGR_SW_RETRY_VI) \
CFG(CFG_TX_AGGR_SW_RETRY_VO) \
- CFG(CFG_SAP_MAX_INACTIVITY_OVERRIDE)
+ CFG(CFG_TX_NON_AGGR_SW_RETRY_BE) \
+ CFG(CFG_TX_NON_AGGR_SW_RETRY_BK) \
+ CFG(CFG_TX_NON_AGGR_SW_RETRY_VI) \
+ CFG(CFG_TX_NON_AGGR_SW_RETRY_VO)
#endif /* __CFG_MLME_QOS_H */
diff --git a/mlme/dispatcher/inc/wlan_mlme_public_struct.h b/mlme/dispatcher/inc/wlan_mlme_public_struct.h
index c71624e78f..743afa4f70 100644
--- a/mlme/dispatcher/inc/wlan_mlme_public_struct.h
+++ b/mlme/dispatcher/inc/wlan_mlme_public_struct.h
@@ -486,10 +486,14 @@ struct wlan_mlme_vht_caps {
* @tx_aggregation_size_vi: No. of MPDUs for VI queue for TX aggr
* @tx_aggregation_size_vo: No. of MPDUs for VO queue for TX aggr
* @rx_aggregation_size: No. of MPDUs for RX aggr
- * @tx_aggr_sw_retry_threshold_be: Tx aggregation sw retry for BE
- * @tx_aggr_sw_retry_threshold_bk: Tx aggregation sw retry for BK
- * @tx_aggr_sw_retry_threshold_vi: Tx aggregation sw retry for VI
- * @tx_aggr_sw_retry_threshold_vo: Tx aggregation sw retry for VO
+ * @tx_aggr_sw_retry_threshold_be: aggr sw retry threshold for BE
+ * @tx_aggr_sw_retry_threshold_bk: aggr sw retry threshold for BK
+ * @tx_aggr_sw_retry_threshold_vi: aggr sw retry threshold for VI
+ * @tx_aggr_sw_retry_threshold_vo: aggr sw retry threshold for VO
+ * @tx_non_aggr_sw_retry_threshold_be: non aggr sw retry threshold for BE
+ * @tx_non_aggr_sw_retry_threshold_bk: non aggr sw retry threshold for BK
+ * @tx_non_aggr_sw_retry_threshold_vi: non aggr sw retry threshold for VI
+ * @tx_non_aggr_sw_retry_threshold_vo: non aggr sw retry threshold for VO
* @sap_max_inactivity_override: Override updating ap_sta_inactivity from
* hostapd.conf
*/
@@ -504,6 +508,10 @@ struct wlan_mlme_qos {
uint32_t tx_aggr_sw_retry_threshold_bk;
uint32_t tx_aggr_sw_retry_threshold_vi;
uint32_t tx_aggr_sw_retry_threshold_vo;
+ uint32_t tx_non_aggr_sw_retry_threshold_be;
+ uint32_t tx_non_aggr_sw_retry_threshold_bk;
+ uint32_t tx_non_aggr_sw_retry_threshold_vi;
+ uint32_t tx_non_aggr_sw_retry_threshold_vo;
bool sap_max_inactivity_override;
};