1*5113495bSYour Name /*
2*5113495bSYour Name * Copyright (c) 2019-2021, The Linux Foundation. All rights reserved.
3*5113495bSYour Name * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
4*5113495bSYour Name *
5*5113495bSYour Name * Permission to use, copy, modify, and/or distribute this software for any
6*5113495bSYour Name * purpose with or without fee is hereby granted, provided that the above
7*5113495bSYour Name * copyright notice and this permission notice appear in all copies.
8*5113495bSYour Name *
9*5113495bSYour Name * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10*5113495bSYour Name * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11*5113495bSYour Name * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12*5113495bSYour Name * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13*5113495bSYour Name * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14*5113495bSYour Name * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15*5113495bSYour Name * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16*5113495bSYour Name */
17*5113495bSYour Name
18*5113495bSYour Name #include "wmi_unified_priv.h"
19*5113495bSYour Name #include "wmi_unified_cfr_api.h"
20*5113495bSYour Name
21*5113495bSYour Name #ifdef WLAN_CFR_ENABLE
22*5113495bSYour Name
wmi_unified_send_peer_cfr_capture_cmd(wmi_unified_t wmi_handle,struct peer_cfr_params * param)23*5113495bSYour Name QDF_STATUS wmi_unified_send_peer_cfr_capture_cmd(wmi_unified_t wmi_handle,
24*5113495bSYour Name struct peer_cfr_params *param)
25*5113495bSYour Name {
26*5113495bSYour Name if (wmi_handle->ops->send_peer_cfr_capture_cmd)
27*5113495bSYour Name return wmi_handle->ops->send_peer_cfr_capture_cmd(wmi_handle,
28*5113495bSYour Name param);
29*5113495bSYour Name
30*5113495bSYour Name return QDF_STATUS_E_FAILURE;
31*5113495bSYour Name }
32*5113495bSYour Name
33*5113495bSYour Name QDF_STATUS
wmi_extract_cfr_peer_tx_event_param(wmi_unified_t wmi_handle,void * evt_buf,wmi_cfr_peer_tx_event_param * peer_tx_event)34*5113495bSYour Name wmi_extract_cfr_peer_tx_event_param(wmi_unified_t wmi_handle, void *evt_buf,
35*5113495bSYour Name wmi_cfr_peer_tx_event_param *peer_tx_event)
36*5113495bSYour Name {
37*5113495bSYour Name if (wmi_handle->ops->extract_cfr_peer_tx_event_param)
38*5113495bSYour Name return wmi_handle->ops->extract_cfr_peer_tx_event_param(
39*5113495bSYour Name wmi_handle,
40*5113495bSYour Name evt_buf,
41*5113495bSYour Name peer_tx_event);
42*5113495bSYour Name return QDF_STATUS_E_FAILURE;
43*5113495bSYour Name }
44*5113495bSYour Name
45*5113495bSYour Name #ifdef WLAN_ENH_CFR_ENABLE
wmi_unified_send_cfr_rcc_cmd(wmi_unified_t wmi_handle,struct cfr_rcc_param * cfg)46*5113495bSYour Name QDF_STATUS wmi_unified_send_cfr_rcc_cmd(wmi_unified_t wmi_handle,
47*5113495bSYour Name struct cfr_rcc_param *cfg)
48*5113495bSYour Name {
49*5113495bSYour Name if (wmi_handle->ops->send_cfr_rcc_cmd)
50*5113495bSYour Name return wmi_handle->ops->send_cfr_rcc_cmd(wmi_handle, cfg);
51*5113495bSYour Name return QDF_STATUS_E_FAILURE;
52*5113495bSYour Name }
53*5113495bSYour Name
54*5113495bSYour Name QDF_STATUS
wmi_extract_cfr_pdev_phase_delta_event(wmi_unified_t wmi_handle,void * evt_buf,struct wmi_cfr_phase_delta_param * param)55*5113495bSYour Name wmi_extract_cfr_pdev_phase_delta_event(wmi_unified_t wmi_handle,
56*5113495bSYour Name void *evt_buf,
57*5113495bSYour Name struct wmi_cfr_phase_delta_param *param)
58*5113495bSYour Name {
59*5113495bSYour Name if (wmi_handle->ops->extract_cfr_phase_param)
60*5113495bSYour Name return wmi_handle->ops->extract_cfr_phase_param(wmi_handle,
61*5113495bSYour Name evt_buf,
62*5113495bSYour Name param);
63*5113495bSYour Name return QDF_STATUS_E_FAILURE;
64*5113495bSYour Name }
65*5113495bSYour Name
66*5113495bSYour Name #ifdef WLAN_RCC_ENHANCED_AOA_SUPPORT
67*5113495bSYour Name QDF_STATUS
wmi_extract_cfr_pdev_enhanced_aoa_phasedelta_event_fixed_param(wmi_unified_t wmi_handle,void * evt_buf,struct wmi_cfr_enh_phase_delta_param * param)68*5113495bSYour Name wmi_extract_cfr_pdev_enhanced_aoa_phasedelta_event_fixed_param(
69*5113495bSYour Name wmi_unified_t wmi_handle,
70*5113495bSYour Name void *evt_buf,
71*5113495bSYour Name struct wmi_cfr_enh_phase_delta_param *param)
72*5113495bSYour Name {
73*5113495bSYour Name if (wmi_handle->ops->extract_cfr_enh_phase_fixed_param)
74*5113495bSYour Name return wmi_handle->ops->extract_cfr_enh_phase_fixed_param
75*5113495bSYour Name (wmi_handle, evt_buf, param);
76*5113495bSYour Name
77*5113495bSYour Name return QDF_STATUS_E_FAILURE;
78*5113495bSYour Name }
79*5113495bSYour Name
80*5113495bSYour Name QDF_STATUS
wmi_extract_cfr_pdev_enhanced_aoa_phasedelta_event_data(wmi_unified_t wmi_handle,void * evt_buf,struct wmi_cfr_enh_phase_delta_param * param)81*5113495bSYour Name wmi_extract_cfr_pdev_enhanced_aoa_phasedelta_event_data(
82*5113495bSYour Name wmi_unified_t wmi_handle, void *evt_buf,
83*5113495bSYour Name struct wmi_cfr_enh_phase_delta_param *param)
84*5113495bSYour Name {
85*5113495bSYour Name if (wmi_handle->ops->extract_cfr_enh_phase_data)
86*5113495bSYour Name return wmi_handle->ops->extract_cfr_enh_phase_data(wmi_handle,
87*5113495bSYour Name evt_buf,
88*5113495bSYour Name param);
89*5113495bSYour Name
90*5113495bSYour Name return QDF_STATUS_E_FAILURE;
91*5113495bSYour Name }
92*5113495bSYour Name #endif /* WLAN_RCC_ENHANCED_AOA_SUPPORT */
93*5113495bSYour Name #endif /* WLAN_ENH_CFR_ENABLE */
94*5113495bSYour Name #endif /* WLAN_CFR_ENABLE */
95