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)