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:

committet von
Madan Koyyalamudi

Ursprung
70a8c0b8f8
Commit
7432a2e275
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
|
@@ -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)) {
|
||||
|
@@ -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_ */
|
||||
|
@@ -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);
|
||||
|
@@ -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
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren