1 /* 2 * Copyright (c) 2019-2020 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 #ifndef _CFR_DEFS_I_H_ 20 #define _CFR_DEFS_I_H_ 21 22 #include <wlan_objmgr_cmn.h> 23 #include <wlan_objmgr_global_obj.h> 24 #include <wlan_objmgr_psoc_obj.h> 25 #include <wlan_objmgr_pdev_obj.h> 26 #include <wlan_objmgr_vdev_obj.h> 27 #include <wlan_objmgr_peer_obj.h> 28 #include <qdf_list.h> 29 #include <qdf_timer.h> 30 #include <qdf_util.h> 31 #include <qdf_types.h> 32 #include <wlan_cfr_utils_api.h> 33 34 #define CFR_STOP_STR "CFR-CAPTURE-STOPPED" 35 36 /** 37 * wlan_cfr_psoc_obj_create_handler() - psoc object create handler for cfr 38 * @psoc - pointer to psoc object 39 * @args - void pointer in case it needs arguments 40 * 41 * Return: status of object creation 42 */ 43 QDF_STATUS 44 wlan_cfr_psoc_obj_create_handler(struct wlan_objmgr_psoc *psoc, void *arg); 45 46 /** 47 * wlan_cfr_psoc_obj_destroy_handler() - psoc object destroy handler for cfr 48 * @psoc - pointer to psoc object 49 * @args - void pointer in case it needs arguments 50 * 51 * Return: status of destroy object 52 */ 53 QDF_STATUS 54 wlan_cfr_psoc_obj_destroy_handler(struct wlan_objmgr_psoc *psoc, void *arg); 55 56 /** 57 * wlan_cfr_pdev_obj_create_handler() - pdev object create handler for cfr 58 * @pdev - pointer to pdev object 59 * @args - void pointer in case it needs arguments 60 * 61 * Return: status of object creation 62 */ 63 QDF_STATUS 64 wlan_cfr_pdev_obj_create_handler(struct wlan_objmgr_pdev *pdev, void *arg); 65 66 /** 67 * wlan_cfr_pdev_obj_destroy_handler() - pdev object destroy handler for cfr 68 * @pdev - pointer to pdev object 69 * @args - void pointer in case it needs arguments 70 * 71 * Return: status of destroy object 72 */ 73 QDF_STATUS 74 wlan_cfr_pdev_obj_destroy_handler(struct wlan_objmgr_pdev *pdev, void *arg); 75 76 /** 77 * wlan_cfr_peer_obj_create_handler() - peer object create handler for cfr 78 * @peer - pointer to peer object 79 * @args - void pointer in case it needs arguments 80 * 81 * Return: status of object creation 82 */ 83 QDF_STATUS 84 wlan_cfr_peer_obj_create_handler(struct wlan_objmgr_peer *peer, void *arg); 85 86 /** 87 * wlan_cfr_peer_obj_destroy_handler() - peer object destroy handler for cfr 88 * @peer - pointer to peer object 89 * @args - void pointer in case it needs arguments 90 * 91 * Return: status ofi destry object 92 */ 93 QDF_STATUS 94 wlan_cfr_peer_obj_destroy_handler(struct wlan_objmgr_peer *peer, void *arg); 95 96 /** 97 * cfr_streamfs_init() - stream filesystem init 98 * @pdev - pointer to pdev object 99 * 100 * Return: status of fs init 101 */ 102 QDF_STATUS 103 cfr_streamfs_init(struct wlan_objmgr_pdev *pdev); 104 105 /** 106 * cfr_streamfs_remove() - stream filesystem remove 107 * @pdev - pointer to pdev object 108 * 109 * Return: status of fs remove 110 */ 111 QDF_STATUS 112 cfr_streamfs_remove(struct wlan_objmgr_pdev *pdev); 113 114 /** 115 * cfr_streamfs_write() - write to stream filesystem 116 * @pa - pointer to pdev_cfr object 117 * @write_data - Pointer to data 118 * @write_len - data len 119 * 120 * Return: status of fs write 121 */ 122 QDF_STATUS 123 cfr_streamfs_write(struct pdev_cfr *pa, const void *write_data, 124 size_t write_len); 125 126 /** 127 * cfr_streamfs_flush() - flush the write to streamfs 128 * @pa - pointer to pdev_cfr object 129 * 130 * Return: status of fs flush 131 */ 132 QDF_STATUS 133 cfr_streamfs_flush(struct pdev_cfr *pa); 134 135 /** 136 * cfr_stop_indication() - write cfr stop string 137 * @vdev - pointer to vdev object 138 * 139 * Write stop string and indicate to up layer. 140 * 141 * Return: status of write CFR stop string 142 */ 143 QDF_STATUS cfr_stop_indication(struct wlan_objmgr_vdev *vdev); 144 145 #endif 146