Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 338cca50 authored by Yeshwanth Sriram Guntuka's avatar Yeshwanth Sriram Guntuka Committed by Madan Koyyalamudi
Browse files

qcacmn: Add support to get dp prealloc config

Add support to fetch datapath prealloc related
configuration params.

Change-Id: Iaeac3833fd8e13df6baa9452a7d7f194b86a8bd3
CRs-Fixed: 3012651
parent cd19ba19
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -1520,3 +1520,23 @@ uint32_t wlan_cfg_ipa_tx_comp_ring_size(struct wlan_cfg_dp_soc_ctxt *cfg)
	return cfg->ipa_tx_comp_ring_size;
}
#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);
}
+31 −0
Original line number Diff line number Diff line
@@ -336,6 +336,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
@@ -1535,4 +1555,15 @@ uint32_t wlan_cfg_ipa_tx_comp_ring_size(struct wlan_cfg_dp_soc_ctxt *cfg)
	return 0;
}
#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