Sfoglia il codice sorgente

qcacmn: add INI to enable/disable RX buffer pool

Add a new INI parameter to enable/disable RX buffer pool.

Change-Id: I186f2e1c4f4d008371efb6b041dc93e029c2f7c3
CRs-Fixed: 2731517
Manikanta Pubbisetty 5 anni fa
parent
commit
d315e2d238
3 ha cambiato i file con 33 aggiunte e 1 eliminazioni
  1. 6 1
      wlan_cfg/cfg_dp.h
  2. 14 0
      wlan_cfg/wlan_cfg.c
  3. 13 0
      wlan_cfg/wlan_cfg.h

+ 6 - 1
wlan_cfg/cfg_dp.h

@@ -874,6 +874,10 @@
 		CFG_INI_BOOL("peer_ext_stats", \
 		false, "Peer extended stats")
 
+#define CFG_DP_RX_BUFF_POOL_ENABLE \
+	CFG_INI_BOOL("dp_rx_buff_prealloc_pool", false, \
+		     "Enable/Disable DP RX emergency buffer pool support")
+
 #define CFG_DP \
 		CFG(CFG_DP_HTT_PACKET_TYPE) \
 		CFG(CFG_DP_INT_BATCH_THRESHOLD_OTHER) \
@@ -951,6 +955,7 @@
 		CFG(CFG_DP_RX_FISA_ENABLE) \
 		CFG(CFG_DP_FULL_MON_MODE) \
 		CFG(CFG_DP_REO_RINGS_MAP) \
-		CFG(CFG_DP_PEER_EXT_STATS)
+		CFG(CFG_DP_PEER_EXT_STATS) \
+		CFG(CFG_DP_RX_BUFF_POOL_ENABLE)
 
 #endif /* _CFG_DP_H_ */

+ 14 - 0
wlan_cfg/wlan_cfg.c

@@ -608,6 +608,8 @@ wlan_cfg_soc_attach(struct cdp_ctrl_objmgr_psoc *psoc)
 	wlan_cfg_ctx->is_rx_fisa_enabled = cfg_get(psoc, CFG_DP_RX_FISA_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 =
+			cfg_get(psoc, CFG_DP_RX_BUFF_POOL_ENABLE);
 	return wlan_cfg_ctx;
 }
 
@@ -1377,3 +1379,15 @@ wlan_cfg_is_peer_ext_stats_enabled(struct wlan_cfg_dp_soc_ctxt *cfg)
 {
 	return cfg->pext_stats_enabled;
 }
+
+#ifdef WLAN_FEATURE_RX_PREALLOC_BUFFER_POOL
+bool wlan_cfg_is_rx_buffer_pool_enabled(struct wlan_cfg_dp_soc_ctxt *cfg)
+{
+	return cfg->is_rx_buff_pool_enabled;
+}
+#else
+bool wlan_cfg_is_rx_buffer_pool_enabled(struct wlan_cfg_dp_soc_ctxt *cfg)
+{
+	return false;
+}
+#endif /* WLAN_FEATURE_RX_PREALLOC_BUFFER_POOL */

+ 13 - 0
wlan_cfg/wlan_cfg.h

@@ -185,6 +185,8 @@ struct wlan_srng_cfg {
  * @pktlog_buffer_size: packet log buffer size
  * @is_rx_fisa_enabled: flag to enable/disable FISA Rx
  * @pext_stats_enabled: Flag to enable and disabled peer extended stats
+ * @is_rx_buff_pool_enabled: flag to enable/disable emergency RX buffer
+ *                           pool support
  */
 struct wlan_cfg_dp_soc_ctxt {
 	int num_int_ctxts;
@@ -288,6 +290,7 @@ struct wlan_cfg_dp_soc_ctxt {
 	uint32_t delayed_replenish_entries;
 	uint32_t reo_rings_mapping;
 	bool pext_stats_enabled;
+	bool is_rx_buff_pool_enabled;
 };
 
 /**
@@ -1335,6 +1338,16 @@ void wlan_cfg_fill_interrupt_mask(struct wlan_cfg_dp_soc_ctxt *wlan_cfg_ctx,
  * Return: true if enabled, false otherwise.
  */
 bool wlan_cfg_is_rx_fisa_enabled(struct wlan_cfg_dp_soc_ctxt *cfg);
+
+/**
+ * wlan_cfg_is_rx_buffer_pool_enabled() - Get RX buffer pool enabled flag
+ *
+ *
+ * @cfg: soc configuration context
+ *
+ * Return: true if enabled, false otherwise.
+ */
+bool wlan_cfg_is_rx_buffer_pool_enabled(struct wlan_cfg_dp_soc_ctxt *cfg);
 #endif
 
 void wlan_cfg_set_tso_desc_attach_defer(struct wlan_cfg_dp_soc_ctxt *cfg,