xref: /wlan-dirver/qca-wifi-host-cmn/wmi/inc/wmi_unified_cp_stats_api.h (revision 97f44cd39e4ff816eaa1710279d28cf6b9e65ad9)
1 /*
2  * Copyright (c) 2013-2020, The Linux Foundation. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for any
5  * purpose with or without fee is hereby granted, provided that the above
6  * copyright notice and this permission notice appear in all copies.
7  *
8  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15  */
16 /**
17  * DOC: Implement API's specific to cp stats component.
18  */
19 
20 #ifndef _WMI_UNIFIED_CP_STATS_API_H_
21 #define _WMI_UNIFIED_CP_STATS_API_H_
22 
23 #ifdef QCA_SUPPORT_MC_CP_STATS
24 #include <wmi_unified_mc_cp_stats_api.h>
25 #endif
26 
27 /**
28  * wmi_unified_stats_request_send() - WMI request stats function
29  * @wmi_handle: handle to WMI
30  * @macaddr: MAC address
31  * @param: pointer to hold stats request parameter
32  *
33  * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
34  */
35 QDF_STATUS wmi_unified_stats_request_send(wmi_unified_t wmi_handle,
36 					  uint8_t macaddr[QDF_MAC_ADDR_SIZE],
37 					  struct stats_request_params *param);
38 
39 /**
40  * wmi_extract_stats_param() - extract all stats count from event
41  * @wmi_handle: wmi handle
42  * @evt_buf: pointer to event buffer
43  * @stats_param: Pointer to hold stats count
44  *
45  * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
46  */
47 QDF_STATUS
48 wmi_extract_stats_param(wmi_unified_t wmi_handle, void *evt_buf,
49 			wmi_host_stats_event *stats_param);
50 
51 /**
52  * wmi_extract_pdev_stats() - extract pdev stats from event
53  * @wmi_handle: wmi handle
54  * @evt_buf: pointer to event buffer
55  * @index: Index into pdev stats
56  * @pdev_stats: Pointer to hold pdev stats
57  *
58  * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
59  */
60 QDF_STATUS
61 wmi_extract_pdev_stats(wmi_unified_t wmi_handle, void *evt_buf,
62 		       uint32_t index, wmi_host_pdev_stats *pdev_stats);
63 
64 /**
65  * wmi_extract_vdev_stats() - extract vdev stats from event
66  * @wmi_handle: wmi handle
67  * @evt_buf: pointer to event buffer
68  * @index: Index into vdev stats
69  * @vdev_stats: Pointer to hold vdev stats
70  *
71  * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
72  */
73 QDF_STATUS
74 wmi_extract_vdev_stats(wmi_unified_t wmi_handle, void *evt_buf,
75 		       uint32_t index, wmi_host_vdev_stats *vdev_stats);
76 
77 /**
78  * wmi_extract_peer_stats() - extract peer stats from event
79  * @wmi_handle: wmi handle
80  * @evt_buf: pointer to event buffer
81  * @index: Index into peer stats
82  * @peer_stats: Pointer to hold peer stats
83  *
84  * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
85  */
86 QDF_STATUS
87 wmi_extract_peer_stats(wmi_unified_t wmi_handle, void *evt_buf,
88 		       uint32_t index, wmi_host_peer_stats *peer_stats);
89 
90 /**
91  * wmi_extract_peer_extd_stats() - extract extended peer stats from event
92  * @wmi_handle: wmi handle
93  * @evt_buf: pointer to event buffer
94  * @index: Index into extended peer stats
95  * @peer_extd_stats: Pointer to hold extended peer stats
96  *
97  * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
98  */
99 QDF_STATUS
100 wmi_extract_peer_extd_stats(wmi_unified_t wmi_handle, void *evt_buf,
101 			    uint32_t index,
102 			    wmi_host_peer_extd_stats *peer_extd_stats);
103 #endif /* _WMI_UNIFIED_CP_STATS_API_H_ */
104