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