qcacmn: monitor RXDMA drop feature

Adds new INI variable for threshold control.
Host sends message to target with new threshold info.
If buffer reaches threshold then MAC drops incoming monitor frames.

Change-Id: Id659d7df68a5ec0b22fb571dc1ffa4990f8fcc4f
diff --git a/wlan_cfg/cfg_dp.h b/wlan_cfg/cfg_dp.h
index 781acee..9c990d0 100644
--- a/wlan_cfg/cfg_dp.h
+++ b/wlan_cfg/cfg_dp.h
@@ -277,6 +277,10 @@
 #define WLAN_CFG_RXDMA_ERR_DST_RING_SIZE_MIN 1024
 #define WLAN_CFG_RXDMA_ERR_DST_RING_SIZE_MAX 8192
 
+#define WLAN_CFG_RXDMA_MONITOR_RX_DROP_THRESH_SIZE 32
+#define WLAN_CFG_RXDMA_MONITOR_RX_DROP_THRESH_SIZE_MIN 0
+#define WLAN_CFG_RXDMA_MONITOR_RX_DROP_THRESH_SIZE_MAX 256
+
 /**
  * Allocate as many RX descriptors as buffers in the SW2RXDMA
  * ring. This value may need to be tuned later.
@@ -744,6 +748,13 @@
 	CFG_INI_BOOL("dp_rx_monitor_protocol_flow_tag_enable", true, \
 		     "Enable/Disable Rx Protocol & Flow tags in Monitor mode")
 
+#define CFG_DP_RXDMA_MONITOR_RX_DROP_THRESHOLD \
+		CFG_INI_UINT("mon_drop_thresh", \
+		WLAN_CFG_RXDMA_MONITOR_RX_DROP_THRESH_SIZE_MIN, \
+		WLAN_CFG_RXDMA_MONITOR_RX_DROP_THRESH_SIZE_MAX, \
+		WLAN_CFG_RXDMA_MONITOR_RX_DROP_THRESH_SIZE, \
+		CFG_VALUE_OR_DEFAULT, "RXDMA monitor rx drop theshold")
+
 #define CFG_DP \
 		CFG(CFG_DP_HTT_PACKET_TYPE) \
 		CFG(CFG_DP_INT_BATCH_THRESHOLD_OTHER) \
@@ -813,6 +824,6 @@
 		CFG(CFG_DP_RX_FLOW_SEARCH_TABLE_SIZE) \
 		CFG(CFG_DP_RX_FLOW_TAG_ENABLE) \
 		CFG(CFG_DP_RX_FLOW_SEARCH_TABLE_PER_PDEV) \
-		CFG(CFG_DP_RX_MON_PROTOCOL_FLOW_TAG_ENABLE)
-
+		CFG(CFG_DP_RX_MON_PROTOCOL_FLOW_TAG_ENABLE) \
+		CFG(CFG_DP_RXDMA_MONITOR_RX_DROP_THRESHOLD)
 #endif /* _CFG_DP_H_ */