xref: /wlan-dirver/qca-wifi-host-cmn/wmi/src/wmi_unified_cp_stats_api.c (revision 97f44cd39e4ff816eaa1710279d28cf6b9e65ad9)
1 /*
2  * Copyright (c) 2016-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 #include "wmi_unified_priv.h"
21 #include "wmi_unified_param.h"
22 #include "wmi_unified_cp_stats_api.h"
23 
24 QDF_STATUS wmi_unified_stats_request_send(wmi_unified_t wmi_handle,
25 					  uint8_t macaddr[QDF_MAC_ADDR_SIZE],
26 					  struct stats_request_params *param)
27 {
28 	if (wmi_handle->ops->send_stats_request_cmd)
29 		return wmi_handle->ops->send_stats_request_cmd(wmi_handle,
30 				   macaddr, param);
31 
32 	return QDF_STATUS_E_FAILURE;
33 }
34 
35 QDF_STATUS
36 wmi_extract_stats_param(wmi_unified_t wmi_handle, void *evt_buf,
37 			wmi_host_stats_event *stats_param)
38 {
39 	if (wmi_handle->ops->extract_all_stats_count)
40 		return wmi_handle->ops->extract_all_stats_count(wmi_handle,
41 			evt_buf, stats_param);
42 
43 	return QDF_STATUS_E_FAILURE;
44 }
45 
46 QDF_STATUS
47 wmi_extract_pdev_stats(wmi_unified_t wmi_handle, void *evt_buf,
48 		       uint32_t index, wmi_host_pdev_stats *pdev_stats)
49 {
50 	if (wmi_handle->ops->extract_pdev_stats)
51 		return wmi_handle->ops->extract_pdev_stats(wmi_handle,
52 			evt_buf, index, pdev_stats);
53 
54 	return QDF_STATUS_E_FAILURE;
55 }
56 
57 QDF_STATUS
58 wmi_extract_vdev_stats(wmi_unified_t wmi_handle, void *evt_buf,
59 		       uint32_t index, wmi_host_vdev_stats *vdev_stats)
60 {
61 	if (wmi_handle->ops->extract_vdev_stats)
62 		return wmi_handle->ops->extract_vdev_stats(wmi_handle,
63 			evt_buf, index, vdev_stats);
64 
65 	return QDF_STATUS_E_FAILURE;
66 }
67 
68 QDF_STATUS
69 wmi_extract_peer_stats(wmi_unified_t wmi_handle, void *evt_buf,
70 		       uint32_t index, wmi_host_peer_stats *peer_stats)
71 {
72 	if (wmi_handle->ops->extract_peer_stats)
73 		return wmi_handle->ops->extract_peer_stats(wmi_handle,
74 			evt_buf, index, peer_stats);
75 
76 	return QDF_STATUS_E_FAILURE;
77 }
78 
79 QDF_STATUS
80 wmi_extract_peer_extd_stats(wmi_unified_t wmi_handle, void *evt_buf,
81 			    uint32_t index,
82 			    wmi_host_peer_extd_stats *peer_extd_stats)
83 {
84 	if (wmi_handle->ops->extract_peer_extd_stats)
85 		return wmi_handle->ops->extract_peer_extd_stats(wmi_handle,
86 			evt_buf, index, peer_extd_stats);
87 
88 	return QDF_STATUS_E_FAILURE;
89 }
90