qcacmn: Reuse the tx descriptors in direct switch

Reuse the tx descriptors released in tx completions
without releasing the associated skbs to reduce
the cpu utilization in direct switch mode.

Change-Id: I4ab3ac58977a626344877b8a818a4dbc4864aaf3
CRs-Fixed: 3393968
This commit is contained in:
Pavankumar Nandeshwar
2023-01-18 02:01:00 -08:00
committed by Madan Koyyalamudi
parent 87f6016da2
commit 0a7d729a98
8 changed files with 78 additions and 12 deletions

View File

@@ -309,6 +309,7 @@ struct wlan_srng_cfg {
* @ppe2tcl_ring: PPE2TCL ring size
* @ppeds_num_tx_desc: Number of tx descs for PPE DS
* @ppeds_tx_comp_napi_budget: Napi budget for tx completions
* @ppeds_tx_desc_hotlist_len: PPE DS tx desc hotlist max length
* @pkt_capture_mode: Packet capture mode config
* @rx_mon_buf_ring_size: Rx monitor buf ring size
* @tx_mon_buf_ring_size: Tx monitor buf ring size
@@ -491,6 +492,7 @@ struct wlan_cfg_dp_soc_ctxt {
int ppe2tcl_ring;
int ppeds_num_tx_desc;
int ppeds_tx_comp_napi_budget;
int ppeds_tx_desc_hotlist_len;
#endif
#ifdef WLAN_FEATURE_PKT_CAPTURE_V2
uint32_t pkt_capture_mode;
@@ -2138,6 +2140,14 @@ wlan_cfg_get_dp_soc_ppe2tcl_ring_size(struct wlan_cfg_dp_soc_ctxt *cfg);
int
wlan_cfg_get_dp_soc_ppeds_num_tx_desc(struct wlan_cfg_dp_soc_ctxt *cfg);
/**
* wlan_cfg_get_dp_soc_ppeds_tx_desc_hotlist_len() - Max hotlist len of tx descs
* @cfg: Configuration Handle
*
* Return: hotlist len
*/
int
wlan_cfg_get_dp_soc_ppeds_tx_desc_hotlist_len(struct wlan_cfg_dp_soc_ctxt *cfg);
/**
* wlan_cfg_get_dp_soc_ppeds_tx_comp_napi_budget() - ppeds Tx comp napi budget
* @cfg: Configuration Handle
@@ -2176,6 +2186,12 @@ wlan_cfg_get_dp_soc_ppeds_tx_comp_napi_budget(struct wlan_cfg_dp_soc_ctxt *cfg)
{
return 0;
}
static inline int
wlan_cfg_get_dp_soc_ppeds_tx_desc_hotlist_len(struct wlan_cfg_dp_soc_ctxt *cfg)
{
return 0;
}
#endif
/**