xref: /wlan-dirver/qca-wifi-host-cmn/dp/wifi3.0/dp_cal_client_api.h (revision 11f5a63a6cbdda84849a730de22f0a71e635d58c)
1 /*
2  * Copyright (c) 2017-2019 The Linux Foundation. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for
5  * any purpose with or without fee is hereby granted, provided that the
6  * above copyright notice and this permission notice appear in all
7  * copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16  * PERFORMANCE OF THIS SOFTWARE.
17  */
18 
19 /**
20  * @file cal_client_api.h
21  * @brief: define timer to update DP stats
22  */
23 #ifndef _DP_CAL_CLIENT_H_
24 #define _DP_CAL_CLIENT_H_
25 
26 #include<cdp_txrx_stats_struct.h>
27 #include <qdf_timer.h>
28 #include <qdf_mem.h>
29 #include <cdp_txrx_handle.h>
30 
31 /*timer will run every 1 sec*/
32 #define DP_CAL_CLIENT_TIME 1000
33 
34 struct cal_client {
35 	qdf_timer_t cal_client_timer;
36 	void (*iterate_update_peer_list)(struct cdp_pdev *ctx);
37 	struct cdp_pdev *pdev_hdl;
38 };
39 
40 void dp_cal_client_attach(struct cdp_cal_client **cal_client_ctx,
41 			  struct cdp_pdev *pdev, qdf_device_t osdev,
42 			  void (*iterate_peer_list)(struct cdp_pdev *));
43 void dp_cal_client_detach(struct cdp_cal_client **cal_client_ctx);
44 void dp_cal_client_timer_start(void *ctx);
45 void dp_cal_client_timer_stop(void *ctx);
46 void dp_cal_client_stats_timer_fn(void *pdev_hdl);
47 void dp_cal_client_update_peer_stats(struct cdp_peer_stats *peer_stats);
48 
49 #ifndef ATH_SUPPORT_EXT_STAT
50 void dp_cal_client_attach(struct cdp_cal_client **cal_client_ctx,
51 			  struct cdp_pdev *pdev, qdf_device_t osdev,
52 			  void (*iterate_peer_list)(struct cdp_pdev *))
53 {
54 }
55 
56 void dp_cal_client_detach(struct cdp_cal_client **cal_client_ctx)
57 {
58 }
59 
60 void dp_cal_client_timer_start(void *ctx)
61 {
62 }
63 
64 void dp_cal_client_timer_stop(void *ctx)
65 {
66 }
67 
68 void dp_cal_client_stats_timer_fn(void *pdev_hdl)
69 {
70 }
71 
72 void dp_cal_client_update_peer_stats(struct cdp_peer_stats *peer_stats)
73 {
74 }
75 #endif
76 
77 #endif /*_DP_CAL_CLIENT_H_*/
78