qcacmn: vdev stats Support for MLO Hybrid Mode
Add vdev stats support for DP MLO Unified and Hybrid Mode. Add new CDP API for getting vdev stats for NON_MLD interface. Add support to get vdev stats for specific vdev which is a part of MLO. Change-Id: I72c8b25958649d473e1b65cee21810cd86951187 CRs-Fixed: 3455607
This commit is contained in:

committed by
Madan Koyyalamudi

parent
fa5b39c322
commit
ef68ac521f
@@ -5737,7 +5737,6 @@ bool dp_check_pdev_exists(struct dp_soc *soc, struct dp_pdev *data)
|
||||
void dp_aggregate_vdev_stats(struct dp_vdev *vdev,
|
||||
struct cdp_vdev_stats *vdev_stats)
|
||||
{
|
||||
|
||||
if (!vdev || !vdev->pdev)
|
||||
return;
|
||||
|
||||
@@ -5752,8 +5751,8 @@ void dp_aggregate_vdev_stats(struct dp_vdev *vdev,
|
||||
|
||||
#if defined(FEATURE_PERPKT_INFO) && WDI_EVENT_ENABLE
|
||||
dp_wdi_event_handler(WDI_EVENT_UPDATE_DP_STATS, vdev->pdev->soc,
|
||||
vdev_stats, vdev->vdev_id,
|
||||
UPDATE_VDEV_STATS, vdev->pdev->pdev_id);
|
||||
vdev_stats, vdev->vdev_id,
|
||||
UPDATE_VDEV_STATS, vdev->pdev->pdev_id);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -8190,10 +8189,11 @@ dp_txrx_reset_peer_stats(struct cdp_soc_t *soc, uint8_t vdev_id,
|
||||
* @buf: buffer for vdev stats
|
||||
* @is_aggregate: are aggregate stats being collected
|
||||
*
|
||||
* Return: int
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
static int dp_txrx_get_vdev_stats(struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
|
||||
void *buf, bool is_aggregate)
|
||||
static QDF_STATUS
|
||||
dp_txrx_get_vdev_stats(struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
|
||||
void *buf, bool is_aggregate)
|
||||
{
|
||||
struct dp_soc *soc = cdp_soc_t_to_dp_soc(soc_hdl);
|
||||
struct cdp_vdev_stats *vdev_stats;
|
||||
@@ -8201,7 +8201,7 @@ static int dp_txrx_get_vdev_stats(struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
|
||||
DP_MOD_ID_CDP);
|
||||
|
||||
if (!vdev)
|
||||
return 1;
|
||||
return QDF_STATUS_E_RESOURCES;
|
||||
|
||||
vdev_stats = (struct cdp_vdev_stats *)buf;
|
||||
|
||||
@@ -8212,7 +8212,7 @@ static int dp_txrx_get_vdev_stats(struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
|
||||
}
|
||||
|
||||
dp_vdev_unref_delete(soc, vdev, DP_MOD_ID_CDP);
|
||||
return 0;
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -10908,6 +10908,11 @@ static struct cdp_host_stats_ops dp_ops_host_stats = {
|
||||
dp_get_peer_extd_rate_link_stats,
|
||||
.get_pdev_obss_stats = dp_get_obss_stats,
|
||||
.clear_pdev_obss_pd_stats = dp_clear_pdev_obss_pd_stats,
|
||||
#ifdef CONFIG_MLO_SINGLE_DEV
|
||||
.txrx_get_interface_stats = dp_txrx_get_interface_stats,
|
||||
#else
|
||||
.txrx_get_interface_stats = dp_txrx_get_vdev_stats,
|
||||
#endif
|
||||
/* TODO */
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user