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
父節點 0b06fc4e7e
當前提交 915f53b12f
共有 3 個文件被更改,包括 45 次插入2 次删除

查看文件

@@ -846,6 +846,10 @@
WLAN_CFG_NUM_REO_RINGS_MAP, \ WLAN_CFG_NUM_REO_RINGS_MAP, \
CFG_VALUE_OR_DEFAULT, "REO Destination Rings Mapping") 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 \ #define CFG_DP \
CFG(CFG_DP_HTT_PACKET_TYPE) \ CFG(CFG_DP_HTT_PACKET_TYPE) \
CFG(CFG_DP_INT_BATCH_THRESHOLD_OTHER) \ CFG(CFG_DP_INT_BATCH_THRESHOLD_OTHER) \
@@ -921,6 +925,7 @@
CFG(CFG_DP_PKTLOG_BUFFER_SIZE) \ CFG(CFG_DP_PKTLOG_BUFFER_SIZE) \
CFG(CFG_DP_RX_FISA_ENABLE) \ CFG(CFG_DP_RX_FISA_ENABLE) \
CFG(CFG_DP_FULL_MON_MODE) \ 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_ */ #endif /* _CFG_DP_H_ */

查看文件

@@ -605,6 +605,7 @@ wlan_cfg_soc_attach(struct cdp_ctrl_objmgr_psoc *psoc)
cfg_get(psoc, CFG_DP_RXDMA_MONITOR_RX_DROP_THRESHOLD); 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->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->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; 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; 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;
}

查看文件

@@ -183,7 +183,7 @@ struct wlan_srng_cfg {
* 5 tuple flow entry * 5 tuple flow entry
* @pktlog_buffer_size: packet log buffer size * @pktlog_buffer_size: packet log buffer size
* @is_rx_fisa_enabled: flag to enable/disable FISA Rx * @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 { struct wlan_cfg_dp_soc_ctxt {
int num_int_ctxts; int num_int_ctxts;
@@ -285,6 +285,7 @@ struct wlan_cfg_dp_soc_ctxt {
bool is_tso_desc_attach_defer; bool is_tso_desc_attach_defer;
uint32_t delayed_replenish_entries; uint32_t delayed_replenish_entries;
uint32_t reo_rings_mapping; 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. * Return: reo ring bitmap.
*/ */
uint32_t wlan_cfg_get_reo_rings_mapping(struct wlan_cfg_dp_soc_ctxt *cfg); 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);