qcacmn: Add a flag to enable/disable per-packet sync of DP stats
Currently all Host collected DP statitics are synced to upper layers on per-packet basis; This is causing significant CPU overhead. Add a flag which can be controlled through iwpriv to enable/disable updating of these statistics from DP to higher layers Change-Id: I983c6d91803c83c1efd49c5535769a0c10fbc9b5 CRs-Fixed: 2064113
Этот коммит содержится в:

коммит произвёл
snandini

родитель
45b1df25fc
Коммит
be379457e6
@@ -3399,6 +3399,32 @@ dp_get_host_peer_stats(struct cdp_pdev *pdev_handle, char *mac_addr)
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* dp_enable_enhanced_stats()- API to enable enhanced statistcs
|
||||
* @pdev_handle: DP_PDEV handle
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static void
|
||||
dp_enable_enhanced_stats(struct cdp_pdev *pdev_handle)
|
||||
{
|
||||
struct dp_pdev *pdev = (struct dp_pdev *)pdev_handle;
|
||||
pdev->enhanced_stats_en = 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* dp_disable_enhanced_stats()- API to disable enhanced statistcs
|
||||
* @pdev_handle: DP_PDEV handle
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static void
|
||||
dp_disable_enhanced_stats(struct cdp_pdev *pdev_handle)
|
||||
{
|
||||
struct dp_pdev *pdev = (struct dp_pdev *)pdev_handle;
|
||||
pdev->enhanced_stats_en = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* dp_get_fw_peer_stats()- function to print peer stats
|
||||
* @pdev_handle: DP_PDEV handle
|
||||
@@ -3871,6 +3897,8 @@ static struct cdp_mon_ops dp_ops_mon = {
|
||||
static struct cdp_host_stats_ops dp_ops_host_stats = {
|
||||
.txrx_per_peer_stats = dp_get_host_peer_stats,
|
||||
.get_fw_peer_stats = dp_get_fw_peer_stats,
|
||||
.txrx_enable_enhanced_stats = dp_enable_enhanced_stats,
|
||||
.txrx_disable_enhanced_stats = dp_disable_enhanced_stats,
|
||||
/* TODO */
|
||||
};
|
||||
|
||||
|
Ссылка в новой задаче
Block a user