qcacmn: Add check for bpr feature
Disable m_copy/enhanced_stats feature causes the bpr feature disable. Hence add check for bpr feature status during enable/disable of m_copy and enhanced_stats. CRs-Fixed: 2275686 Change-Id: I5592b422823446374ce560fe3653990be4c796b0
This commit is contained in:
@@ -6251,6 +6251,22 @@ dp_ppdu_ring_cfg(struct dp_pdev *pdev)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* is_ppdu_txrx_capture_enabled() - API to check both pktlog and debug_sniffer
|
||||
* modes are enabled or not.
|
||||
* @dp_pdev: dp pdev handle.
|
||||
*
|
||||
* Return: bool
|
||||
*/
|
||||
static inline bool is_ppdu_txrx_capture_enabled(struct dp_pdev *pdev)
|
||||
{
|
||||
if (!pdev->pktlog_ppdu_stats && !pdev->tx_sniffer_enable &&
|
||||
!pdev->mcopy_mode)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
*dp_set_bpr_enable() - API to enable/disable bpr feature
|
||||
*@pdev_handle: DP_PDEV handle.
|
||||
@@ -6318,12 +6334,21 @@ dp_config_debug_sniffer(struct cdp_pdev *pdev_handle, int val)
|
||||
pdev->tx_sniffer_enable = 0;
|
||||
pdev->mcopy_mode = 0;
|
||||
|
||||
if (!pdev->pktlog_ppdu_stats && !pdev->enhanced_stats_en) {
|
||||
if (!pdev->pktlog_ppdu_stats && !pdev->enhanced_stats_en &&
|
||||
!pdev->bpr_enable) {
|
||||
dp_h2t_cfg_stats_msg_send(pdev, 0, pdev->pdev_id);
|
||||
dp_ppdu_ring_reset(pdev);
|
||||
} else if (pdev->enhanced_stats_en) {
|
||||
} else if (pdev->enhanced_stats_en && !pdev->bpr_enable) {
|
||||
dp_h2t_cfg_stats_msg_send(pdev,
|
||||
DP_PPDU_STATS_CFG_ENH_STATS, pdev->pdev_id);
|
||||
} else if (!pdev->enhanced_stats_en && pdev->bpr_enable) {
|
||||
dp_h2t_cfg_stats_msg_send(pdev,
|
||||
DP_PPDU_STATS_CFG_BPR_ENH,
|
||||
pdev->pdev_id);
|
||||
} else {
|
||||
dp_h2t_cfg_stats_msg_send(pdev,
|
||||
DP_PPDU_STATS_CFG_BPR,
|
||||
pdev->pdev_id);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -6366,8 +6391,13 @@ dp_enable_enhanced_stats(struct cdp_pdev *pdev_handle)
|
||||
if (!pdev->mcopy_mode)
|
||||
dp_ppdu_ring_cfg(pdev);
|
||||
|
||||
if (!pdev->pktlog_ppdu_stats && !pdev->tx_sniffer_enable && !pdev->mcopy_mode)
|
||||
if (is_ppdu_txrx_capture_enabled(pdev) && !pdev->bpr_enable) {
|
||||
dp_h2t_cfg_stats_msg_send(pdev, DP_PPDU_STATS_CFG_ENH_STATS, pdev->pdev_id);
|
||||
} else if (is_ppdu_txrx_capture_enabled(pdev) && pdev->bpr_enable) {
|
||||
dp_h2t_cfg_stats_msg_send(pdev,
|
||||
DP_PPDU_STATS_CFG_BPR_ENH,
|
||||
pdev->pdev_id);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -6383,9 +6413,13 @@ dp_disable_enhanced_stats(struct cdp_pdev *pdev_handle)
|
||||
|
||||
pdev->enhanced_stats_en = 0;
|
||||
|
||||
if (!pdev->pktlog_ppdu_stats && !pdev->tx_sniffer_enable && !pdev->mcopy_mode)
|
||||
if (is_ppdu_txrx_capture_enabled(pdev) && !pdev->bpr_enable) {
|
||||
dp_h2t_cfg_stats_msg_send(pdev, 0, pdev->pdev_id);
|
||||
|
||||
} else if (is_ppdu_txrx_capture_enabled(pdev) && pdev->bpr_enable) {
|
||||
dp_h2t_cfg_stats_msg_send(pdev,
|
||||
DP_PPDU_STATS_CFG_BPR,
|
||||
pdev->pdev_id);
|
||||
}
|
||||
if (!pdev->mcopy_mode)
|
||||
dp_ppdu_ring_reset(pdev);
|
||||
}
|
||||
|
Reference in New Issue
Block a user