Selaa lähdekoodia

qcacmn: Add ini value for fisa rx lru del enable

Add ini value to enable disable lru del enable/disable.

Change-Id: I61e967a1f0939515177edc79415397e16b55d774
CRs-Fixed: 3160268
sandhu 3 vuotta sitten
vanhempi
sitoutus
654ea2aefe
4 muutettua tiedostoa jossa 46 lisäystä ja 1 poistoa
  1. 1 1
      dp/wifi3.0/dp_types.h
  2. 22 0
      wlan_cfg/cfg_dp.h
  3. 12 0
      wlan_cfg/wlan_cfg.c
  4. 11 0
      wlan_cfg/wlan_cfg.h

+ 1 - 1
dp/wifi3.0/dp_types.h

@@ -2252,7 +2252,7 @@ struct dp_soc {
 	struct dp_rx_fst *rx_fst;
 #ifdef WLAN_SUPPORT_RX_FISA
 	uint8_t fisa_enable;
-
+	uint8_t fisa_lru_del_enable;
 	/**
 	 * Params used for controlling the fisa aggregation dynamically
 	 */

+ 22 - 0
wlan_cfg/cfg_dp.h

@@ -1234,6 +1234,27 @@
 	CFG_INI_BOOL("dp_rx_fisa_enable", true, \
 		     "Enable/Disable DP Rx FISA")
 
+/*
+ * <ini>
+ * dp_rx_fisa_lru_del_enable - Control Rx datapath FISA
+ * @Min: 0
+ * @Max: 1
+ * @Default: 1
+ *
+ * This ini is used to enable DP Rx FISA lru deletion feature
+ *
+ * Related: dp_rx_fisa_enable
+ *
+ * Supported Feature: STA,P2P and SAP IPA disabled terminating
+ *
+ * Usage: Internal
+ *
+ * </ini>
+ */
+#define CFG_DP_RX_FISA_LRU_DEL_ENABLE \
+	CFG_INI_BOOL("dp_rx_fisa_lru_del_enable", true, \
+		     "Enable/Disable DP Rx FISA LRU deletion")
+
 #define CFG_DP_RXDMA_MONITOR_RX_DROP_THRESHOLD \
 		CFG_INI_UINT("mon_drop_thresh", \
 		WLAN_CFG_RXDMA_MONITOR_RX_DROP_THRESH_SIZE_MIN, \
@@ -1703,6 +1724,7 @@
 		CFG(CFG_DP_RXDMA_MONITOR_RX_DROP_THRESHOLD) \
 		CFG(CFG_DP_PKTLOG_BUFFER_SIZE) \
 		CFG(CFG_DP_RX_FISA_ENABLE) \
+		CFG(CFG_DP_RX_FISA_LRU_DEL_ENABLE) \
 		CFG(CFG_DP_FULL_MON_MODE) \
 		CFG(CFG_DP_REO_RINGS_MAP) \
 		CFG(CFG_DP_PEER_EXT_STATS) \

+ 12 - 0
wlan_cfg/wlan_cfg.c

@@ -2103,6 +2103,8 @@ wlan_cfg_soc_attach(struct cdp_ctrl_objmgr_psoc *psoc)
 	wlan_cfg_ctx->mon_drop_thresh =
 		cfg_get(psoc, CFG_DP_RXDMA_MONITOR_RX_DROP_THRESHOLD);
 	wlan_cfg_ctx->is_rx_fisa_enabled = cfg_get(psoc, CFG_DP_RX_FISA_ENABLE);
+	wlan_cfg_ctx->is_rx_fisa_lru_del_enabled =
+				cfg_get(psoc, CFG_DP_RX_FISA_LRU_DEL_ENABLE);
 	wlan_cfg_ctx->reo_rings_mapping = cfg_get(psoc, CFG_DP_REO_RINGS_MAP);
 	wlan_cfg_ctx->pext_stats_enabled = cfg_get(psoc, CFG_DP_PEER_EXT_STATS);
 	wlan_cfg_ctx->is_rx_buff_pool_enabled =
@@ -2987,11 +2989,21 @@ bool wlan_cfg_is_rx_fisa_enabled(struct wlan_cfg_dp_soc_ctxt *cfg)
 {
 	return (bool)(cfg->is_rx_fisa_enabled);
 }
+
+bool wlan_cfg_is_rx_fisa_lru_del_enabled(struct wlan_cfg_dp_soc_ctxt *cfg)
+{
+	return cfg->is_rx_fisa_lru_del_enabled;
+}
 #else
 bool wlan_cfg_is_rx_fisa_enabled(struct wlan_cfg_dp_soc_ctxt *cfg)
 {
 	return false;
 }
+
+bool wlan_cfg_is_rx_fisa_lru_del_enabled(struct wlan_cfg_dp_soc_ctxt *cfg)
+{
+	return false;
+}
 #endif
 
 bool wlan_cfg_is_poll_mode_enabled(struct wlan_cfg_dp_soc_ctxt *cfg)

+ 11 - 0
wlan_cfg/wlan_cfg.h

@@ -363,6 +363,7 @@ struct wlan_cfg_dp_soc_ctxt {
 	uint8_t *rx_toeplitz_hash_key;
 	uint8_t pktlog_buffer_size;
 	uint8_t is_rx_fisa_enabled;
+	bool is_rx_fisa_lru_del_enabled;
 	bool is_tso_desc_attach_defer;
 	uint32_t delayed_replenish_entries;
 	uint32_t reo_rings_mapping;
@@ -1668,6 +1669,16 @@ void wlan_cfg_fill_interrupt_mask(struct wlan_cfg_dp_soc_ctxt *wlan_cfg_ctx,
  */
 bool wlan_cfg_is_rx_fisa_enabled(struct wlan_cfg_dp_soc_ctxt *cfg);
 
+/**
+ * wlan_cfg_is_rx_fisa_lru_del_enabled() - Get Rx FISA LRU del enabled flag
+ *
+ *
+ * @cfg: soc configuration context
+ *
+ * Return: true if enabled, false otherwise.
+ */
+bool wlan_cfg_is_rx_fisa_lru_del_enabled(struct wlan_cfg_dp_soc_ctxt *cfg);
+
 /**
  * wlan_cfg_is_rx_buffer_pool_enabled() - Get RX buffer pool enabled flag
  *