1 /* 2 * Copyright (c) 2019, 2021 The Linux Foundation. All rights reserved. 3 * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. 4 * 5 * Permission to use, copy, modify, and/or distribute this software for any 6 * purpose with or without fee is hereby granted, provided that the above 7 * copyright notice and this permission notice appear in all copies. 8 * 9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 */ 17 18 #ifndef _WMI_UNIFIED_CFR_API_H_ 19 #define _WMI_UNIFIED_CFR_API_H_ 20 21 #include "wmi_unified_param.h" 22 #include "wmi_unified_cfr_param.h" 23 24 #ifdef WLAN_CFR_ENABLE 25 /** 26 * wmi_unified_send_peer_cfr_capture_cmd() - WMI function to start CFR capture 27 * for a peer 28 * @wmi_handle: WMI handle 29 * @param: configuration params for capture 30 * 31 * Return: QDF_STATUS_SUCCESS if success, else returns proper error code. 32 */ 33 QDF_STATUS 34 wmi_unified_send_peer_cfr_capture_cmd(wmi_unified_t wmi_handle, 35 struct peer_cfr_params *param); 36 /** 37 * wmi_extract_cfr_peer_tx_event_param() - WMI function to extract cfr tx event 38 * for a peer 39 * @wmi_handle: WMI handle 40 * @evt_buf: Buffer holding event data 41 * @peer_tx_event: pointer to hold tx event data 42 * 43 * Return: QDF_STATUS_SUCCESS if success, else returns proper error code. 44 */ 45 QDF_STATUS 46 wmi_extract_cfr_peer_tx_event_param(wmi_unified_t wmi_handle, void *evt_buf, 47 wmi_cfr_peer_tx_event_param *peer_tx_event); 48 49 #ifdef WLAN_ENH_CFR_ENABLE 50 /** 51 * wmi_unified_send_cfr_rcc_cmd() - WMI function to send CFR RCC param 52 * @wmi_handle: WMI handle 53 * @cfg: pointer to RCC param 54 * 55 * Return: QDF_STATUS_SUCCESS if success, else returns proper error code. 56 */ 57 QDF_STATUS wmi_unified_send_cfr_rcc_cmd(wmi_unified_t wmi_handle, 58 struct cfr_rcc_param *cfg); 59 60 /** 61 * wmi_extract_cfr_pdev_phase_delta_event() - WMI function to extract the 62 * phase delta information. 63 * @wmi_handle: WMI handle 64 * @evt_buf: Buffer holding the event data 65 * @param: phase delta params to be updated from event 66 * 67 * Return: QDF_STATUS_SUCCESS if success, else returns proper error code. 68 */ 69 QDF_STATUS 70 wmi_extract_cfr_pdev_phase_delta_event(wmi_unified_t wmi_handle, 71 void *evt_buf, 72 struct wmi_cfr_phase_delta_param *param); 73 74 #ifdef WLAN_RCC_ENHANCED_AOA_SUPPORT 75 QDF_STATUS 76 wmi_extract_cfr_pdev_enhanced_aoa_phasedelta_event_fixed_param 77 (wmi_unified_t wmi_handle, void *evt_buf, 78 struct wmi_cfr_enh_phase_delta_param *param); 79 80 QDF_STATUS 81 wmi_extract_cfr_pdev_enhanced_aoa_phasedelta_event_data 82 (wmi_unified_t wmi_handle, void *evt_buf, 83 struct wmi_cfr_enh_phase_delta_param *param); 84 #endif /* WLAN_RCC_ENHANCED_AOA_SUPPORT */ 85 #endif 86 #endif /* WLAN_CFR_ENABLE */ 87 #endif /* _WMI_UNIFIED_CFR_API_H_ */ 88