diff --git a/wlan_cfg/wlan_cfg.c b/wlan_cfg/wlan_cfg.c index 85c3897094..bb1a2ae9e4 100644 --- a/wlan_cfg/wlan_cfg.c +++ b/wlan_cfg/wlan_cfg.c @@ -2226,3 +2226,23 @@ wlan_cfg_get_dp_soc_ppe_release_ring_size(struct wlan_cfg_dp_soc_ctxt *cfg) return cfg->ppe_release_ring; } #endif + +void +wlan_cfg_get_prealloc_cfg(struct cdp_ctrl_objmgr_psoc *ctrl_psoc, + struct wlan_dp_prealloc_cfg *cfg) +{ + if (!ctrl_psoc || !cfg) + return; + + cfg->num_tx_ring_entries = cfg_get(ctrl_psoc, CFG_DP_TX_RING_SIZE); + cfg->num_tx_comp_ring_entries = cfg_get(ctrl_psoc, + CFG_DP_TX_COMPL_RING_SIZE); + cfg->num_wbm_rel_ring_entries = cfg_get(ctrl_psoc, + CFG_DP_WBM_RELEASE_RING); + cfg->num_rxdma_err_dst_ring_entries = cfg_get(ctrl_psoc, + CFG_DP_RXDMA_ERR_DST_RING); + cfg->num_reo_exception_ring_entries = cfg_get(ctrl_psoc, + CFG_DP_REO_EXCEPTION_RING); + cfg->num_tx_desc = cfg_get(ctrl_psoc, CFG_DP_TX_DESC); + cfg->num_tx_ext_desc = cfg_get(ctrl_psoc, CFG_DP_TX_EXT_DESC); +} diff --git a/wlan_cfg/wlan_cfg.h b/wlan_cfg/wlan_cfg.h index 2481a62935..2f1d815404 100644 --- a/wlan_cfg/wlan_cfg.h +++ b/wlan_cfg/wlan_cfg.h @@ -380,6 +380,26 @@ struct wlan_cfg_dp_pdev_ctxt { int nss_enabled; }; +/** + * struct wlan_dp_prealloc_cfg - DP prealloc related config + * @num_tx_ring_entries: num of tcl data ring entries + * @num_tx_comp_ring_entries: num of tx comp ring entries + * @num_wbm_rel_ring_entries: num of wbm err ring entries + * @num_rxdma_err_dst_ring_entries: num of rxdma err ring entries + * @num_reo_exception_ring_entries: num of rx exception ring entries + * @num_tx_desc: num of tx descriptors + * @num_tx_ext_desc: num of tx ext descriptors + */ +struct wlan_dp_prealloc_cfg { + int num_tx_ring_entries; + int num_tx_comp_ring_entries; + int num_wbm_rel_ring_entries; + int num_rxdma_err_dst_ring_entries; + int num_reo_exception_ring_entries; + int num_tx_desc; + int num_tx_ext_desc; +}; + /** * wlan_cfg_soc_attach() - Attach configuration interface for SoC * @ctrl_obj - PSOC object @@ -1783,4 +1803,15 @@ wlan_cfg_get_dp_soc_ppe2tcl_ring_size(struct wlan_cfg_dp_soc_ctxt *cfg); int wlan_cfg_get_dp_soc_ppe_release_ring_size(struct wlan_cfg_dp_soc_ctxt *cfg); #endif + +/** + * wlan_cfg_get_prealloc_cfg() - Get dp prealloc related cfg param + * @ctrl_psoc - PSOC object + * @cfg - cfg ctx where values will be populated + * + * Return: None + */ +void +wlan_cfg_get_prealloc_cfg(struct cdp_ctrl_objmgr_psoc *ctrl_psoc, + struct wlan_dp_prealloc_cfg *cfg); #endif