qcacmn: Add field to indicate sw peer filtering

Add a field to indicate if SW peer filtering is needed in
Tx monitor

Change-Id: Id0ed1655dfe51632f0437c4e3e3c2ccd067f75fe
CRs-Fixed: 3333191
Dieser Commit ist enthalten in:
Nandha Kishore Easwaran
2022-11-10 09:48:07 +05:30
committet von Madan Koyyalamudi
Ursprung 70a8c0b8f8
Commit 7432a2e275
5 geänderte Dateien mit 27 neuen und 4 gelöschten Zeilen

Datei anzeigen

@@ -3119,6 +3119,7 @@ dp_mon_filter_reset_tx_lite_mon(struct dp_mon_pdev_be *be_mon_pdev)
if (!config)
return;
config->subtype_filtering = false;
config->sw_peer_filtering = false;
}

Datei anzeigen

@@ -728,8 +728,10 @@ dp_lite_mon_filter_peer(struct dp_lite_mon_tx_config *config,
{
struct dp_lite_mon_peer *peer;
/* Return here if peer filtering is not required */
if (!config->tx_config.peer_count)
/* Return here if sw peer filtering is not required or if peer count
* is zero
*/
if (!config->sw_peer_filtering || !config->tx_config.peer_count)
return QDF_STATUS_SUCCESS;
TAILQ_FOREACH(peer, &config->tx_config.peer_list, peer_list_elem) {
@@ -806,7 +808,8 @@ dp_lite_mon_filter_peer_subtype(struct dp_lite_mon_tx_config *config,
QDF_STATUS ret;
/* Return here if subtype and peer filtering is not required */
if (!config->subtype_filtering && !config->tx_config.peer_count)
if (!config->subtype_filtering && !config->sw_peer_filtering &&
!config->tx_config.peer_count)
return QDF_STATUS_SUCCESS;
if (dp_tx_mon_nbuf_get_num_frag(buf)) {

Datei anzeigen

@@ -1267,6 +1267,10 @@
CFG_INI_BOOL("dp_handle_invalid_decap_type_disable", false, \
"Enable/Disable DP TLV out of order WAR")
#define CFG_DP_TXMON_SW_PEER_FILTERING \
CFG_INI_BOOL("tx_litemon_sw_peer_filtering", false, \
"Enable SW based tx monitor peer fitlering")
/*
* <ini>
* dp_rx_fisa_enable - Control Rx datapath FISA
@@ -1876,5 +1880,6 @@
CFG(CFG_DP_NAPI_SCALE_FACTOR) \
CFG(CFG_DP_HOST_AST_DB_ENABLE) \
CFG_DP_SAWF_STATS_CONFIG \
CFG(CFG_DP_HANDLE_INVALID_DECAP_TYPE_DISABLE)
CFG(CFG_DP_HANDLE_INVALID_DECAP_TYPE_DISABLE) \
CFG(CFG_DP_TXMON_SW_PEER_FILTERING)
#endif /* _CFG_DP_H_ */

Datei anzeigen

@@ -2946,6 +2946,8 @@ wlan_cfg_soc_attach(struct cdp_ctrl_objmgr_psoc *psoc)
wlan_soc_sawf_stats_cfg_attach(psoc, wlan_cfg_ctx);
wlan_cfg_ctx->is_handle_invalid_decap_type_disabled =
cfg_get(psoc, CFG_DP_HANDLE_INVALID_DECAP_TYPE_DISABLE);
wlan_cfg_ctx->txmon_sw_peer_filtering =
cfg_get(psoc, CFG_DP_TXMON_SW_PEER_FILTERING);
return wlan_cfg_ctx;
}
@@ -4236,3 +4238,10 @@ uint8_t wlan_cfg_get_napi_scale_factor(struct wlan_cfg_dp_soc_ctxt *cfg)
{
return cfg->napi_scale_factor;
}
bool wlan_cfg_get_txmon_sw_peer_filtering(struct wlan_cfg_dp_soc_ctxt *cfg)
{
return cfg->txmon_sw_peer_filtering;
}
qdf_export_symbol(wlan_cfg_get_txmon_sw_peer_filtering);

Datei anzeigen

@@ -440,6 +440,7 @@ struct wlan_cfg_dp_soc_ctxt {
#endif
uint8_t num_rxdma_dst_rings_per_pdev;
bool txmon_hw_support;
bool txmon_sw_peer_filtering;
uint8_t num_rxdma_status_rings_per_pdev;
#ifdef WLAN_TX_PKT_CAPTURE_ENH
uint32_t tx_capt_max_mem_allowed;
@@ -2253,6 +2254,10 @@ void wlan_cfg_set_txmon_hw_support(struct wlan_cfg_dp_soc_ctxt *cfg,
*/
bool wlan_cfg_get_txmon_hw_support(struct wlan_cfg_dp_soc_ctxt *cfg);
void wlan_cfg_set_txmon_sw_peer_filtering(struct wlan_cfg_dp_soc_ctxt *cfg,
bool txmon_sw_peer_filtering);
bool wlan_cfg_get_txmon_sw_peer_filtering(struct wlan_cfg_dp_soc_ctxt *cfg);
#ifdef WLAN_TX_PKT_CAPTURE_ENH
/*
* wlan_cfg_get_tx_capt_max_mem - Get max memory allowed for TX capture feature