xref: /wlan-driver/qca-wifi-host-cmn/wmi/src/wmi_unified_sta_api.c (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name /*
2*5113495bSYour Name  * Copyright (c) 2013-2020 The Linux Foundation. All rights reserved.
3*5113495bSYour Name  * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
4*5113495bSYour Name  *
5*5113495bSYour Name  * Permission to use, copy, modify, and/or distribute this software for
6*5113495bSYour Name  * any purpose with or without fee is hereby granted, provided that the
7*5113495bSYour Name  * above copyright notice and this permission notice appear in all
8*5113495bSYour Name  * copies.
9*5113495bSYour Name  *
10*5113495bSYour Name  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
11*5113495bSYour Name  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
12*5113495bSYour Name  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
13*5113495bSYour Name  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14*5113495bSYour Name  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
15*5113495bSYour Name  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
16*5113495bSYour Name  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17*5113495bSYour Name  * PERFORMANCE OF THIS SOFTWARE.
18*5113495bSYour Name  */
19*5113495bSYour Name /**
20*5113495bSYour Name  * DOC: Implement API's specific to STA component.
21*5113495bSYour Name  */
22*5113495bSYour Name #include <wmi.h>
23*5113495bSYour Name #include "wmi_unified_priv.h"
24*5113495bSYour Name #include "wmi_unified_sta_api.h"
25*5113495bSYour Name 
wmi_unified_set_sta_sa_query_param_cmd(wmi_unified_t wmi_handle,uint8_t vdev_id,uint32_t max_retries,uint32_t retry_interval)26*5113495bSYour Name QDF_STATUS wmi_unified_set_sta_sa_query_param_cmd(wmi_unified_t wmi_handle,
27*5113495bSYour Name 						  uint8_t vdev_id,
28*5113495bSYour Name 						  uint32_t max_retries,
29*5113495bSYour Name 						  uint32_t retry_interval)
30*5113495bSYour Name {
31*5113495bSYour Name 	if (wmi_handle->ops->send_set_sta_sa_query_param_cmd)
32*5113495bSYour Name 		return wmi_handle->ops->send_set_sta_sa_query_param_cmd(wmi_handle,
33*5113495bSYour Name 						vdev_id, max_retries,
34*5113495bSYour Name 						retry_interval);
35*5113495bSYour Name 
36*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
37*5113495bSYour Name }
38*5113495bSYour Name 
39*5113495bSYour Name QDF_STATUS
wmi_unified_set_sta_keep_alive_cmd(wmi_unified_t wmi_handle,struct sta_keep_alive_params * params)40*5113495bSYour Name wmi_unified_set_sta_keep_alive_cmd(wmi_unified_t wmi_handle,
41*5113495bSYour Name 				   struct sta_keep_alive_params *params)
42*5113495bSYour Name {
43*5113495bSYour Name 	if (wmi_handle->ops->send_set_sta_keep_alive_cmd)
44*5113495bSYour Name 		return wmi_handle->ops->send_set_sta_keep_alive_cmd(wmi_handle,
45*5113495bSYour Name 								    params);
46*5113495bSYour Name 
47*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
48*5113495bSYour Name }
49*5113495bSYour Name 
50*5113495bSYour Name QDF_STATUS
wmi_unified_vdev_set_gtx_cfg_cmd(wmi_unified_t wmi_handle,uint32_t if_id,struct wmi_gtx_config * gtx_info)51*5113495bSYour Name wmi_unified_vdev_set_gtx_cfg_cmd(wmi_unified_t wmi_handle, uint32_t if_id,
52*5113495bSYour Name 				 struct wmi_gtx_config *gtx_info)
53*5113495bSYour Name {
54*5113495bSYour Name 	if (wmi_handle->ops->send_vdev_set_gtx_cfg_cmd)
55*5113495bSYour Name 		return wmi_handle->ops->send_vdev_set_gtx_cfg_cmd(wmi_handle,
56*5113495bSYour Name 								  if_id,
57*5113495bSYour Name 								  gtx_info);
58*5113495bSYour Name 
59*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
60*5113495bSYour Name }
61*5113495bSYour Name 
wmi_unified_process_dhcp_ind(wmi_unified_t wmi_handle,wmi_peer_set_param_cmd_fixed_param * ta_dhcp_ind)62*5113495bSYour Name QDF_STATUS wmi_unified_process_dhcp_ind(
63*5113495bSYour Name 			wmi_unified_t wmi_handle,
64*5113495bSYour Name 			wmi_peer_set_param_cmd_fixed_param *ta_dhcp_ind)
65*5113495bSYour Name {
66*5113495bSYour Name 	if (wmi_handle->ops->send_process_dhcp_ind_cmd)
67*5113495bSYour Name 		return wmi_handle->ops->send_process_dhcp_ind_cmd(wmi_handle,
68*5113495bSYour Name 								  ta_dhcp_ind);
69*5113495bSYour Name 
70*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
71*5113495bSYour Name }
72*5113495bSYour Name 
wmi_unified_get_link_speed_cmd(wmi_unified_t wmi_handle,wmi_mac_addr peer_macaddr)73*5113495bSYour Name QDF_STATUS wmi_unified_get_link_speed_cmd(wmi_unified_t wmi_handle,
74*5113495bSYour Name 					  wmi_mac_addr peer_macaddr)
75*5113495bSYour Name {
76*5113495bSYour Name 	if (wmi_handle->ops->send_get_link_speed_cmd)
77*5113495bSYour Name 		return wmi_handle->ops->send_get_link_speed_cmd(wmi_handle,
78*5113495bSYour Name 								peer_macaddr);
79*5113495bSYour Name 
80*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
81*5113495bSYour Name }
82*5113495bSYour Name 
wmi_unified_fw_profiling_data_cmd(wmi_unified_t wmi_handle,uint32_t cmd,uint32_t value1,uint32_t value2)83*5113495bSYour Name QDF_STATUS wmi_unified_fw_profiling_data_cmd(wmi_unified_t wmi_handle,
84*5113495bSYour Name 					     uint32_t cmd,
85*5113495bSYour Name 					     uint32_t value1,
86*5113495bSYour Name 					     uint32_t value2)
87*5113495bSYour Name {
88*5113495bSYour Name 	if (wmi_handle->ops->send_fw_profiling_cmd)
89*5113495bSYour Name 		return wmi_handle->ops->send_fw_profiling_cmd(wmi_handle,
90*5113495bSYour Name 							      cmd,
91*5113495bSYour Name 							      value1,
92*5113495bSYour Name 							      value2);
93*5113495bSYour Name 
94*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
95*5113495bSYour Name }
96*5113495bSYour Name 
wmi_unified_nat_keepalive_en_cmd(wmi_unified_t wmi_handle,uint8_t vdev_id)97*5113495bSYour Name QDF_STATUS wmi_unified_nat_keepalive_en_cmd(wmi_unified_t wmi_handle,
98*5113495bSYour Name 					    uint8_t vdev_id)
99*5113495bSYour Name {
100*5113495bSYour Name 	if (wmi_handle->ops->send_nat_keepalive_en_cmd)
101*5113495bSYour Name 		return wmi_handle->ops->send_nat_keepalive_en_cmd(wmi_handle,
102*5113495bSYour Name 								  vdev_id);
103*5113495bSYour Name 
104*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
105*5113495bSYour Name }
106*5113495bSYour Name 
107*5113495bSYour Name QDF_STATUS
wmi_unified_wlm_latency_level_cmd(wmi_unified_t wmi_handle,struct wlm_latency_level_param * param)108*5113495bSYour Name wmi_unified_wlm_latency_level_cmd(wmi_unified_t wmi_handle,
109*5113495bSYour Name 				  struct wlm_latency_level_param *param)
110*5113495bSYour Name {
111*5113495bSYour Name 	if (wmi_handle->ops->send_wlm_latency_level_cmd)
112*5113495bSYour Name 		return wmi_handle->ops->send_wlm_latency_level_cmd(wmi_handle,
113*5113495bSYour Name 								   param);
114*5113495bSYour Name 
115*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
116*5113495bSYour Name }
117*5113495bSYour Name 
118*5113495bSYour Name QDF_STATUS
wmi_unified_process_set_ie_info_cmd(wmi_unified_t wmi_handle,struct vdev_ie_info_param * ie_info)119*5113495bSYour Name wmi_unified_process_set_ie_info_cmd(wmi_unified_t wmi_handle,
120*5113495bSYour Name 				    struct vdev_ie_info_param *ie_info)
121*5113495bSYour Name {
122*5113495bSYour Name 	if (wmi_handle->ops->send_process_set_ie_info_cmd)
123*5113495bSYour Name 		return wmi_handle->ops->send_process_set_ie_info_cmd(wmi_handle,
124*5113495bSYour Name 								     ie_info);
125*5113495bSYour Name 
126*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
127*5113495bSYour Name }
128*5113495bSYour Name 
wmi_unified_set_base_macaddr_indicate_cmd(wmi_unified_t wmi_handle,uint8_t * custom_addr)129*5113495bSYour Name QDF_STATUS wmi_unified_set_base_macaddr_indicate_cmd(wmi_unified_t wmi_handle,
130*5113495bSYour Name 						     uint8_t *custom_addr)
131*5113495bSYour Name {
132*5113495bSYour Name 	if (wmi_handle->ops->send_set_base_macaddr_indicate_cmd)
133*5113495bSYour Name 		return wmi_handle->ops->send_set_base_macaddr_indicate_cmd(
134*5113495bSYour Name 						wmi_handle, custom_addr);
135*5113495bSYour Name 
136*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
137*5113495bSYour Name }
138*5113495bSYour Name 
139*5113495bSYour Name #ifdef FEATURE_WLAN_TDLS
wmi_unified_set_tdls_offchan_mode_cmd(wmi_unified_t wmi_handle,struct tdls_channel_switch_params * chan_switch_params)140*5113495bSYour Name QDF_STATUS wmi_unified_set_tdls_offchan_mode_cmd(
141*5113495bSYour Name 			wmi_unified_t wmi_handle,
142*5113495bSYour Name 			struct tdls_channel_switch_params *chan_switch_params)
143*5113495bSYour Name {
144*5113495bSYour Name 	if (wmi_handle->ops->send_set_tdls_offchan_mode_cmd)
145*5113495bSYour Name 		return wmi_handle->ops->send_set_tdls_offchan_mode_cmd(
146*5113495bSYour Name 						wmi_handle, chan_switch_params);
147*5113495bSYour Name 
148*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
149*5113495bSYour Name }
150*5113495bSYour Name 
wmi_unified_update_fw_tdls_state_cmd(wmi_unified_t wmi_handle,struct tdls_info * tdls_param,enum wmi_tdls_state tdls_state)151*5113495bSYour Name QDF_STATUS wmi_unified_update_fw_tdls_state_cmd(wmi_unified_t wmi_handle,
152*5113495bSYour Name 						struct tdls_info *tdls_param,
153*5113495bSYour Name 						enum wmi_tdls_state tdls_state)
154*5113495bSYour Name {
155*5113495bSYour Name 	if (wmi_handle->ops->send_update_fw_tdls_state_cmd)
156*5113495bSYour Name 		return wmi_handle->ops->send_update_fw_tdls_state_cmd(
157*5113495bSYour Name 				wmi_handle, tdls_param, tdls_state);
158*5113495bSYour Name 
159*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
160*5113495bSYour Name }
161*5113495bSYour Name 
wmi_unified_update_tdls_peer_state_cmd(wmi_unified_t wmi_handle,struct tdls_peer_update_state * peer_state,uint32_t * ch_mhz)162*5113495bSYour Name QDF_STATUS wmi_unified_update_tdls_peer_state_cmd(wmi_unified_t wmi_handle,
163*5113495bSYour Name 				struct tdls_peer_update_state *peer_state,
164*5113495bSYour Name 				uint32_t *ch_mhz)
165*5113495bSYour Name {
166*5113495bSYour Name 	if (wmi_handle->ops->send_update_tdls_peer_state_cmd)
167*5113495bSYour Name 		return wmi_handle->ops->send_update_tdls_peer_state_cmd(wmi_handle,
168*5113495bSYour Name 			    peer_state, ch_mhz);
169*5113495bSYour Name 
170*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
171*5113495bSYour Name }
172*5113495bSYour Name 
wmi_extract_vdev_tdls_ev_param(wmi_unified_t wmi_handle,void * evt_buf,struct tdls_event_info * param)173*5113495bSYour Name QDF_STATUS wmi_extract_vdev_tdls_ev_param(wmi_unified_t wmi_handle,
174*5113495bSYour Name 					  void *evt_buf,
175*5113495bSYour Name 					  struct tdls_event_info *param)
176*5113495bSYour Name {
177*5113495bSYour Name 	if (wmi_handle->ops->extract_vdev_tdls_ev_param)
178*5113495bSYour Name 		return wmi_handle->ops->extract_vdev_tdls_ev_param(wmi_handle,
179*5113495bSYour Name 				evt_buf, param);
180*5113495bSYour Name 
181*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
182*5113495bSYour Name }
183*5113495bSYour Name #endif /* FEATURE_WLAN_TDLS */
184*5113495bSYour Name 
185*5113495bSYour Name #if defined(WLAN_FEATURE_ROAM_OFFLOAD) && defined(FEATURE_DENYLIST_MGR)
186*5113495bSYour Name QDF_STATUS
wmi_unified_send_reject_ap_list(struct wmi_unified * wmi_handle,struct reject_ap_params * reject_params)187*5113495bSYour Name wmi_unified_send_reject_ap_list(struct wmi_unified *wmi_handle,
188*5113495bSYour Name 				struct reject_ap_params *reject_params)
189*5113495bSYour Name {
190*5113495bSYour Name 	if (wmi_handle->ops->send_reject_ap_list_cmd)
191*5113495bSYour Name 		return wmi_handle->ops->send_reject_ap_list_cmd(wmi_handle,
192*5113495bSYour Name 								reject_params);
193*5113495bSYour Name 
194*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
195*5113495bSYour Name }
196*5113495bSYour Name #endif
197*5113495bSYour Name 
wmi_unified_send_sar_limit_cmd(wmi_unified_t wmi_handle,struct sar_limit_cmd_params * params)198*5113495bSYour Name QDF_STATUS wmi_unified_send_sar_limit_cmd(wmi_unified_t wmi_handle,
199*5113495bSYour Name 					  struct sar_limit_cmd_params *params)
200*5113495bSYour Name {
201*5113495bSYour Name 	if (wmi_handle->ops->send_sar_limit_cmd)
202*5113495bSYour Name 		return wmi_handle->ops->send_sar_limit_cmd(
203*5113495bSYour Name 						wmi_handle,
204*5113495bSYour Name 						params);
205*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
206*5113495bSYour Name }
207*5113495bSYour Name 
wmi_unified_get_sar_limit_cmd(wmi_unified_t wmi_handle)208*5113495bSYour Name QDF_STATUS wmi_unified_get_sar_limit_cmd(wmi_unified_t wmi_handle)
209*5113495bSYour Name {
210*5113495bSYour Name 	if (wmi_handle->ops->get_sar_limit_cmd)
211*5113495bSYour Name 		return wmi_handle->ops->get_sar_limit_cmd(wmi_handle);
212*5113495bSYour Name 
213*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
214*5113495bSYour Name }
215*5113495bSYour Name 
wmi_unified_extract_sar_limit_event(wmi_unified_t wmi_handle,uint8_t * evt_buf,struct sar_limit_event * event)216*5113495bSYour Name QDF_STATUS wmi_unified_extract_sar_limit_event(wmi_unified_t wmi_handle,
217*5113495bSYour Name 					       uint8_t *evt_buf,
218*5113495bSYour Name 					       struct sar_limit_event *event)
219*5113495bSYour Name {
220*5113495bSYour Name 	if (wmi_handle->ops->extract_sar_limit_event)
221*5113495bSYour Name 		return wmi_handle->ops->extract_sar_limit_event(wmi_handle,
222*5113495bSYour Name 								evt_buf,
223*5113495bSYour Name 								event);
224*5113495bSYour Name 
225*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
226*5113495bSYour Name }
227*5113495bSYour Name 
wmi_unified_extract_sar2_result_event(void * handle,uint8_t * event,uint32_t len)228*5113495bSYour Name QDF_STATUS wmi_unified_extract_sar2_result_event(void *handle,
229*5113495bSYour Name 						 uint8_t *event, uint32_t len)
230*5113495bSYour Name {
231*5113495bSYour Name 	wmi_unified_t wmi_handle = handle;
232*5113495bSYour Name 
233*5113495bSYour Name 	if (wmi_handle->ops->extract_sar2_result_event)
234*5113495bSYour Name 		return wmi_handle->ops->extract_sar2_result_event(wmi_handle,
235*5113495bSYour Name 								  event,
236*5113495bSYour Name 								  len);
237*5113495bSYour Name 
238*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
239*5113495bSYour Name }
240*5113495bSYour Name 
241*5113495bSYour Name QDF_STATUS
wmi_unified_set_del_pmkid_cache(wmi_unified_t wmi_handle,struct wmi_unified_pmk_cache * req_buf)242*5113495bSYour Name wmi_unified_set_del_pmkid_cache(wmi_unified_t wmi_handle,
243*5113495bSYour Name 				struct wmi_unified_pmk_cache *req_buf)
244*5113495bSYour Name {
245*5113495bSYour Name 	if (wmi_handle->ops->send_set_del_pmkid_cache_cmd)
246*5113495bSYour Name 		return wmi_handle->ops->send_set_del_pmkid_cache_cmd(wmi_handle,
247*5113495bSYour Name 								     req_buf);
248*5113495bSYour Name 
249*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
250*5113495bSYour Name }
251*5113495bSYour Name 
wmi_unified_del_ts_cmd(wmi_unified_t wmi_handle,uint8_t vdev_id,uint8_t ac)252*5113495bSYour Name QDF_STATUS wmi_unified_del_ts_cmd(wmi_unified_t wmi_handle, uint8_t vdev_id,
253*5113495bSYour Name 				  uint8_t ac)
254*5113495bSYour Name {
255*5113495bSYour Name 	if (wmi_handle->ops->send_del_ts_cmd)
256*5113495bSYour Name 		return wmi_handle->ops->send_del_ts_cmd(wmi_handle,
257*5113495bSYour Name 							vdev_id, ac);
258*5113495bSYour Name 
259*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
260*5113495bSYour Name }
261*5113495bSYour Name 
wmi_unified_aggr_qos_cmd(wmi_unified_t wmi_handle,struct aggr_add_ts_param * aggr_qos_rsp_msg)262*5113495bSYour Name QDF_STATUS wmi_unified_aggr_qos_cmd(
263*5113495bSYour Name 		wmi_unified_t wmi_handle,
264*5113495bSYour Name 		struct aggr_add_ts_param *aggr_qos_rsp_msg)
265*5113495bSYour Name {
266*5113495bSYour Name 	if (wmi_handle->ops->send_aggr_qos_cmd)
267*5113495bSYour Name 		return wmi_handle->ops->send_aggr_qos_cmd(wmi_handle,
268*5113495bSYour Name 							  aggr_qos_rsp_msg);
269*5113495bSYour Name 
270*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
271*5113495bSYour Name }
272*5113495bSYour Name 
wmi_unified_add_ts_cmd(wmi_unified_t wmi_handle,struct add_ts_param * msg)273*5113495bSYour Name QDF_STATUS wmi_unified_add_ts_cmd(wmi_unified_t wmi_handle,
274*5113495bSYour Name 				  struct add_ts_param *msg)
275*5113495bSYour Name {
276*5113495bSYour Name 	if (wmi_handle->ops->send_add_ts_cmd)
277*5113495bSYour Name 		return wmi_handle->ops->send_add_ts_cmd(wmi_handle,
278*5113495bSYour Name 							msg);
279*5113495bSYour Name 
280*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
281*5113495bSYour Name }
282*5113495bSYour Name 
wmi_unified_process_add_periodic_tx_ptrn_cmd(wmi_unified_t wmi_handle,struct periodic_tx_pattern * pattern,uint8_t vdev_id)283*5113495bSYour Name QDF_STATUS wmi_unified_process_add_periodic_tx_ptrn_cmd(
284*5113495bSYour Name 					wmi_unified_t wmi_handle,
285*5113495bSYour Name 					struct periodic_tx_pattern *pattern,
286*5113495bSYour Name 					uint8_t vdev_id)
287*5113495bSYour Name {
288*5113495bSYour Name 	if (wmi_handle->ops->send_process_add_periodic_tx_ptrn_cmd)
289*5113495bSYour Name 		return wmi_handle->ops->send_process_add_periodic_tx_ptrn_cmd(
290*5113495bSYour Name 						wmi_handle, pattern, vdev_id);
291*5113495bSYour Name 
292*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
293*5113495bSYour Name }
294*5113495bSYour Name 
295*5113495bSYour Name QDF_STATUS
wmi_unified_process_del_periodic_tx_ptrn_cmd(wmi_unified_t wmi_handle,uint8_t vdev_id,uint8_t pattern_id)296*5113495bSYour Name wmi_unified_process_del_periodic_tx_ptrn_cmd(wmi_unified_t wmi_handle,
297*5113495bSYour Name 					     uint8_t vdev_id,
298*5113495bSYour Name 					     uint8_t pattern_id)
299*5113495bSYour Name {
300*5113495bSYour Name 	if (wmi_handle->ops->send_process_del_periodic_tx_ptrn_cmd)
301*5113495bSYour Name 		return wmi_handle->ops->send_process_del_periodic_tx_ptrn_cmd(
302*5113495bSYour Name 				wmi_handle,
303*5113495bSYour Name 				vdev_id,
304*5113495bSYour Name 				pattern_id);
305*5113495bSYour Name 
306*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
307*5113495bSYour Name }
308*5113495bSYour Name 
wmi_unified_set_auto_shutdown_timer_cmd(wmi_unified_t wmi_handle,uint32_t timer_val)309*5113495bSYour Name QDF_STATUS wmi_unified_set_auto_shutdown_timer_cmd(wmi_unified_t wmi_handle,
310*5113495bSYour Name 						   uint32_t timer_val)
311*5113495bSYour Name {
312*5113495bSYour Name 	if (wmi_handle->ops->send_set_auto_shutdown_timer_cmd)
313*5113495bSYour Name 		return wmi_handle->ops->send_set_auto_shutdown_timer_cmd(
314*5113495bSYour Name 				wmi_handle,
315*5113495bSYour Name 				timer_val);
316*5113495bSYour Name 
317*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
318*5113495bSYour Name }
319*5113495bSYour Name 
320*5113495bSYour Name QDF_STATUS
wmi_unified_set_led_flashing_cmd(wmi_unified_t wmi_handle,struct flashing_req_params * flashing)321*5113495bSYour Name wmi_unified_set_led_flashing_cmd(wmi_unified_t wmi_handle,
322*5113495bSYour Name 				 struct flashing_req_params *flashing)
323*5113495bSYour Name {
324*5113495bSYour Name 	if (wmi_handle->ops->send_set_led_flashing_cmd)
325*5113495bSYour Name 		return wmi_handle->ops->send_set_led_flashing_cmd(wmi_handle,
326*5113495bSYour Name 								  flashing);
327*5113495bSYour Name 
328*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
329*5113495bSYour Name }
330*5113495bSYour Name 
wmi_unified_process_ch_avoid_update_cmd(wmi_unified_t wmi_handle)331*5113495bSYour Name QDF_STATUS wmi_unified_process_ch_avoid_update_cmd(wmi_unified_t wmi_handle)
332*5113495bSYour Name {
333*5113495bSYour Name 	if (wmi_handle->ops->send_process_ch_avoid_update_cmd)
334*5113495bSYour Name 		return wmi_handle->ops->send_process_ch_avoid_update_cmd(
335*5113495bSYour Name 				wmi_handle);
336*5113495bSYour Name 
337*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
338*5113495bSYour Name }
339*5113495bSYour Name 
wmi_unified_pdev_set_pcl_cmd(wmi_unified_t wmi_handle,struct wmi_pcl_chan_weights * msg)340*5113495bSYour Name QDF_STATUS wmi_unified_pdev_set_pcl_cmd(wmi_unified_t wmi_handle,
341*5113495bSYour Name 					struct wmi_pcl_chan_weights *msg)
342*5113495bSYour Name {
343*5113495bSYour Name 	if (wmi_handle->ops->send_pdev_set_pcl_cmd)
344*5113495bSYour Name 		return wmi_handle->ops->send_pdev_set_pcl_cmd(wmi_handle, msg);
345*5113495bSYour Name 
346*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
347*5113495bSYour Name }
348*5113495bSYour Name 
349*5113495bSYour Name #ifdef WLAN_POLICY_MGR_ENABLE
wmi_unified_pdev_set_dual_mac_config_cmd(wmi_unified_t wmi_handle,struct policy_mgr_dual_mac_config * msg)350*5113495bSYour Name QDF_STATUS wmi_unified_pdev_set_dual_mac_config_cmd(
351*5113495bSYour Name 		wmi_unified_t wmi_handle,
352*5113495bSYour Name 		struct policy_mgr_dual_mac_config *msg)
353*5113495bSYour Name {
354*5113495bSYour Name 	if (wmi_handle->ops->send_pdev_set_dual_mac_config_cmd)
355*5113495bSYour Name 		return wmi_handle->ops->send_pdev_set_dual_mac_config_cmd(
356*5113495bSYour Name 				wmi_handle,
357*5113495bSYour Name 				msg);
358*5113495bSYour Name 
359*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
360*5113495bSYour Name }
361*5113495bSYour Name #endif /* WLAN_POLICY_MGR_ENABLE */
362*5113495bSYour Name 
wmi_unified_send_adapt_dwelltime_params_cmd(wmi_unified_t wmi_handle,struct wmi_adaptive_dwelltime_params * dwelltime_params)363*5113495bSYour Name QDF_STATUS wmi_unified_send_adapt_dwelltime_params_cmd(
364*5113495bSYour Name 			wmi_unified_t wmi_handle,
365*5113495bSYour Name 			struct wmi_adaptive_dwelltime_params *dwelltime_params)
366*5113495bSYour Name {
367*5113495bSYour Name 	if (wmi_handle->ops->send_adapt_dwelltime_params_cmd)
368*5113495bSYour Name 		return wmi_handle->ops->
369*5113495bSYour Name 			send_adapt_dwelltime_params_cmd(wmi_handle,
370*5113495bSYour Name 				  dwelltime_params);
371*5113495bSYour Name 
372*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
373*5113495bSYour Name }
374*5113495bSYour Name 
wmi_unified_send_dbs_scan_sel_params_cmd(wmi_unified_t wmi_handle,struct wmi_dbs_scan_sel_params * dbs_scan_params)375*5113495bSYour Name QDF_STATUS wmi_unified_send_dbs_scan_sel_params_cmd(
376*5113495bSYour Name 			wmi_unified_t wmi_handle,
377*5113495bSYour Name 			struct wmi_dbs_scan_sel_params *dbs_scan_params)
378*5113495bSYour Name {
379*5113495bSYour Name 	if (wmi_handle->ops->send_dbs_scan_sel_params_cmd)
380*5113495bSYour Name 		return wmi_handle->ops->
381*5113495bSYour Name 			send_dbs_scan_sel_params_cmd(wmi_handle,
382*5113495bSYour Name 						     dbs_scan_params);
383*5113495bSYour Name 
384*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
385*5113495bSYour Name }
386*5113495bSYour Name 
wmi_unified_set_arp_stats_req(wmi_unified_t wmi_handle,struct set_arp_stats * req_buf)387*5113495bSYour Name QDF_STATUS wmi_unified_set_arp_stats_req(wmi_unified_t wmi_handle,
388*5113495bSYour Name 					 struct set_arp_stats *req_buf)
389*5113495bSYour Name {
390*5113495bSYour Name 	if (wmi_handle->ops->send_set_arp_stats_req_cmd)
391*5113495bSYour Name 		return wmi_handle->ops->send_set_arp_stats_req_cmd(wmi_handle,
392*5113495bSYour Name 								   req_buf);
393*5113495bSYour Name 
394*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
395*5113495bSYour Name }
396*5113495bSYour Name 
wmi_unified_get_arp_stats_req(wmi_unified_t wmi_handle,struct get_arp_stats * req_buf)397*5113495bSYour Name QDF_STATUS wmi_unified_get_arp_stats_req(wmi_unified_t wmi_handle,
398*5113495bSYour Name 					 struct get_arp_stats *req_buf)
399*5113495bSYour Name {
400*5113495bSYour Name 	if (wmi_handle->ops->send_get_arp_stats_req_cmd)
401*5113495bSYour Name 		return wmi_handle->ops->send_get_arp_stats_req_cmd(wmi_handle,
402*5113495bSYour Name 								   req_buf);
403*5113495bSYour Name 
404*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
405*5113495bSYour Name }
406*5113495bSYour Name 
wmi_unified_peer_unmap_conf_send(wmi_unified_t wmi_handle,uint8_t vdev_id,uint32_t peer_id_cnt,uint16_t * peer_id_list)407*5113495bSYour Name QDF_STATUS wmi_unified_peer_unmap_conf_send(wmi_unified_t wmi_handle,
408*5113495bSYour Name 					    uint8_t vdev_id,
409*5113495bSYour Name 					    uint32_t peer_id_cnt,
410*5113495bSYour Name 					    uint16_t *peer_id_list)
411*5113495bSYour Name {
412*5113495bSYour Name 	if (wmi_handle->ops->send_peer_unmap_conf_cmd)
413*5113495bSYour Name 		return wmi_handle->ops->send_peer_unmap_conf_cmd(wmi_handle,
414*5113495bSYour Name 				  vdev_id, peer_id_cnt, peer_id_list);
415*5113495bSYour Name 
416*5113495bSYour Name 	return QDF_STATUS_E_FAILURE;
417*5113495bSYour Name }
418*5113495bSYour Name 
419