[qca-nss-drv] Add a radio config message to send buffer info

Add a radio config message to send buffer requirements for number of peers
connected

Change-Id: If5a91e774d18145cb9e6232fd8d02dc0bd92c1a9
Signed-off-by: Radha krishna Simha Jiguru <rjiguru@codeaurora.org>
diff --git a/exports/nss_wifili_if.h b/exports/nss_wifili_if.h
index 366ac29..3086711 100644
--- a/exports/nss_wifili_if.h
+++ b/exports/nss_wifili_if.h
@@ -133,6 +133,7 @@
 	NSS_WIFILI_LINK_DESC_INFO_MSG,
 	NSS_WIFILI_PEER_SECURITY_TYPE_MSG,
 	NSS_WIFILI_PEER_NAWDS_ENABLE_MSG,
+	NSS_WIFILI_RADIO_BUF_CFG,
 	NSS_WIFILI_MAX_MSG
 };
 
@@ -249,6 +250,8 @@
 			/**< Security message failed as peer is null for a peer ID. */
 	NSS_WIFILI_EMSG_PEER_SECURITY_PEER_CORRUPTED_FAIL,
 			/**< Security message failed as peer is corrupted. */
+	NSS_WIFILI_EMSG_RADIO_INVALID_BUF_CFG,
+            /**< Buffer configuration message failed as invalid range value is provided. */
 	NSS_WIFILI_EMSG_UNKNOWN
 			/**< Unknown error message. */
 };
@@ -460,7 +463,6 @@
 			/**< Tx numner of packets sent. */
 	uint32_t tx_processed_bytes;
 			/**< Tx number of bytes processed. */
-
 };
 
 /**
@@ -531,7 +533,6 @@
 	uint32_t invalid_cookie;	/**< Tx comletion ring descriptor has invalid cookies. */
 	uint32_t hw_ring_empty;		/**< Tx completion hardware ring empty. */
 	uint32_t ring_reaped;		/**< Tx completion successfull ring reaped. */
-
 };
 
 /**
@@ -547,6 +548,7 @@
 	uint32_t tx_rel_ext_desc;		/**< Tx descriptor scatter-gather. */
 	uint32_t tx_rel_tx_desc;		/**< Tx descriptor source is hardware*/
 	uint32_t tx_rel_no_pb;			/**< Tx descriptor has pbuf present. */
+	uint32_t tx_queue_limit_drop;		/**< Tx number of packets dropped because of queueing limits. */
 };
 
 /**
@@ -845,6 +847,24 @@
 };
 
 /**
+ * nss_wifili_radio_buf_cfg_msg
+ *	Wi-Fi Radio buffer requirement configuration.
+ *
+ * Number of payloads needed in NSS for multi-client scenarios are configured
+ * from Wi-Fi driver as per following ranges:
+ * 0-64 peers range 1.
+ * 64-128 peers range 2.
+ * 128-256 peers range 3.
+ * >256 peers range 4.
+ * Number of payloads needed in for each peer range is configured by Wi-Fi driver
+ * for flexibility.
+ */
+struct nss_wifili_radio_buf_cfg_msg {
+	uint32_t buf_cnt;		/**< Number of buffers required. */
+	uint32_t range;			/**< Peer range. */
+};
+
+/**
  * nss_wifili_radio_cfg_msg
  *	Wi-Fi radio specific special configurations.
  */
@@ -857,6 +877,8 @@
 	union {
 		struct nss_wifili_radio_cmd_msg radiocmdmsg;
 							/**< Radio specific commands. */
+		struct nss_wifili_radio_buf_cfg_msg radiobufcfgmsg;
+							/**< Radio specific buffer configurations. */
 	} radiomsg;	/**< Wi-Fi radio command message. */
 };