qcacmn: Add dp ini param for sawf stats
Add dp ini-param to configure sawf_stats. CRs-Fixed: 3300948 Change-Id: Ifeb6935e2309be1f974c4da30b33a5caca308569
This commit is contained in:
@@ -1288,6 +1288,8 @@ enum cdp_pdev_param_type {
|
||||
* @cdp_ipa_enabled : set ipa mode
|
||||
* @cdp_psoc_param_vdev_stats_hw_offload: Configure HW vdev stats offload
|
||||
* @cdp_pdev_param_undecoded_metadata_enable: Undecoded metadata capture enable
|
||||
* @cdp_sawf_enabled: SAWF enable/dsiable
|
||||
* @cdp_sawf_stats: SAWF stats config
|
||||
* @cdp_vdev_param_traffic_end_ind: Traffic end indication enable/disable
|
||||
* @cdp_skel_enable : Enable/Disable skeleton code for Umac reset debug
|
||||
*/
|
||||
@@ -1375,6 +1377,7 @@ typedef union cdp_config_param_t {
|
||||
bool cdp_psoc_param_vdev_stats_hw_offload;
|
||||
bool cdp_pdev_param_undecoded_metadata_enable;
|
||||
bool cdp_sawf_enabled;
|
||||
uint8_t cdp_sawf_stats;
|
||||
bool cdp_drop_3addr_mcast;
|
||||
bool cdp_vdev_param_traffic_end_ind;
|
||||
bool cdp_umac_rst_skel;
|
||||
@@ -1516,6 +1519,7 @@ enum cdp_vdev_param_type {
|
||||
* @CDP_CFG_VDEV_STATS_HW_OFFLOAD: HW Vdev stats config
|
||||
* @CDP_UMAC_RST_SKEL_ENABLE: Enable Umac reset skeleton code for debug
|
||||
* @CDP_CDP_PPEDS_ENABLE: PPEDS is enabled or not
|
||||
* @CDP_SAWF_STATS : set SAWF stats config
|
||||
*/
|
||||
enum cdp_psoc_param_type {
|
||||
CDP_ENABLE_RATE_STATS,
|
||||
@@ -1527,6 +1531,7 @@ enum cdp_psoc_param_type {
|
||||
CDP_SAWF_ENABLE,
|
||||
CDP_UMAC_RST_SKEL_ENABLE,
|
||||
CDP_PPEDS_ENABLE,
|
||||
CDP_SAWF_STATS,
|
||||
};
|
||||
|
||||
#define TXRX_FW_STATS_TXSTATS 1
|
||||
|
@@ -313,6 +313,18 @@ cdp_get_drop_stats(ol_txrx_soc_handle soc, void *arg,
|
||||
}
|
||||
|
||||
#else
|
||||
static inline QDF_STATUS
|
||||
cdp_sawf_mpdu_stats_req(ol_txrx_soc_handle soc, uint8_t enable)
|
||||
{
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
static inline QDF_STATUS
|
||||
cdp_sawf_mpdu_details_stats_req(ol_txrx_soc_handle soc, uint8_t enable)
|
||||
{
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
static inline QDF_STATUS
|
||||
cdp_get_peer_sawf_delay_stats(ol_txrx_soc_handle soc, uint32_t svc_id,
|
||||
uint8_t *mac, void *data)
|
||||
|
@@ -11004,6 +11004,10 @@ dp_set_psoc_param(struct cdp_soc_t *cdp_soc,
|
||||
case CDP_UMAC_RST_SKEL_ENABLE:
|
||||
dp_umac_rst_skel_enable_update(soc, val.cdp_umac_rst_skel);
|
||||
break;
|
||||
case CDP_SAWF_STATS:
|
||||
wlan_cfg_set_sawf_stats_config(wlan_cfg_ctx,
|
||||
val.cdp_sawf_stats);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -14047,7 +14051,7 @@ static struct cdp_sawf_ops dp_ops_sawf = {
|
||||
.sawf_def_queues_unmap_req = dp_sawf_def_queues_unmap_req,
|
||||
.sawf_def_queues_get_map_report =
|
||||
dp_sawf_def_queues_get_map_report,
|
||||
#ifdef CONFIG_SAWF
|
||||
#ifdef CONFIG_SAWF_STATS
|
||||
.txrx_get_peer_sawf_delay_stats = dp_sawf_get_peer_delay_stats,
|
||||
.txrx_get_peer_sawf_tx_stats = dp_sawf_get_peer_tx_stats,
|
||||
.sawf_mpdu_stats_req = dp_sawf_mpdu_stats_req,
|
||||
|
@@ -472,6 +472,11 @@
|
||||
#define WLAN_CFG_DP_NAPI_SCALE_FACTOR_MIN 0
|
||||
#define WLAN_CFG_DP_NAPI_SCALE_FACTOR_MAX 4
|
||||
|
||||
#ifdef CONFIG_SAWF_STATS
|
||||
#define WLAN_CFG_SAWF_STATS 0x0
|
||||
#define WLAN_CFG_SAWF_STATS_MIN 0x0
|
||||
#define WLAN_CFG_SAWF_STATS_MAX 0x7
|
||||
#endif
|
||||
/*
|
||||
* <ini>
|
||||
* "dp_tx_capt_max_mem_mb"- maximum memory used by Tx capture
|
||||
@@ -691,6 +696,19 @@
|
||||
WLAN_CFG_TIME_CONTROL_BP_MAX,\
|
||||
WLAN_CFG_TIME_CONTROL_BP,\
|
||||
CFG_VALUE_OR_DEFAULT, "DP time control back pressure")
|
||||
|
||||
#ifdef CONFIG_SAWF_STATS
|
||||
#define CFG_DP_SAWF_STATS \
|
||||
CFG_INI_UINT("dp_sawf_stats", \
|
||||
WLAN_CFG_SAWF_STATS_MIN,\
|
||||
WLAN_CFG_SAWF_STATS_MAX,\
|
||||
WLAN_CFG_SAWF_STATS,\
|
||||
CFG_VALUE_OR_DEFAULT, "DP sawf stats config")
|
||||
#define CFG_DP_SAWF_STATS_CONFIG CFG(CFG_DP_SAWF_STATS)
|
||||
#else
|
||||
#define CFG_DP_SAWF_STATS_CONFIG
|
||||
#endif
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* dp_rx_pending_hl_threshold - High threshold of frame number to start
|
||||
@@ -1830,5 +1848,6 @@
|
||||
CFG_DP_VDEV_STATS_HW_OFFLOAD \
|
||||
CFG(CFG_DP_TX_CAPT_MAX_MEM_MB) \
|
||||
CFG(CFG_DP_NAPI_SCALE_FACTOR) \
|
||||
CFG(CFG_DP_HOST_AST_DB_ENABLE)
|
||||
CFG(CFG_DP_HOST_AST_DB_ENABLE) \
|
||||
CFG_DP_SAWF_STATS_CONFIG
|
||||
#endif /* _CFG_DP_H_ */
|
||||
|
@@ -2629,6 +2629,58 @@ wlan_cfg_soc_update_tgt_params(struct wlan_cfg_dp_soc_ctxt *wlan_cfg_ctx,
|
||||
CFG_DP_REO_RINGS_MAP);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SAWF_STATS
|
||||
/**
|
||||
* wlan_soc_sawf_stats_cfg_attach() - Update sawf stats config in dp soc
|
||||
* cfg context
|
||||
* @psoc - Object manager psoc
|
||||
* @wlan_cfg_ctx - dp soc cfg ctx
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
static void
|
||||
wlan_soc_sawf_stats_cfg_attach(struct cdp_ctrl_objmgr_psoc *psoc,
|
||||
struct wlan_cfg_dp_soc_ctxt *wlan_cfg_ctx)
|
||||
{
|
||||
wlan_cfg_ctx->sawf_stats = cfg_get(psoc, CFG_DP_SAWF_STATS);
|
||||
}
|
||||
|
||||
uint8_t wlan_cfg_get_sawf_stats_config(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
{
|
||||
return cfg->sawf_stats;
|
||||
}
|
||||
|
||||
void wlan_cfg_set_sawf_stats_config(struct wlan_cfg_dp_soc_ctxt *cfg,
|
||||
uint8_t val)
|
||||
{
|
||||
cfg->sawf_stats = val;
|
||||
}
|
||||
#else
|
||||
/**
|
||||
* wlan_soc_sawf_stats_cfg_attach() - Update sawf stats config in dp soc
|
||||
* cfg context
|
||||
* @psoc - Object manager psoc
|
||||
* @wlan_cfg_ctx - dp soc cfg ctx
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
static void
|
||||
wlan_soc_sawf_stats_cfg_attach(struct cdp_ctrl_objmgr_psoc *psoc,
|
||||
struct wlan_cfg_dp_soc_ctxt *wlan_cfg_ctx)
|
||||
{
|
||||
}
|
||||
|
||||
uint8_t wlan_cfg_get_sawf_stats_config(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void wlan_cfg_set_sawf_stats_config(struct wlan_cfg_dp_soc_ctxt *cfg,
|
||||
uint8_t val)
|
||||
{
|
||||
}
|
||||
#endif /* CONFIG_SAWF_STATS */
|
||||
|
||||
/**
|
||||
* wlan_cfg_soc_attach() - Allocate and prepare SoC configuration
|
||||
* @psoc - Object manager psoc
|
||||
@@ -2840,6 +2892,7 @@ wlan_cfg_soc_attach(struct cdp_ctrl_objmgr_psoc *psoc)
|
||||
|
||||
wlan_cfg_ctx->napi_scale_factor = cfg_get(psoc,
|
||||
CFG_DP_NAPI_SCALE_FACTOR);
|
||||
wlan_soc_sawf_stats_cfg_attach(psoc, wlan_cfg_ctx);
|
||||
return wlan_cfg_ctx;
|
||||
}
|
||||
|
||||
|
@@ -438,6 +438,9 @@ struct wlan_cfg_dp_soc_ctxt {
|
||||
#endif
|
||||
#ifdef CONFIG_SAWF
|
||||
bool sawf_enabled;
|
||||
#endif
|
||||
#ifdef CONFIG_SAWF_STATS
|
||||
uint8_t sawf_stats;
|
||||
#endif
|
||||
uint8_t mpdu_retry_threshold_1;
|
||||
uint8_t mpdu_retry_threshold_2;
|
||||
@@ -2122,6 +2125,25 @@ wlan_cfg_set_sawf_config(struct wlan_cfg_dp_soc_ctxt *cfg, bool value);
|
||||
bool
|
||||
wlan_cfg_get_sawf_config(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||
|
||||
/**
|
||||
* wlan_cfg_set_sawf_stats_config() - Set SAWF stats config
|
||||
* @cfg: config context
|
||||
* @value: value to be set
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
void
|
||||
wlan_cfg_set_sawf_stats_config(struct wlan_cfg_dp_soc_ctxt *cfg, uint8_t value);
|
||||
|
||||
/**
|
||||
* wlan_cfg_get_sawf_stats_config() - Get SAWF stats config
|
||||
* @cfg: config context
|
||||
*
|
||||
* Return: value for sawf_stats_config
|
||||
*/
|
||||
uint8_t
|
||||
wlan_cfg_get_sawf_stats_config(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||
|
||||
#if defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_MLO_MULTI_CHIP)
|
||||
/**
|
||||
* wlan_cfg_mlo_rx_ring_map_get() - get rx ring map
|
||||
|
Reference in New Issue
Block a user