diff --git a/core/hdd/inc/wlan_hdd_cfg.h b/core/hdd/inc/wlan_hdd_cfg.h
index 49de123d19ab..8143fa0c806e 100644
--- a/core/hdd/inc/wlan_hdd_cfg.h
+++ b/core/hdd/inc/wlan_hdd_cfg.h
@@ -2099,6 +2099,23 @@ typedef enum {
#define CFG_POWERSAVE_OFFLOAD_DEFAULT (CFG_POWERSAVE_OFFLOAD_MIN)
#ifdef WLAN_FEATURE_FASTPATH
+
+/*
+ *
+ * gEnableFastPath - Control to enable fastpath feature
+ *
+ * @Min: 0
+ * @Max: 1
+ * @Default: 0
+ *
+ * This ini is used to enable fastpath feature
+ *
+ * Supported Feature: Wlan Fastpath Feature
+ *
+ * Usage: Internal
+ *
+ *
+ */
#define CFG_ENABLE_FASTPATH "gEnableFastPath"
#define CFG_ENABLE_FASTPATH_MIN (0)
#define CFG_ENABLE_FASTPATH_MAX (1)
@@ -2319,52 +2336,252 @@ typedef enum {
#define CFG_SET_TXPOWER_LIMIT5G_DEFAULT (30)
#ifdef QCA_LL_LEGACY_TX_FLOW_CONTROL
+
+/*
+ *
+ * TxFlowLowWaterMark - Low watermark for pausing network queues
+ *
+ * @Min: 0
+ * @Max: 1000
+ * @Default: 300
+ *
+ * This ini specifies the low watermark of data packets transmitted
+ * before pausing netif queues in tx flow path. It is only applicable
+ * where legacy flow control is used i.e.for Rome.
+ *
+ * Related: TxFlowHighWaterMarkOffset, TxFlowMaxQueueDepth,
+ * TxLbwFlowLowWaterMark, TxLbwFlowHighWaterMarkOffset,
+ * TxLbwFlowMaxQueueDepth, TxHbwFlowLowWaterMark,
+ * TxHbwFlowHighWaterMarkOffset, TxHbwFlowMaxQueueDepth
+ *
+ * Supported Feature: Dynamic Flow Control
+ *
+ * Usage: Internal
+ *
+ *
+ */
#define CFG_LL_TX_FLOW_LWM "TxFlowLowWaterMark"
#define CFG_LL_TX_FLOW_LWM_MIN (0)
#define CFG_LL_TX_FLOW_LWM_MAX (1000)
-
#define CFG_LL_TX_FLOW_LWM_DEFAULT (300)
+/*
+ *
+ * TxFlowHighWaterMarkOffset - High Watermark offset to unpause Netif queues
+ * @Min: 0
+ * @Max: 300
+ * @Default: 94
+ *
+ * This ini specifies the offset to upause the netif queues
+ * when they are paused due to insufficient descriptors as guided by
+ * ini TxFlowLowWaterMark. It is only applicable where legacy flow control
+ * is used i.e.for Rome.
+ *
+ * Related: TxFlowLowWaterMark, TxFlowMaxQueueDepth,
+ * TxLbwFlowLowWaterMark, TxLbwFlowHighWaterMarkOffset,
+ * TxLbwFlowMaxQueueDepth, TxHbwFlowLowWaterMark,
+ * TxHbwFlowHighWaterMarkOffset, TxHbwFlowMaxQueueDepth
+ *
+ * Supported Feature: Dynamic Flow Control
+ *
+ * Usage: Internal
+ *
+ *
+ */
#define CFG_LL_TX_FLOW_HWM_OFFSET "TxFlowHighWaterMarkOffset"
#define CFG_LL_TX_FLOW_HWM_OFFSET_MIN (0)
#define CFG_LL_TX_FLOW_HWM_OFFSET_MAX (300)
-
#define CFG_LL_TX_FLOW_HWM_OFFSET_DEFAULT (94)
+/*
+ *
+ * TxFlowMaxQueueDepth - Max pause queue depth.
+ *
+ * @Min: 400
+ * @Max: 3500
+ * @Default: 1500
+ *
+ * This ini specifies the max queue pause depth.It is only applicable
+ * where legacy flow control is used i.e.for Rome.
+ *
+ * Related: TxFlowLowWaterMark, TxFlowHighWaterMarkOffset,
+ * TxLbwFlowLowWaterMark, TxLbwFlowHighWaterMarkOffset,
+ * TxLbwFlowMaxQueueDepth, TxHbwFlowLowWaterMark,
+ * TxHbwFlowHighWaterMarkOffset, TxHbwFlowMaxQueueDepth
+ *
+ * Supported Feature: Dynamic Flow Control
+ *
+ * Usage: Internal
+ *
+ *
+ */
#define CFG_LL_TX_FLOW_MAX_Q_DEPTH "TxFlowMaxQueueDepth"
#define CFG_LL_TX_FLOW_MAX_Q_DEPTH_MIN (400)
#define CFG_LL_TX_FLOW_MAX_Q_DEPTH_MAX (3500)
#define CFG_LL_TX_FLOW_MAX_Q_DEPTH_DEFAULT (1500)
+/*
+ *
+ * TxLbwFlowLowWaterMark - Low watermark for pausing network queues
+ * in low bandwidth band
+ * @Min: 0
+ * @Max: 1000
+ * @Default: 450
+ *
+ * This ini specifies the low watermark of data packets transmitted
+ * before pausing netif queues in tx flow path in low bandwidth band.
+ * It is only applicable where legacy flow control is used i.e.for Rome.
+ *
+ * Related: TxFlowLowWaterMark, TxFlowHighWaterMarkOffset,
+ * TxFlowMaxQueueDepth, TxLbwFlowHighWaterMarkOffset,
+ * TxLbwFlowMaxQueueDepth, TxHbwFlowLowWaterMark,
+ * TxHbwFlowHighWaterMarkOffset, TxHbwFlowMaxQueueDepth
+ *
+ * Supported Feature: Dynamic Flow Control
+ *
+ * Usage: Internal
+ *
+ *
+ */
#define CFG_LL_TX_LBW_FLOW_LWM "TxLbwFlowLowWaterMark"
#define CFG_LL_TX_LBW_FLOW_LWM_MIN (0)
#define CFG_LL_TX_LBW_FLOW_LWM_MAX (1000)
-
#define CFG_LL_TX_LBW_FLOW_LWM_DEFAULT (450)
+/*
+ *
+ * TxLbwFlowHighWaterMarkOffset - High Watermark offset to unpause Netif queues
+ * in low bandwidth band.
+ * @Min: 0
+ * @Max: 300
+ * @Default: 50
+ *
+ * This ini specifies the offset to upause the netif queues
+ * when they are paused due to insufficient descriptors as guided by
+ * ini TxLbwFlowLowWaterMark in low bandwidth band. It is only applicable
+ * where legacy flow control is used i.e.for Rome.
+ *
+ * Related: TxFlowLowWaterMark, TxFlowHighWaterMarkOffset,
+ * TxFlowMaxQueueDepth, TxLbwFlowLowWaterMark,
+ * TxLbwFlowMaxQueueDepth, TxHbwFlowLowWaterMark,
+ * TxHbwFlowHighWaterMarkOffset, TxHbwFlowMaxQueueDepth
+ *
+ * Supported Feature: Dynamic Flow Control
+ *
+ * Usage: Internal
+ *
+ *
+ */
#define CFG_LL_TX_LBW_FLOW_HWM_OFFSET "TxLbwFlowHighWaterMarkOffset"
#define CFG_LL_TX_LBW_FLOW_HWM_OFFSET_MIN (0)
#define CFG_LL_TX_LBW_FLOW_HWM_OFFSET_MAX (300)
-
#define CFG_LL_TX_LBW_FLOW_HWM_OFFSET_DEFAULT (50)
+/*
+ *
+ * TxLbwFlowMaxQueueDepth - Max pause queue depth in low bandwidth band
+ *
+ * @Min: 400
+ * @Max: 3500
+ * @Default: 750
+ *
+ * This ini specifies the max queue pause depth in low bandwidth band.
+ * It is only applicable where legacy flow control is used i.e.for Rome.
+ *
+ * Related: TxFlowLowWaterMark, TxFlowHighWaterMarkOffset,
+ * TxFlowMaxQueueDepth, TxLbwFlowLowWaterMark,
+ * TxLbwFlowHighWaterMarkOffset, TxHbwFlowLowWaterMark,
+ * TxHbwFlowHighWaterMarkOffset, TxHbwFlowMaxQueueDepth
+ *
+ * Supported Feature: Dynamic Flow Control
+ *
+ * Usage: Internal
+ *
+ *
+ */
#define CFG_LL_TX_LBW_FLOW_MAX_Q_DEPTH "TxLbwFlowMaxQueueDepth"
#define CFG_LL_TX_LBW_FLOW_MAX_Q_DEPTH_MIN (400)
#define CFG_LL_TX_LBW_FLOW_MAX_Q_DEPTH_MAX (3500)
#define CFG_LL_TX_LBW_FLOW_MAX_Q_DEPTH_DEFAULT (750)
+/*
+ *
+ * TxHbwFlowLowWaterMark - Low watermark for pausing network queues
+ * in high bandwidth band
+ * @Min: 0
+ * @Max: 1000
+ * @Default: 406
+ *
+ * This ini specifies the threshold of data packets transmitted
+ * before pausing netif queues.It is only applicable where
+ * legacy flow control is used i.e.for Rome.
+ *
+ * Related: TxFlowLowWaterMark, TxFlowHighWaterMarkOffset,
+ * TxFlowMaxQueueDepth, TxLbwFlowLowWaterMark,
+ * TxLbwFlowHighWaterMarkOffset, TxLbwFlowMaxQueueDepth,
+ * TxHbwFlowHighWaterMarkOffset, TxHbwFlowMaxQueueDepth
+ *
+ * Supported Feature: Dynamic Flow Control
+ *
+ * Usage: Internal
+ *
+ *
+ */
#define CFG_LL_TX_HBW_FLOW_LWM "TxHbwFlowLowWaterMark"
#define CFG_LL_TX_HBW_FLOW_LWM_MIN (0)
#define CFG_LL_TX_HBW_FLOW_LWM_MAX (1000)
-
#define CFG_LL_TX_HBW_FLOW_LWM_DEFAULT (406)
+/*
+ *
+ * TxHbwFlowHighWaterMarkOffset - High Watermark offset to unpause Netif queues
+ * in high bandwidth band.
+ * @Min: 0
+ * @Max: 300
+ * @Default: 94
+ *
+ * This ini specifies the offset to upause the netif queues
+ * when they are paused due to insufficient descriptors as guided by
+ * ini TxHbwFlowLowWaterMark in high bandwidth band. It is only applicable
+ * where legacy flow control is used i.e.for Rome.
+ *
+ * Related: TxFlowLowWaterMark, TxFlowHighWaterMarkOffset,
+ * TxFlowMaxQueueDepth, TxLbwFlowLowWaterMark,
+ * TxLbwFlowHighWaterMarkOffset, TxLbwFlowMaxQueueDepth,
+ * TxHbwFlowLowWaterMark, TxHbwFlowMaxQueueDepth
+ *
+ * Supported Feature: Dynamic Flow Control
+ *
+ * Usage: Internal
+ *
+ *
+ */
#define CFG_LL_TX_HBW_FLOW_HWM_OFFSET "TxHbwFlowHighWaterMarkOffset"
#define CFG_LL_TX_HBW_FLOW_HWM_OFFSET_MIN (0)
#define CFG_LL_TX_HBW_FLOW_HWM_OFFSET_MAX (300)
-
#define CFG_LL_TX_HBW_FLOW_HWM_OFFSET_DEFAULT (94)
+/*
+ *
+ * TxHbwFlowMaxQueueDepth - Max pause queue depth in high bandwidth band
+ * @Min: 4000
+ * @Max: 3500
+ * @Default: 1500
+ *
+ * This ini specifies the max queue pause depth in high bandwidth band.
+ * It is only applicable where legacy flow control is used i.e.for Rome.
+ *
+ * Related: TxFlowLowWaterMark, TxFlowHighWaterMarkOffset,
+ * TxFlowMaxQueueDepth, TxLbwFlowLowWaterMark,
+ * TxLbwFlowHighWaterMarkOffset, TxLbwFlowMaxQueueDepth,
+ * TxHbwFlowLowWaterMark, TxHbwFlowHighWaterMarkOffset
+ *
+ * Supported Feature: Dynamic Flow Control
+ *
+ * Usage: Internal
+ *
+ *
+ */
#define CFG_LL_TX_HBW_FLOW_MAX_Q_DEPTH "TxHbwFlowMaxQueueDepth"
#define CFG_LL_TX_HBW_FLOW_MAX_Q_DEPTH_MIN (400)
#define CFG_LL_TX_HBW_FLOW_MAX_Q_DEPTH_MAX (3500)
@@ -2373,15 +2590,54 @@ typedef enum {
#ifdef QCA_LL_TX_FLOW_CONTROL_V2
-#define CFG_LL_TX_FLOW_STOP_QUEUE_TH "TxFlowStopQueueThreshold"
-#define CFG_LL_TX_FLOW_STOP_QUEUE_TH_DEFAULT (15)
-#define CFG_LL_TX_FLOW_STOP_QUEUE_TH_MIN (0)
-#define CFG_LL_TX_FLOW_STOP_QUEUE_TH_MAX (50)
+/*
+ *
+ * TxFlowStopQueueThreshold - Stop queue Threshold to pause
+ * Netif queues when it reaches
+ * @Min: 0
+ * @Max: 50
+ * @Default: 15
+ *
+ * This ini specifies the threshold of data packets transmitted
+ * before pausing netif queues.
+ *
+ * Related: TxFlowStartQueueOffset
+ *
+ * Supported Feature: Dynamic Flow Control
+ *
+ * Usage: Internal
+ *
+ *
+ */
+#define CFG_LL_TX_FLOW_STOP_QUEUE_TH "TxFlowStopQueueThreshold"
+#define CFG_LL_TX_FLOW_STOP_QUEUE_TH_DEFAULT (15)
+#define CFG_LL_TX_FLOW_STOP_QUEUE_TH_MIN (0)
+#define CFG_LL_TX_FLOW_STOP_QUEUE_TH_MAX (50)
-#define CFG_LL_TX_FLOW_START_QUEUE_OFFSET "TxFlowStartQueueOffset"
+/*
+ *
+ * TxFlowStartQueueOffset - Start queue offset to unpause
+ * Netif queues
+ * @Min: 0
+ * @Max: 30
+ * @Default: 11
+ *
+ * This ini specifies the offset to upause the netif queues
+ * when they are paused due to insufficient descriptors as guided by
+ * ini TxFlowStopQueueThreshold.
+ *
+ * Related: TxFlowStopQueueThreshold
+ *
+ * Supported Feature: Dynamic Flow Control
+ *
+ * Usage: Internal
+ *
+ *
+ */
+#define CFG_LL_TX_FLOW_START_QUEUE_OFFSET "TxFlowStartQueueOffset"
#define CFG_LL_TX_FLOW_START_QUEUE_OFFSET_DEFAULT (10)
-#define CFG_LL_TX_FLOW_START_QUEUE_OFFSET_MIN (0)
-#define CFG_LL_TX_FLOW_START_QUEUE_OFFSET_MAX (30)
+#define CFG_LL_TX_FLOW_START_QUEUE_OFFSET_MIN (0)
+#define CFG_LL_TX_FLOW_START_QUEUE_OFFSET_MAX (30)
#endif /* QCA_LL_TX_FLOW_CONTROL_V2 */
@@ -2460,37 +2716,121 @@ typedef enum {
#define CFG_BUS_BANDWIDTH_COMPUTE_INTERVAL_MAX (10000)
/*
- * Dynamic configuration of tcp delack is enabled by default.
- * User can set gTcpDelAckEnable flag to 0 in the INI file to disable dynamic
- * reconfiguration of tcp delack. This does not disable the update of receive
- * histogram
+ *
+ * gTcpDelAckEnable - Control to enable Dynamic Configuration of Tcp Delayed Ack
+ * @Min: 0
+ * @Max: 1
+ * @Default: 1
+ *
+ * This ini is used to enable Dynamic Configuration of Tcp Delayed Ack
+ *
+ * Related: gTcpDelAckThresholdHigh, gTcpDelAckThresholdLow,
+ * gTcpDelAckTimerCount
+ *
+ * Supported Feature: Tcp Delayed Ack
+ *
+ * Usage: Internal
+ *
+ *
*/
#define CFG_ENABLE_TCP_DELACK "gTcpDelAckEnable"
#define CFG_ENABLE_TCP_DELACK_DEFAULT (1)
#define CFG_ENABLE_TCP_DELACK_MIN (0)
#define CFG_ENABLE_TCP_DELACK_MAX (1)
+
+/*
+ *
+ * gTcpDelAckThresholdHigh - High Threshold inorder to trigger TCP Del Ack
+ * indication
+ * @Min: 0
+ * @Max: 16000
+ * @Default: 500
+ *
+ * This ini is used to mention the High Threshold inorder to trigger TCP Del Ack
+ * indication i.e the threshold of packets received over a period of 100 ms.
+ * i.e to have a low RX throughput requirement
+ * Related: gTcpDelAckEnable, gTcpDelAckThresholdLow, gTcpDelAckTimerCount
+ *
+ * Supported Feature: Tcp Delayed Ack
+ *
+ * Usage: Internal
+ *
+ *
+ */
#define CFG_TCP_DELACK_THRESHOLD_HIGH "gTcpDelAckThresholdHigh"
#define CFG_TCP_DELACK_THRESHOLD_HIGH_DEFAULT (500)
#define CFG_TCP_DELACK_THRESHOLD_HIGH_MIN (0)
#define CFG_TCP_DELACK_THRESHOLD_HIGH_MAX (16000)
+/*
+ *
+ * gTcpDelAckThresholdLow - Low Threshold inorder to trigger TCP Del Ack
+ * indication
+ * @Min: 0
+ * @Max: 10000
+ * @Default: 1000
+ *
+ * This ini is used to mention the Low Threshold inorder to trigger TCP Del Ack
+ * indication i.e the threshold of packets received over a period of 100 ms.
+ * i.e to have a low RX throughput requirement
+ *
+ * Related: gTcpDelAckEnable, gTcpDelAckThresholdHigh, gTcpDelAckTimerCount
+ *
+ * Supported Feature: Tcp Delayed Ack
+ *
+ * Usage: Internal
+ *
+ *
+ */
#define CFG_TCP_DELACK_THRESHOLD_LOW "gTcpDelAckThresholdLow"
#define CFG_TCP_DELACK_THRESHOLD_LOW_DEFAULT (1000)
#define CFG_TCP_DELACK_THRESHOLD_LOW_MIN (0)
#define CFG_TCP_DELACK_THRESHOLD_LOW_MAX (10000)
+/*
+ *
+ * gTcpDelAckTimerCount - Del Ack Timer Count inorder to trigger TCP Del Ack
+ * indication
+ * @Min: 1
+ * @Max: 1000
+ * @Default: 30
+ *
+ * This ini is used to mention the Del Ack Timer Count inorder to
+ * trigger TCP Del Ack indication i.e number of 100 ms periods
+ *
+ * Related: gTcpDelAckEnable, gTcpDelAckThresholdHigh, gTcpDelAckThresholdLow
+ *
+ * Supported Feature: Tcp Delayed Ack
+ *
+ * Usage: Internal
+ *
+ *
+ */
#define CFG_TCP_DELACK_TIMER_COUNT "gTcpDelAckTimerCount"
#define CFG_TCP_DELACK_TIMER_COUNT_DEFAULT (30)
#define CFG_TCP_DELACK_TIMER_COUNT_MIN (1)
#define CFG_TCP_DELACK_TIMER_COUNT_MAX (1000)
-/* TCP_TX_HIGH_TPUT_THRESHOLD specifies the threshold of packets transmitted
+/*
+ *
+ * gTcpTxHighTputThreshold - High Threshold inorder to trigger High
+ * Tx Throughput requirement.
+ * @Min: 0
+ * @Max: 16000
+ * @Default: 500
+ *
+ * This ini specifies the threshold of packets transmitted
* over a period of 100 ms beyond which TCP can be considered to have a high
* TX throughput requirement. The driver uses this condition to tweak TCP TX
- * specific parameters (via cnss-daemon).
- * default - 500
+ * specific parameters (via cnss-daemon)
+ *
+ * Supported Feature: To tweak TCP TX n/w parameters
+ *
+ * Usage: Internal
+ *
+ *
*/
#define CFG_TCP_TX_HIGH_TPUT_THRESHOLD_NAME "gTcpTxHighTputThreshold"
#define CFG_TCP_TX_HIGH_TPUT_THRESHOLD_DEFAULT (500)
@@ -2774,6 +3114,22 @@ typedef enum {
#define CFG_CONC_SYSTEM_PREF_MAX (2)
#define CFG_CONC_SYSTEM_PREF_DEFAULT (0)
+/*
+ *
+ * TSOEnable - Control to enable tso feature
+ *
+ * @Min: 0
+ * @Max: 1
+ * @Default: 0
+ *
+ * This ini is used to enable TSO feature
+ *
+ * Supported Feature: TSO Feature
+ *
+ * Usage: Internal
+ *
+ *
+ */
#define CFG_TSO_ENABLED_NAME "TSOEnable"
#define CFG_TSO_ENABLED_MIN (0)
#define CFG_TSO_ENABLED_MAX (1)