qcacmn: Add INI support for peer ext stats

Add INI support for peer extended stats. The extended
stats as of now include per peer Tx/Rx delay per packet
path.

Change-Id: I20d3c7f81f65f4db5f111eb103945151a8cd83aa
This commit is contained in:
Aniruddha Paul
2020-05-13 17:43:58 +05:30
committed by nshrivas
parent 0b06fc4e7e
commit 915f53b12f
3 changed files with 45 additions and 2 deletions

View File

@@ -846,6 +846,10 @@
WLAN_CFG_NUM_REO_RINGS_MAP, \
CFG_VALUE_OR_DEFAULT, "REO Destination Rings Mapping")
#define CFG_DP_PEER_EXT_STATS \
CFG_INI_BOOL("peer_ext_stats", \
false, "Peer extended stats")
#define CFG_DP \
CFG(CFG_DP_HTT_PACKET_TYPE) \
CFG(CFG_DP_INT_BATCH_THRESHOLD_OTHER) \
@@ -921,6 +925,7 @@
CFG(CFG_DP_PKTLOG_BUFFER_SIZE) \
CFG(CFG_DP_RX_FISA_ENABLE) \
CFG(CFG_DP_FULL_MON_MODE) \
CFG(CFG_DP_REO_RINGS_MAP)
CFG(CFG_DP_REO_RINGS_MAP) \
CFG(CFG_DP_PEER_EXT_STATS)
#endif /* _CFG_DP_H_ */

View File

@@ -605,6 +605,7 @@ wlan_cfg_soc_attach(struct cdp_ctrl_objmgr_psoc *psoc)
cfg_get(psoc, CFG_DP_RXDMA_MONITOR_RX_DROP_THRESHOLD);
wlan_cfg_ctx->is_rx_fisa_enabled = cfg_get(psoc, CFG_DP_RX_FISA_ENABLE);
wlan_cfg_ctx->reo_rings_mapping = cfg_get(psoc, CFG_DP_REO_RINGS_MAP);
wlan_cfg_ctx->pext_stats_enabled = cfg_get(psoc, CFG_DP_PEER_EXT_STATS);
return wlan_cfg_ctx;
}
@@ -1356,3 +1357,16 @@ wlan_cfg_is_rx_mon_protocol_flow_tag_enabled(struct wlan_cfg_dp_soc_ctxt *cfg)
{
return cfg->is_rx_mon_protocol_flow_tag_enabled;
}
void
wlan_cfg_set_peer_ext_stats(struct wlan_cfg_dp_soc_ctxt *cfg,
bool val)
{
cfg->pext_stats_enabled = val;
}
bool
wlan_cfg_is_peer_ext_stats_enabled(struct wlan_cfg_dp_soc_ctxt *cfg)
{
return cfg->pext_stats_enabled;
}

View File

@@ -183,7 +183,7 @@ struct wlan_srng_cfg {
* 5 tuple flow entry
* @pktlog_buffer_size: packet log buffer size
* @is_rx_fisa_enabled: flag to enable/disable FISA Rx
* @reo_rings_mapping: reo destination ring bitmap
* @pext_stats_enabled: Flag to enable and disabled peer extended stats
*/
struct wlan_cfg_dp_soc_ctxt {
int num_int_ctxts;
@@ -285,6 +285,7 @@ struct wlan_cfg_dp_soc_ctxt {
bool is_tso_desc_attach_defer;
uint32_t delayed_replenish_entries;
uint32_t reo_rings_mapping;
bool pext_stats_enabled;
};
/**
@@ -1340,3 +1341,26 @@ bool wlan_cfg_is_tso_desc_attach_defer(struct wlan_cfg_dp_soc_ctxt *cfg);
* Return: reo ring bitmap.
*/
uint32_t wlan_cfg_get_reo_rings_mapping(struct wlan_cfg_dp_soc_ctxt *cfg);
/**
* wlan_cfg_set_peer_ext_stats() - set peer extended stats
*
* @wlan_cfg_dp_soc_ctxt: soc configuration context
* @val: Flag value read from INI
*
* Return: void
*/
void
wlan_cfg_set_peer_ext_stats(struct wlan_cfg_dp_soc_ctxt *cfg,
bool val);
/**
* wlan_cfg_is_peer_ext_stats_enabled() - Check if peer extended
* stats are enabled
*
* @wlan_cfg_dp_soc_ctxt: soc configuration context
*
* Return: bool
*/
bool
wlan_cfg_is_peer_ext_stats_enabled(struct wlan_cfg_dp_soc_ctxt *cfg);