diff --git a/wlan_cfg/cfg_dp.h b/wlan_cfg/cfg_dp.h index bdfc73807b..f1b90921e6 100644 --- a/wlan_cfg/cfg_dp.h +++ b/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_ */ diff --git a/wlan_cfg/wlan_cfg.c b/wlan_cfg/wlan_cfg.c index 209e03a487..811d430623 100644 --- a/wlan_cfg/wlan_cfg.c +++ b/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 */ diff --git a/wlan_cfg/wlan_cfg.h b/wlan_cfg/wlan_cfg.h index eb3cb63ba4..749cecd5b7 100644 --- a/wlan_cfg/wlan_cfg.h +++ b/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,