qcacmn: Add support to configure rbm id through ini

For legacy tx monitor, we need msdu completion in sequence.
Modifying the return buffer manager id during enqueue will serialize
the msdu completion.

Return buffer manager will be over ride only when tx_monitor
is turned enabled.

Change-Id: I500065077b59b3ea3561ec8fc49af8cbe58c1dfe
CRs-Fixed: 3539636
这个提交包含在:
nobelj
2023-06-23 17:28:51 -07:00
提交者 Rahul Choudhary
父节点 0ef7402a2b
当前提交 6f8e9cffb0
修改 5 个文件,包含 104 行新增0 行删除

查看文件

@@ -330,6 +330,7 @@ struct wlan_srng_cfg {
* @txmon_sw_peer_filtering: TxMON sw peer filtering support
* @num_rxdma_status_rings_per_pdev: Num RXDMA status rings
* @tx_capt_max_mem_allowed: Max memory for Tx packet capture
* @tx_capt_rbm_id: Return Buffer Manager ID to be used for Tx packet capture
* @sawf_enabled: Is SAWF enabled
* @sawf_stats: SAWF Statistics
* @mpdu_retry_threshold_1: MPDU retry threshold 1 to increment tx bad count
@@ -532,6 +533,7 @@ struct wlan_cfg_dp_soc_ctxt {
uint8_t num_rxdma_status_rings_per_pdev;
#ifdef WLAN_TX_PKT_CAPTURE_ENH
uint32_t tx_capt_max_mem_allowed;
uint8_t tx_capt_rbm_id[MAX_PDEV_CNT];
#endif
#ifdef CONFIG_SAWF
bool sawf_enabled;
@@ -2579,6 +2581,26 @@ wlan_cfg_get_tx_capt_max_mem(struct wlan_cfg_dp_soc_ctxt *cfg)
{
return cfg->tx_capt_max_mem_allowed;
}
/**
* wlan_cfg_get_tx_capt_rbm_id - Get RBM_ID to be used for tx capture feature
* @cfg: Configuration Handle
* @idx: Pdev_id
*
* Return: Return Buffer manager id to be used
*/
static inline int
wlan_cfg_get_tx_capt_rbm_id(struct wlan_cfg_dp_soc_ctxt *cfg, uint8_t idx)
{
if (idx >= MAX_PDEV_CNT) {
qdf_err("!!! pdev index is greater than expected");
qdf_assert(0);
/* resetting idx to zero */
idx = 0;
}
return cfg->tx_capt_rbm_id[idx];
}
#endif /* WLAN_TX_PKT_CAPTURE_ENH */
#ifdef DP_TX_PACKET_INSPECT_FOR_ILP