qcacmn: Filter settings for monitor 2.0

Filter setting for monitor 2.0

Change-Id: I008c38977952767b9901705f0cf667178f38a786
CRs-Fixed: 3087759
这个提交包含在:
Naga
2021-12-03 21:08:05 +05:30
提交者 Madan Koyyalamudi
父节点 902e67deb9
当前提交 a78c5cfb98
修改 9 个文件,包含 478 行新增45 行删除

查看文件

@@ -4641,6 +4641,12 @@ QDF_STATUS dp_mon_pdev_init(struct dp_pdev *pdev)
soc = pdev->soc;
mon_pdev = pdev->monitor_pdev;
mon_ops = dp_mon_ops_get(pdev->soc);
if (!mon_ops) {
dp_mon_err("Monitor ops is NULL");
return QDF_STATUS_E_FAILURE;
}
mon_pdev->filter = dp_mon_filter_alloc(mon_pdev);
if (!mon_pdev->filter) {
dp_mon_err("%pK: Memory allocation failed for monitor filter",
@@ -4648,6 +4654,14 @@ QDF_STATUS dp_mon_pdev_init(struct dp_pdev *pdev)
return QDF_STATUS_E_NOMEM;
}
if (mon_ops->tx_mon_filter_alloc) {
if (mon_ops->tx_mon_filter_alloc(pdev)) {
dp_mon_err("%pK: Memory allocation failed for tx monitor filter",
pdev);
return QDF_STATUS_E_NOMEM;
}
}
qdf_spinlock_create(&mon_pdev->ppdu_stats_lock);
qdf_spinlock_create(&mon_pdev->neighbour_peer_mutex);
mon_pdev->monitor_configured = false;
@@ -4681,12 +4695,6 @@ QDF_STATUS dp_mon_pdev_init(struct dp_pdev *pdev)
if (dp_htt_ppdu_stats_attach(pdev) != QDF_STATUS_SUCCESS)
goto fail0;
mon_ops = dp_mon_ops_get(pdev->soc);
if (!mon_ops) {
dp_mon_err("Monitor ops is NULL");
goto fail1;
}
if (mon_ops->mon_rings_init) {
if (mon_ops->mon_rings_init(pdev)) {
dp_mon_err("%pK: MONITOR rings setup failed", pdev);
@@ -4721,6 +4729,8 @@ fail1:
fail0:
qdf_spinlock_destroy(&mon_pdev->neighbour_peer_mutex);
qdf_spinlock_destroy(&mon_pdev->ppdu_stats_lock);
if (mon_ops->tx_mon_filter_dealloc)
mon_ops->tx_mon_filter_dealloc(pdev);
dp_mon_filter_dealloc(mon_pdev);
return QDF_STATUS_E_FAILURE;
}
@@ -4753,6 +4763,8 @@ QDF_STATUS dp_mon_pdev_deinit(struct dp_pdev *pdev)
qdf_spinlock_destroy(&mon_pdev->ppdu_stats_lock);
dp_neighbour_peers_detach(pdev);
dp_pktlogmod_exit(pdev);
if (mon_ops->tx_mon_filter_dealloc)
mon_ops->tx_mon_filter_dealloc(pdev);
if (mon_pdev->filter)
dp_mon_filter_dealloc(mon_pdev);
if (mon_ops->mon_rings_deinit)