qcacmn: Add tx sw internode queue ini config

Add tx sw internode queue ini config that is used by NSS offload mode

Change-Id: I8236a289aa33aaa6bfd1af2ff326438042636139
diff --git a/dp/wifi3.0/dp_stats.c b/dp/wifi3.0/dp_stats.c
index 8a90f08..2cc9f02 100644
--- a/dp/wifi3.0/dp_stats.c
+++ b/dp/wifi3.0/dp_stats.c
@@ -4489,6 +4489,8 @@
 		       soc_cfg_ctx->tx_desc_limit_2);
 	DP_PRINT_STATS("TX device limit: %u ",
 		       soc_cfg_ctx->tx_device_limit);
+	DP_PRINT_STATS("TX sw internode queue: %u ",
+		       soc_cfg_ctx->tx_sw_internode_queue);
 	DP_PRINT_STATS("RXDMA err dst ring: %u ",
 		       soc_cfg_ctx->rxdma_err_dst_ring);
 }
diff --git a/wlan_cfg/cfg_dp.h b/wlan_cfg/cfg_dp.h
index 0a4e0d8..261d428 100644
--- a/wlan_cfg/cfg_dp.h
+++ b/wlan_cfg/cfg_dp.h
@@ -253,6 +253,10 @@
 #define WLAN_CFG_TX_DEVICE_LIMIT_MIN 16384
 #define WLAN_CFG_TX_DEVICE_LIMIT_MAX 65536
 
+#define WLAN_CFG_TX_SW_INTERNODE_QUEUE 1024
+#define WLAN_CFG_TX_SW_INTERNODE_QUEUE_MIN 128
+#define WLAN_CFG_TX_SW_INTERNODE_QUEUE_MAX 1024
+
 #define WLAN_CFG_RXDMA_MONITOR_BUF_RING_SIZE 4096
 #define WLAN_CFG_RXDMA_MONITOR_BUF_RING_SIZE_MIN 16
 #define WLAN_CFG_RXDMA_MONITOR_BUF_RING_SIZE_MAX 8192
@@ -594,6 +598,13 @@
 		WLAN_CFG_TX_DEVICE_LIMIT, \
 		CFG_VALUE_OR_DEFAULT, "DP TX DEVICE limit")
 
+#define CFG_DP_TX_SW_INTERNODE_QUEUE \
+		CFG_INI_UINT("dp_tx_sw_internode_queue", \
+		WLAN_CFG_TX_SW_INTERNODE_QUEUE_MIN, \
+		WLAN_CFG_TX_SW_INTERNODE_QUEUE_MAX, \
+		WLAN_CFG_TX_SW_INTERNODE_QUEUE, \
+		CFG_VALUE_OR_DEFAULT, "DP TX SW internode queue")
+
 #define CFG_DP_RXDMA_MONITOR_BUF_RING \
 		CFG_INI_UINT("dp_rxdma_monitor_buf_ring", \
 		WLAN_CFG_RXDMA_MONITOR_BUF_RING_SIZE_MIN, \
@@ -722,6 +733,7 @@
 		CFG(CFG_DP_TX_DESC_LIMIT_1) \
 		CFG(CFG_DP_TX_DESC_LIMIT_2) \
 		CFG(CFG_DP_TX_DEVICE_LIMIT) \
+		CFG(CFG_DP_TX_SW_INTERNODE_QUEUE) \
 		CFG(CFG_DP_RXDMA_MONITOR_BUF_RING) \
 		CFG(CFG_DP_RXDMA_MONITOR_DST_RING) \
 		CFG(CFG_DP_RXDMA_MONITOR_STATUS_RING) \
diff --git a/wlan_cfg/wlan_cfg.c b/wlan_cfg/wlan_cfg.c
index 86c0633..ae99ac0 100644
--- a/wlan_cfg/wlan_cfg.c
+++ b/wlan_cfg/wlan_cfg.c
@@ -408,6 +408,8 @@
 						CFG_DP_TX_DESC_LIMIT_2);
 	wlan_cfg_ctx->tx_device_limit = cfg_get(psoc,
 						CFG_DP_TX_DEVICE_LIMIT);
+	wlan_cfg_ctx->tx_sw_internode_queue = cfg_get(psoc,
+						CFG_DP_TX_SW_INTERNODE_QUEUE);
 	wlan_cfg_ctx->rxdma_err_dst_ring = cfg_get(psoc,
 						   CFG_DP_RXDMA_ERR_DST_RING);
 	wlan_cfg_ctx->enable_data_stall_detection =
@@ -965,6 +967,12 @@
 }
 
 int
+wlan_cfg_get_dp_soc_tx_sw_internode_queue(struct wlan_cfg_dp_soc_ctxt *cfg)
+{
+	return cfg->tx_sw_internode_queue;
+}
+
+int
 wlan_cfg_get_dp_soc_rxdma_err_dst_ring_size(struct wlan_cfg_dp_soc_ctxt *cfg)
 {
 	return cfg->rxdma_err_dst_ring;
diff --git a/wlan_cfg/wlan_cfg.h b/wlan_cfg/wlan_cfg.h
index e4d2f1d..6e85dbe 100644
--- a/wlan_cfg/wlan_cfg.h
+++ b/wlan_cfg/wlan_cfg.h
@@ -151,6 +151,7 @@
  * @tx_desc_limit_1: tx_desc limit for 2G
  * @tx_desc_limit_2: tx_desc limit for 5G L
  * @tx_device_limit: tx device limit
+ * @tx_sw_internode_queue: tx sw internode queue
  * @tx_comp_loop_pkt_limit: Max # of packets to be processed in 1 tx comp loop
  * @rx_reap_loop_pkt_limit: Max # of packets to be processed in 1 rx reap loop
  * @rx_hp_oos_update_limit: Max # of HP OOS (out of sync) updates
@@ -236,6 +237,7 @@
 	int tx_desc_limit_1;
 	int tx_desc_limit_2;
 	int tx_device_limit;
+	int tx_sw_internode_queue;
 #ifdef WLAN_FEATURE_RX_SOFTIRQ_TIME_LIMIT
 	uint32_t tx_comp_loop_pkt_limit;
 	uint32_t rx_reap_loop_pkt_limit;
@@ -1036,6 +1038,15 @@
 wlan_cfg_get_dp_soc_tx_device_limit(struct wlan_cfg_dp_soc_ctxt *cfg);
 
 /*
+ * wlan_cfg_get_dp_soc_tx_sw_internode_queue - Get tx sw internode queue
+ * @wlan_cfg_soc_ctx
+ *
+ * Return: tx sw internode queue
+ */
+int
+wlan_cfg_get_dp_soc_tx_sw_internode_queue(struct wlan_cfg_dp_soc_ctxt *cfg);
+
+/*
  * wlan_cfg_get_dp_soc_rxdma_refill_ring_size - Get rxdma refill ring size
  * @wlan_cfg_soc_ctx
  *