1 /*
2 * Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
3 * Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
4 *
5 * Permission to use, copy, modify, and/or distribute this software for
6 * any purpose with or without fee is hereby granted, provided that the
7 * above copyright notice and this permission notice appear in all
8 * copies.
9 *
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
11 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
12 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
13 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
15 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
16 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17 * PERFORMANCE OF THIS SOFTWARE.
18 */
19 /**
20 * DOC: declare UCFG APIs exposed by the mlme component
21 */
22
23 #ifndef _WLAN_MLME_UCFG_API_H_
24 #define _WLAN_MLME_UCFG_API_H_
25
26 #include <wlan_mlme_public_struct.h>
27 #include <wlan_objmgr_psoc_obj.h>
28 #include <wlan_objmgr_global_obj.h>
29 #include <wlan_cmn.h>
30 #include <wlan_mlme_api.h>
31 #include <wlan_mlme_main.h>
32 #include "wma_tgt_cfg.h"
33 #include "wlan_mlme_vdev_mgr_interface.h"
34
35 /**
36 * ucfg_mlme_init() - initialize mlme_ctx context.
37 *
38 * This function initializes the mlme context.
39 *
40 * Return: QDF_STATUS_SUCCESS - in case of success else return error
41 */
42 QDF_STATUS ucfg_mlme_init(void);
43
44 /**
45 * ucfg_mlme_deinit() - De initialize mlme_ctx context.
46 *
47 * This function De initializes mlme context.
48 *
49 * Return: QDF_STATUS_SUCCESS - in case of success else return error
50 */
51 QDF_STATUS ucfg_mlme_deinit(void);
52
53 /**
54 * ucfg_mlme_psoc_open() - MLME component Open
55 * @psoc: pointer to psoc object
56 *
57 * Open the MLME component and initialize the MLME structure
58 *
59 * Return: QDF Status
60 */
61 QDF_STATUS ucfg_mlme_psoc_open(struct wlan_objmgr_psoc *psoc);
62
63 /**
64 * ucfg_mlme_psoc_close() - MLME component close
65 * @psoc: pointer to psoc object
66 *
67 * Close the MLME component and clear the MLME structures
68 *
69 * Return: None
70 */
71 void ucfg_mlme_psoc_close(struct wlan_objmgr_psoc *psoc);
72
73 /**
74 * ucfg_mlme_pdev_open() - MLME component pdev Open
75 * @pdev: pointer to pdev object
76 *
77 * Open the MLME component and initialize the MLME pdev structure
78 *
79 * Return: QDF Status
80 */
81 QDF_STATUS ucfg_mlme_pdev_open(struct wlan_objmgr_pdev *pdev);
82
83 /**
84 * ucfg_mlme_set_ml_link_control_mode() - set ml_link_control_mode
85 * @psoc: pointer to psoc object
86 * @vdev_id: vdev id
87 * @value: value to set
88 *
89 * API get call when host receives vendor command
90 * QCA_NL80211_VENDOR_SUBCMD_MLO_LINK_STATE to configure link control mode.
91 *
92 * Return: none
93 */
94 void ucfg_mlme_set_ml_link_control_mode(struct wlan_objmgr_psoc *psoc,
95 uint8_t vdev_id, uint8_t value);
96
97 /**
98 * ucfg_mlme_set_bt_profile_con() - set Bluetooth connection profile
99 * @psoc: Pointer to psoc object
100 * @bt_profile_con: Bluetooth connection profile indicator
101 *
102 * Return: None
103 */
104 void ucfg_mlme_set_bt_profile_con(struct wlan_objmgr_psoc *psoc,
105 bool bt_profile_con);
106 /**
107 * ucfg_mlme_get_ml_link_control_mode() - get ml_link_control_mode
108 * @psoc: pointer to psoc object
109 * @vdev_id: vdev id
110 *
111 * Return: value of ml_link_control_mode in success
112 */
113 uint8_t ucfg_mlme_get_ml_link_control_mode(struct wlan_objmgr_psoc *psoc,
114 uint8_t vdev_id);
115
116 /**
117 * ucfg_mlme_pdev_close() - MLME component pdev close
118 * @pdev: pointer to pdev object
119 *
120 * close the MLME pdev information
121 *
122 * Return: QDF Status
123 */
124 QDF_STATUS ucfg_mlme_pdev_close(struct wlan_objmgr_pdev *pdev);
125
126 /**
127 * ucfg_mlme_global_init() - initialize global mlme ops and structure
128 *
129 * Return: QDF Status
130 */
131 QDF_STATUS ucfg_mlme_global_init(void);
132 /**
133 * ucfg_mlme_global_deinit() - deinitialize global mlme ops and structure
134 *
135 * Return: QDF Status
136 */
137 QDF_STATUS ucfg_mlme_global_deinit(void);
138
139 /**
140 * ucfg_mlme_cfg_chan_to_freq() - convert channel numbers to frequencies
141 * @pdev: pointer to pdev object
142 *
143 * convert the channels numbers received as part of cfg items to
144 * frequencies.
145 *
146 * Return: None
147 */
148 void ucfg_mlme_cfg_chan_to_freq(struct wlan_objmgr_pdev *pdev);
149
150 /**
151 * ucfg_mlme_get_power_usage() - Get the power usage info
152 * @psoc: pointer to psoc object
153 *
154 * Return: pointer to character array of power usage
155 */
156 static inline
ucfg_mlme_get_power_usage(struct wlan_objmgr_psoc * psoc)157 char *ucfg_mlme_get_power_usage(struct wlan_objmgr_psoc *psoc)
158 {
159 return wlan_mlme_get_power_usage(psoc);
160 }
161
162 /**
163 * ucfg_get_tx_power() - Get the max tx power in particular band
164 * @psoc: pointer to psoc object
165 * @band: 2ghz/5ghz band
166 *
167 * Return: value of tx power in the respective band
168 */
169 static inline
ucfg_get_tx_power(struct wlan_objmgr_psoc * psoc,uint8_t band)170 uint8_t ucfg_get_tx_power(struct wlan_objmgr_psoc *psoc, uint8_t band)
171 {
172 return wlan_mlme_get_tx_power(psoc, band);
173 }
174
175 /**
176 * ucfg_mlme_get_phy_max_freq_range() - Get phy supported max channel
177 * frequency range
178 * @psoc: psoc for country information
179 * @low_2ghz_chan: 2.4 GHz low channel frequency
180 * @high_2ghz_chan: 2.4 GHz high channel frequency
181 * @low_5ghz_chan: 5 GHz low channel frequency
182 * @high_5ghz_chan: 5 GHz high channel frequency
183 *
184 * Return: QDF status
185 */
186 static inline
ucfg_mlme_get_phy_max_freq_range(struct wlan_objmgr_psoc * psoc,uint32_t * low_2ghz_chan,uint32_t * high_2ghz_chan,uint32_t * low_5ghz_chan,uint32_t * high_5ghz_chan)187 QDF_STATUS ucfg_mlme_get_phy_max_freq_range(struct wlan_objmgr_psoc *psoc,
188 uint32_t *low_2ghz_chan,
189 uint32_t *high_2ghz_chan,
190 uint32_t *low_5ghz_chan,
191 uint32_t *high_5ghz_chan)
192 {
193 return wlan_mlme_get_phy_max_freq_range(psoc,
194 low_2ghz_chan,
195 high_2ghz_chan,
196 low_5ghz_chan,
197 high_5ghz_chan);
198 }
199
200 /**
201 * ucfg_mlme_get_ht_cap_info() - Get the HT cap info config
202 * @psoc: pointer to psoc object
203 * @ht_cap_info: pointer to the value which will be filled for the caller
204 *
205 * Inline UCFG API to be used by HDD/OSIF callers
206 *
207 * Return: QDF Status
208 */
209 static inline
ucfg_mlme_get_ht_cap_info(struct wlan_objmgr_psoc * psoc,struct mlme_ht_capabilities_info * ht_cap_info)210 QDF_STATUS ucfg_mlme_get_ht_cap_info(struct wlan_objmgr_psoc *psoc,
211 struct mlme_ht_capabilities_info
212 *ht_cap_info)
213 {
214 return wlan_mlme_get_ht_cap_info(psoc, ht_cap_info);
215 }
216
217 /**
218 * ucfg_mlme_set_ht_cap_info() - Set the HT cap info config
219 * @psoc: pointer to psoc object
220 * @ht_cap_info: Value that needs to be set from the caller
221 *
222 * Inline UCFG API to be used by HDD/OSIF callers
223 *
224 * Return: QDF Status
225 */
226 static inline
ucfg_mlme_set_ht_cap_info(struct wlan_objmgr_psoc * psoc,struct mlme_ht_capabilities_info ht_cap_info)227 QDF_STATUS ucfg_mlme_set_ht_cap_info(struct wlan_objmgr_psoc *psoc,
228 struct mlme_ht_capabilities_info
229 ht_cap_info)
230 {
231 return wlan_mlme_set_ht_cap_info(psoc, ht_cap_info);
232 }
233
234 /**
235 * ucfg_mlme_get_max_amsdu_num() - get the max amsdu num
236 * @psoc: pointer to psoc object
237 * @value: pointer to the value where the max_amsdu num is to be filled
238 *
239 * Return: QDF_STATUS
240 */
241 static inline
ucfg_mlme_get_max_amsdu_num(struct wlan_objmgr_psoc * psoc,uint8_t * value)242 QDF_STATUS ucfg_mlme_get_max_amsdu_num(struct wlan_objmgr_psoc *psoc,
243 uint8_t *value)
244 {
245 return wlan_mlme_get_max_amsdu_num(psoc, value);
246 }
247
248 /**
249 * ucfg_mlme_set_max_amsdu_num() - set the max amsdu num
250 * @psoc: pointer to psoc object
251 * @value: value to be set for max_amsdu_num
252 *
253 * Return: QDF_STATUS
254 */
255 static inline
ucfg_mlme_set_max_amsdu_num(struct wlan_objmgr_psoc * psoc,uint8_t value)256 QDF_STATUS ucfg_mlme_set_max_amsdu_num(struct wlan_objmgr_psoc *psoc,
257 uint8_t value)
258 {
259 return wlan_mlme_set_max_amsdu_num(psoc, value);
260 }
261
262 /**
263 * ucfg_mlme_get_ht_mpdu_density() - get the ht mpdu density
264 * @psoc: pointer to psoc object
265 * @value: pointer to the value where the ht mpdu density is to be filled
266 *
267 * Return: QDF_STATUS
268 */
269 static inline
ucfg_mlme_get_ht_mpdu_density(struct wlan_objmgr_psoc * psoc,uint8_t * value)270 QDF_STATUS ucfg_mlme_get_ht_mpdu_density(struct wlan_objmgr_psoc *psoc,
271 uint8_t *value)
272 {
273 return wlan_mlme_get_ht_mpdu_density(psoc, value);
274 }
275
276 /**
277 * ucfg_mlme_set_ht_mpdu_density() - set the ht mpdu density
278 * @psoc: pointer to psoc object
279 * @value: value to be set for ht mpdu density
280 *
281 * Return: QDF_STATUS
282 */
283 static inline
ucfg_mlme_set_ht_mpdu_density(struct wlan_objmgr_psoc * psoc,uint8_t value)284 QDF_STATUS ucfg_mlme_set_ht_mpdu_density(struct wlan_objmgr_psoc *psoc,
285 uint8_t value)
286 {
287 return wlan_mlme_set_ht_mpdu_density(psoc, value);
288 }
289
290 /**
291 * ucfg_mlme_get_band_capability() - Get the Band capability config
292 * @psoc: pointer to psoc object
293 * @band_capability: Pointer to the variable from caller
294 *
295 * Return: QDF Status
296 */
297 static inline
ucfg_mlme_get_band_capability(struct wlan_objmgr_psoc * psoc,uint32_t * band_capability)298 QDF_STATUS ucfg_mlme_get_band_capability(struct wlan_objmgr_psoc *psoc,
299 uint32_t *band_capability)
300 {
301 return wlan_mlme_get_band_capability(psoc, band_capability);
302 }
303
304 /**
305 * ucfg_mlme_peer_config_vlan() - Send VLAN id to FW for
306 * RX packet
307 * @vdev: vdev pointer
308 * @macaddr: Peer mac address
309 *
310 * Return: QDF_STATUS
311 */
312 static inline QDF_STATUS
ucfg_mlme_peer_config_vlan(struct wlan_objmgr_vdev * vdev,uint8_t * macaddr)313 ucfg_mlme_peer_config_vlan(struct wlan_objmgr_vdev *vdev,
314 uint8_t *macaddr)
315 {
316 return wlan_mlme_peer_config_vlan(vdev, macaddr);
317 }
318
319 /**
320 * ucfg_mlme_get_tdls_prohibited() - get if TDLS prohibited is advertised by
321 * the connected AP.
322 * @vdev: vdev pointer
323 *
324 * Return: bool
325 */
326 static inline
ucfg_mlme_get_tdls_prohibited(struct wlan_objmgr_vdev * vdev)327 bool ucfg_mlme_get_tdls_prohibited(struct wlan_objmgr_vdev *vdev)
328 {
329 return mlme_get_tdls_prohibited(vdev);
330 }
331
332 /**
333 * ucfg_mlme_get_tdls_chan_switch_prohibited() - get tdls chan switch prohibited
334 * @vdev: vdev pointer
335 *
336 * Return: bool
337 */
338 static inline
ucfg_mlme_get_tdls_chan_switch_prohibited(struct wlan_objmgr_vdev * vdev)339 bool ucfg_mlme_get_tdls_chan_switch_prohibited(struct wlan_objmgr_vdev *vdev)
340 {
341 return mlme_get_tdls_chan_switch_prohibited(vdev);
342 }
343 #ifdef MULTI_CLIENT_LL_SUPPORT
344 /**
345 * ucfg_mlme_get_wlm_multi_client_ll_caps() - Get multi client latency level
346 * capability of FW
347 * @psoc: pointer to psoc object
348 *
349 * Return: true if multi client feature supported
350 */
351 bool ucfg_mlme_get_wlm_multi_client_ll_caps(struct wlan_objmgr_psoc *psoc);
352
353 /**
354 * ucfg_mlme_cfg_get_multi_client_ll_ini_support() - Get multi client latency
355 * level ini support value
356 * @psoc: pointer to psoc object
357 * @multi_client_ll_support: parameter that needs to be filled
358 *
359 * Return: QDF Status
360 */
361 QDF_STATUS
362 ucfg_mlme_cfg_get_multi_client_ll_ini_support(struct wlan_objmgr_psoc *psoc,
363 bool *multi_client_ll_support);
364 #else
365 static inline
ucfg_mlme_get_wlm_multi_client_ll_caps(struct wlan_objmgr_psoc * psoc)366 bool ucfg_mlme_get_wlm_multi_client_ll_caps(struct wlan_objmgr_psoc *psoc)
367 {
368 return false;
369 }
370
371 static inline QDF_STATUS
ucfg_mlme_cfg_get_multi_client_ll_ini_support(struct wlan_objmgr_psoc * psoc,bool * multi_client_ll_support)372 ucfg_mlme_cfg_get_multi_client_ll_ini_support(struct wlan_objmgr_psoc *psoc,
373 bool *multi_client_ll_support)
374 {
375 return QDF_STATUS_E_FAILURE;
376 }
377 #endif
378
379 /**
380 * ucfg_mlme_set_band_capability() - Set the Band capability config
381 * @psoc: pointer to psoc object
382 * @band_capability: Value to be set from the caller
383 *
384 * Return: QDF Status
385 */
386 static inline
ucfg_mlme_set_band_capability(struct wlan_objmgr_psoc * psoc,uint32_t band_capability)387 QDF_STATUS ucfg_mlme_set_band_capability(struct wlan_objmgr_psoc *psoc,
388 uint32_t band_capability)
389 {
390 return wlan_mlme_set_band_capability(psoc, band_capability);
391 }
392
393 #ifdef WLAN_VENDOR_HANDOFF_CONTROL
394 /**
395 * ucfg_mlme_get_vendor_handoff_control_caps() - Get vendor handoff control
396 * capability of FW
397 * @psoc: pointer to psoc object
398 *
399 * Return: true if vendor handoff feature supported
400 */
401 bool ucfg_mlme_get_vendor_handoff_control_caps(struct wlan_objmgr_psoc *psoc);
402 #else
403 static inline
ucfg_mlme_get_vendor_handoff_control_caps(struct wlan_objmgr_psoc * psoc)404 bool ucfg_mlme_get_vendor_handoff_control_caps(struct wlan_objmgr_psoc *psoc)
405 {
406 return false;
407 }
408 #endif
409
410 /**
411 * ucfg_mlme_set_dual_sta_policy() - Configures the Concurrent STA policy
412 * value
413 * @psoc: pointer to psoc object
414 * @dual_sta_config: Concurrent STA policy configuration value
415 *
416 * Return: QDF Status
417 */
418 static inline
ucfg_mlme_set_dual_sta_policy(struct wlan_objmgr_psoc * psoc,uint8_t dual_sta_config)419 QDF_STATUS ucfg_mlme_set_dual_sta_policy(struct wlan_objmgr_psoc *psoc,
420 uint8_t dual_sta_config)
421 {
422 return wlan_mlme_set_dual_sta_policy(psoc, dual_sta_config);
423 }
424
425 /**
426 * ucfg_mlme_get_dual_sta_policy() - Get the Concurrent STA policy value
427 * @psoc: pointer to psoc object
428 * @dual_sta_config: Pointer to the variable from caller
429 *
430 * Return: QDF Status
431 */
432 static inline
ucfg_mlme_get_dual_sta_policy(struct wlan_objmgr_psoc * psoc,uint8_t * dual_sta_config)433 QDF_STATUS ucfg_mlme_get_dual_sta_policy(struct wlan_objmgr_psoc *psoc,
434 uint8_t *dual_sta_config)
435 {
436 return wlan_mlme_get_dual_sta_policy(psoc, dual_sta_config);
437 }
438
439 /**
440 * ucfg_mlme_set_ap_policy() - Configures the AP policy value
441 * @vdev: pointer to vdev object
442 * @ap_cfg_policy: AP policy configuration value
443 *
444 * Return: QDF Status
445 */
446 static inline
ucfg_mlme_set_ap_policy(struct wlan_objmgr_vdev * vdev,enum host_concurrent_ap_policy ap_cfg_policy)447 QDF_STATUS ucfg_mlme_set_ap_policy(struct wlan_objmgr_vdev *vdev,
448 enum host_concurrent_ap_policy ap_cfg_policy)
449 {
450 return wlan_mlme_set_ap_policy(vdev, ap_cfg_policy);
451 }
452
453 /**
454 * ucfg_mlme_get_ap_policy() - Get the AP policy value
455 * @vdev: pointer to vdev object
456 *
457 * Return: enum host_concurrent_ap_policy
458 */
459 static inline enum host_concurrent_ap_policy
ucfg_mlme_get_ap_policy(struct wlan_objmgr_vdev * vdev)460 ucfg_mlme_get_ap_policy(struct wlan_objmgr_vdev *vdev)
461 {
462 return wlan_mlme_get_ap_policy(vdev);
463 }
464
465 /**
466 * ucfg_mlme_get_prevent_link_down() - Get the prevent link down config
467 * @psoc: pointer to psoc object
468 * @prevent_link_down: Pointer to the variable from caller
469 *
470 * Return: QDF Status
471 */
472 static inline
ucfg_mlme_get_prevent_link_down(struct wlan_objmgr_psoc * psoc,bool * prevent_link_down)473 QDF_STATUS ucfg_mlme_get_prevent_link_down(struct wlan_objmgr_psoc *psoc,
474 bool *prevent_link_down)
475 {
476 return wlan_mlme_get_prevent_link_down(psoc, prevent_link_down);
477 }
478
479 /**
480 * ucfg_mlme_get_select_5ghz_margin() - Get the select 5Ghz margin config
481 * @psoc: pointer to psoc object
482 * @select_5ghz_margin: Pointer to the variable from caller
483 *
484 * Return: QDF Status
485 */
486 static inline
ucfg_mlme_get_select_5ghz_margin(struct wlan_objmgr_psoc * psoc,uint8_t * select_5ghz_margin)487 QDF_STATUS ucfg_mlme_get_select_5ghz_margin(struct wlan_objmgr_psoc *psoc,
488 uint8_t *select_5ghz_margin)
489 {
490 return wlan_mlme_get_select_5ghz_margin(psoc, select_5ghz_margin);
491 }
492
493 /**
494 * ucfg_mlme_get_rtt_mac_randomization() - Get the RTT MAC randomization config
495 * @psoc: pointer to psoc object
496 * @rtt_mac_randomization: Pointer to the variable from caller
497 *
498 * Return: QDF Status
499 */
500 static inline
ucfg_mlme_get_rtt_mac_randomization(struct wlan_objmgr_psoc * psoc,bool * rtt_mac_randomization)501 QDF_STATUS ucfg_mlme_get_rtt_mac_randomization(struct wlan_objmgr_psoc *psoc,
502 bool *rtt_mac_randomization)
503 {
504 return wlan_mlme_get_rtt_mac_randomization(psoc, rtt_mac_randomization);
505 }
506
507 /**
508 * ucfg_mlme_get_crash_inject() - Get the crash inject config
509 * @psoc: pointer to psoc object
510 * @crash_inject: Pointer to the variable from caller
511 *
512 * Return: QDF Status
513 */
514 static inline
ucfg_mlme_get_crash_inject(struct wlan_objmgr_psoc * psoc,bool * crash_inject)515 QDF_STATUS ucfg_mlme_get_crash_inject(struct wlan_objmgr_psoc *psoc,
516 bool *crash_inject)
517 {
518 return wlan_mlme_get_crash_inject(psoc, crash_inject);
519 }
520
521 /**
522 * ucfg_mlme_get_lpass_support() - Get the LPASS Support config
523 * @psoc: pointer to psoc object
524 * @lpass_support: Pointer to the variable from caller
525 *
526 * Return: QDF Status
527 */
528 static inline
ucfg_mlme_get_lpass_support(struct wlan_objmgr_psoc * psoc,bool * lpass_support)529 QDF_STATUS ucfg_mlme_get_lpass_support(struct wlan_objmgr_psoc *psoc,
530 bool *lpass_support)
531 {
532 return wlan_mlme_get_lpass_support(psoc, lpass_support);
533 }
534
535 /**
536 * ucfg_mlme_get_wls_6ghz_cap() - Get the WiFi Location Service(WLS)
537 * 6ghz capability
538 * @psoc: pointer to psoc object
539 * @wls_6ghz_capable: Pointer to the variable from caller
540 *
541 * Return: void
542 */
543 static inline
ucfg_mlme_get_wls_6ghz_cap(struct wlan_objmgr_psoc * psoc,bool * wls_6ghz_capable)544 void ucfg_mlme_get_wls_6ghz_cap(struct wlan_objmgr_psoc *psoc,
545 bool *wls_6ghz_capable)
546 {
547 wlan_mlme_get_wls_6ghz_cap(psoc, wls_6ghz_capable);
548 }
549
550 /**
551 * ucfg_mlme_get_self_recovery() - Get the self recovery config
552 * @psoc: pointer to psoc object
553 * @self_recovery: Pointer to the variable from caller
554 *
555 * Return: QDF Status
556 */
557 static inline
ucfg_mlme_get_self_recovery(struct wlan_objmgr_psoc * psoc,bool * self_recovery)558 QDF_STATUS ucfg_mlme_get_self_recovery(struct wlan_objmgr_psoc *psoc,
559 bool *self_recovery)
560 {
561 return wlan_mlme_get_self_recovery(psoc, self_recovery);
562 }
563
564 /**
565 * ucfg_mlme_get_sub_20_chan_width() - Get the sub 20 chan width config
566 * @psoc: pointer to psoc object
567 * @sub_20_chan_width: Pointer to the variable from caller
568 *
569 * Return: QDF Status
570 */
571 static inline
ucfg_mlme_get_sub_20_chan_width(struct wlan_objmgr_psoc * psoc,uint8_t * sub_20_chan_width)572 QDF_STATUS ucfg_mlme_get_sub_20_chan_width(struct wlan_objmgr_psoc *psoc,
573 uint8_t *sub_20_chan_width)
574 {
575 return wlan_mlme_get_sub_20_chan_width(psoc, sub_20_chan_width);
576 }
577
578 /**
579 * ucfg_mlme_get_fw_timeout_crash() - Get the fw timeout crash config
580 * @psoc: pointer to psoc object
581 * @fw_timeout_crash: Pointer to the variable from caller
582 *
583 * Return: QDF Status
584 */
585 static inline
ucfg_mlme_get_fw_timeout_crash(struct wlan_objmgr_psoc * psoc,bool * fw_timeout_crash)586 QDF_STATUS ucfg_mlme_get_fw_timeout_crash(struct wlan_objmgr_psoc *psoc,
587 bool *fw_timeout_crash)
588 {
589 return wlan_mlme_get_fw_timeout_crash(psoc, fw_timeout_crash);
590 }
591
592 /**
593 * ucfg_mlme_get_ito_repeat_count() - Get the fw timeout crash config
594 * @psoc: pointer to psoc object
595 * @ito_repeat_count: Pointer to the variable from caller
596 *
597 * Return: QDF Status
598 */
599 static inline
ucfg_mlme_get_ito_repeat_count(struct wlan_objmgr_psoc * psoc,uint8_t * ito_repeat_count)600 QDF_STATUS ucfg_mlme_get_ito_repeat_count(struct wlan_objmgr_psoc *psoc,
601 uint8_t *ito_repeat_count)
602 {
603 return wlan_mlme_get_ito_repeat_count(psoc, ito_repeat_count);
604 }
605
606 /**
607 * ucfg_mlme_get_acs_with_more_param() - Get the flag for acs with
608 * more param
609 * @psoc: pointer to psoc object
610 * @value: Value that needs to be set from the caller
611 *
612 * Inline UCFG API to be used by HDD/OSIF callers
613 *
614 * Return: QDF Status
615 */
616 static inline
ucfg_mlme_get_acs_with_more_param(struct wlan_objmgr_psoc * psoc,bool * value)617 QDF_STATUS ucfg_mlme_get_acs_with_more_param(struct wlan_objmgr_psoc *psoc,
618 bool *value)
619 {
620 return wlan_mlme_get_acs_with_more_param(psoc, value);
621 }
622
623 /**
624 * ucfg_mlme_get_auto_channel_weight() - Get the auto channel select weight
625 * @psoc: pointer to psoc object
626 * @value: Value that needs to be set from the caller
627 *
628 * Inline UCFG API to be used by HDD/OSIF callers
629 *
630 * Return: QDF Status
631 */
632 static inline
ucfg_mlme_get_auto_channel_weight(struct wlan_objmgr_psoc * psoc,uint32_t * value)633 QDF_STATUS ucfg_mlme_get_auto_channel_weight(struct wlan_objmgr_psoc *psoc,
634 uint32_t *value)
635 {
636 return wlan_mlme_get_auto_channel_weight(psoc, value);
637 }
638
639 /**
640 * ucfg_mlme_get_vendor_acs_support() - Get the flag for
641 * vendor acs support
642 * @psoc: pointer to psoc object
643 * @value: Value that needs to be set from the caller
644 *
645 * Inline UCFG API to be used by HDD/OSIF callers
646 *
647 * Return: QDF Status
648 */
649 static inline
ucfg_mlme_get_vendor_acs_support(struct wlan_objmgr_psoc * psoc,bool * value)650 QDF_STATUS ucfg_mlme_get_vendor_acs_support(struct wlan_objmgr_psoc *psoc,
651 bool *value)
652 {
653 return wlan_mlme_get_vendor_acs_support(psoc, value);
654 }
655
656 /**
657 * ucfg_mlme_get_external_acs_policy() - Get flag for external control
658 * acs policy
659 * @psoc: pointer to psoc object
660 * @value: Value that needs to be set from the caller
661 *
662 * Inline UCFG API to be used by HDD/OSIF callers
663 *
664 * Return: QDF Status
665 */
666 static inline QDF_STATUS
ucfg_mlme_get_external_acs_policy(struct wlan_objmgr_psoc * psoc,bool * value)667 ucfg_mlme_get_external_acs_policy(struct wlan_objmgr_psoc *psoc,
668 bool *value)
669 {
670 return wlan_mlme_get_external_acs_policy(psoc, value);
671 }
672
673 /**
674 * ucfg_mlme_get_acs_support_for_dfs_ltecoex() - Is DFS LTE CoEx ACS supported
675 * @psoc: pointer to psoc object
676 * @value: Value that needs to be set from the caller
677 *
678 * Inline UCFG API to be used by HDD/OSIF callers
679 *
680 * Return: QDF Status
681 */
682 static inline
683 QDF_STATUS
ucfg_mlme_get_acs_support_for_dfs_ltecoex(struct wlan_objmgr_psoc * psoc,bool * value)684 ucfg_mlme_get_acs_support_for_dfs_ltecoex(struct wlan_objmgr_psoc *psoc,
685 bool *value)
686 {
687 return wlan_mlme_get_acs_support_for_dfs_ltecoex(psoc, value);
688 }
689
690 /**
691 * ucfg_mlme_get_wmm_dir_ac_vo() - Get TSPEC direction for VO
692 * @psoc: pointer to psoc object
693 * @value: Value that needs to be set from the caller
694 *
695 * Inline UCFG API to be used by HDD/OSIF callers
696 *
697 * Return: QDF Status
698 */
699 static inline QDF_STATUS
ucfg_mlme_get_wmm_dir_ac_vo(struct wlan_objmgr_psoc * psoc,uint8_t * value)700 ucfg_mlme_get_wmm_dir_ac_vo(struct wlan_objmgr_psoc *psoc,
701 uint8_t *value)
702 {
703 return wlan_mlme_get_wmm_dir_ac_vo(psoc, value);
704 }
705
706 /**
707 * ucfg_mlme_get_wmm_nom_msdu_size_ac_vo() - Get normal
708 * MSDU size for VO
709 * @psoc: pointer to psoc object
710 * @value: Value that needs to be set from the caller
711 *
712 * Inline UCFG API to be used by HDD/OSIF callers
713 *
714 * Return: QDF Status
715 */
716 static inline QDF_STATUS
ucfg_mlme_get_wmm_nom_msdu_size_ac_vo(struct wlan_objmgr_psoc * psoc,uint16_t * value)717 ucfg_mlme_get_wmm_nom_msdu_size_ac_vo(struct wlan_objmgr_psoc *psoc,
718 uint16_t *value)
719 {
720 return wlan_mlme_get_wmm_nom_msdu_size_ac_vo(psoc, value);
721 }
722
723 /**
724 * ucfg_mlme_get_wmm_mean_data_rate_ac_vo() - mean data rate for VO
725 * @psoc: pointer to psoc object
726 * @value: Value that needs to be set from the caller
727 *
728 * Inline UCFG API to be used by HDD/OSIF callers
729 *
730 * Return: QDF Status
731 */
732 static inline QDF_STATUS
ucfg_mlme_get_wmm_mean_data_rate_ac_vo(struct wlan_objmgr_psoc * psoc,uint32_t * value)733 ucfg_mlme_get_wmm_mean_data_rate_ac_vo(struct wlan_objmgr_psoc *psoc,
734 uint32_t *value)
735 {
736 return wlan_mlme_get_wmm_mean_data_rate_ac_vo(psoc, value);
737 }
738
739 /**
740 * ucfg_mlme_get_wmm_min_phy_rate_ac_vo() - min PHY
741 * rate for VO
742 * @psoc: pointer to psoc object
743 * @value: Value that needs to be set from the caller
744 *
745 * Inline UCFG API to be used by HDD/OSIF callers
746 *
747 * Return: QDF Status
748 */
749 static inline QDF_STATUS
ucfg_mlme_get_wmm_min_phy_rate_ac_vo(struct wlan_objmgr_psoc * psoc,uint32_t * value)750 ucfg_mlme_get_wmm_min_phy_rate_ac_vo(struct wlan_objmgr_psoc *psoc,
751 uint32_t *value)
752 {
753 return wlan_mlme_get_wmm_min_phy_rate_ac_vo(psoc, value);
754 }
755
756 /**
757 * ucfg_mlme_get_wmm_sba_ac_vo() - surplus bandwidth
758 * allowance for VO
759 * @psoc: pointer to psoc object
760 * @value: Value that needs to be set from the caller
761 *
762 * Inline UCFG API to be used by HDD/OSIF callers
763 *
764 * Return: QDF Status
765 */
766 static inline QDF_STATUS
ucfg_mlme_get_wmm_sba_ac_vo(struct wlan_objmgr_psoc * psoc,uint16_t * value)767 ucfg_mlme_get_wmm_sba_ac_vo(struct wlan_objmgr_psoc *psoc,
768 uint16_t *value)
769 {
770 return wlan_mlme_get_wmm_sba_ac_vo(psoc, value);
771 }
772
773 /**
774 * ucfg_mlme_get_wmm_uapsd_vo_srv_intv() - Get Uapsd service
775 * interval for voice
776 * @psoc: pointer to psoc object
777 * @value: pointer to the value which will be filled for the caller
778 *
779 * Inline UCFG API to be used by HDD/OSIF callers
780 *
781 * Return: QDF Status
782 */
783 static inline QDF_STATUS
ucfg_mlme_get_wmm_uapsd_vo_srv_intv(struct wlan_objmgr_psoc * psoc,uint32_t * value)784 ucfg_mlme_get_wmm_uapsd_vo_srv_intv(struct wlan_objmgr_psoc *psoc,
785 uint32_t *value)
786 {
787 return wlan_mlme_get_wmm_uapsd_vo_srv_intv(psoc, value);
788 }
789
790 /**
791 * ucfg_mlme_get_wmm_uapsd_vo_sus_intv() - Get Uapsd suspension
792 * interval for voice
793 * @psoc: pointer to psoc object
794 * @value: Value that needs to be set from the caller
795 *
796 * Inline UCFG API to be used by HDD/OSIF callers
797 *
798 * Return: QDF Status
799 */
800 static inline QDF_STATUS
ucfg_mlme_get_wmm_uapsd_vo_sus_intv(struct wlan_objmgr_psoc * psoc,uint32_t * value)801 ucfg_mlme_get_wmm_uapsd_vo_sus_intv(struct wlan_objmgr_psoc *psoc,
802 uint32_t *value)
803 {
804 return wlan_mlme_get_wmm_uapsd_vo_sus_intv(psoc, value);
805 }
806
807 /**
808 * ucfg_mlme_get_sap_inactivity_override() - Check if sap max inactivity
809 * override flag is set.
810 * @psoc: pointer to psoc object
811 * @value: Value that needs to be set from the caller
812 *
813 * Inline UCFG API to be used by HDD/OSIF callers to call
814 * the mlme function wlan_mlme_get_sap_inactivity_override
815 *
816 * Return: QDF Status
817 */
818 static inline
ucfg_mlme_get_sap_inactivity_override(struct wlan_objmgr_psoc * psoc,bool * value)819 void ucfg_mlme_get_sap_inactivity_override(struct wlan_objmgr_psoc *psoc,
820 bool *value)
821 {
822 wlan_mlme_get_sap_inactivity_override(psoc, value);
823 }
824
825 /**
826 * ucfg_mlme_get_tx_chainmask_1ss() - Get the tx_chainmask_1ss value
827 *
828 * @psoc: pointer to psoc object
829 * @value: Value that needs to be set from the caller
830 *
831 * Return: QDF_STATUS_FAILURE or QDF_STATUS_SUCCESS
832 */
833 static inline
ucfg_mlme_get_tx_chainmask_1ss(struct wlan_objmgr_psoc * psoc,uint8_t * value)834 QDF_STATUS ucfg_mlme_get_tx_chainmask_1ss(struct wlan_objmgr_psoc *psoc,
835 uint8_t *value)
836 {
837 return wlan_mlme_get_tx_chainmask_1ss(psoc, value);
838 }
839
840 /**
841 * ucfg_mlme_get_num_11b_tx_chains() - Get the number of 11b only tx chains
842 *
843 * @psoc: pointer to psoc object
844 * @value: Value that needs to be set from the caller
845 *
846 * Return: QDF_STATUS_FAILURE or QDF_STATUS_SUCCESS
847 */
848 static inline
ucfg_mlme_get_num_11b_tx_chains(struct wlan_objmgr_psoc * psoc,uint16_t * value)849 QDF_STATUS ucfg_mlme_get_num_11b_tx_chains(struct wlan_objmgr_psoc *psoc,
850 uint16_t *value)
851 {
852 return wlan_mlme_get_num_11b_tx_chains(psoc, value);
853 }
854
855 /**
856 * ucfg_mlme_get_num_11ag_tx_chains() - get the total number of 11a/g tx chains
857 *
858 * @psoc: pointer to psoc object
859 * @value: Value that needs to be set from the caller
860 *
861 * Return: QDF_STATUS_FAILURE or QDF_STATUS_SUCCESS
862 */
863 static inline
ucfg_mlme_get_num_11ag_tx_chains(struct wlan_objmgr_psoc * psoc,uint16_t * value)864 QDF_STATUS ucfg_mlme_get_num_11ag_tx_chains(struct wlan_objmgr_psoc *psoc,
865 uint16_t *value)
866 {
867 return wlan_mlme_get_num_11ag_tx_chains(psoc, value);
868 }
869
870 /**
871 * ucfg_mlme_get_bt_chain_separation_flag() - bt chain separation enable/disable
872 * @psoc: pointer to psoc object
873 * @value: Value that needs to be got for the caller
874 *
875 * Return: QDF_STATUS_FAILURE or QDF_STATUS_SUCCESS
876 */
877 static inline
ucfg_mlme_get_bt_chain_separation_flag(struct wlan_objmgr_psoc * psoc,bool * value)878 QDF_STATUS ucfg_mlme_get_bt_chain_separation_flag(struct wlan_objmgr_psoc *psoc,
879 bool *value)
880 {
881 return wlan_mlme_get_bt_chain_separation_flag(psoc, value);
882 }
883
884 /**
885 * ucfg_mlme_configure_chain_mask() - configure chainmask parameters
886 *
887 * @psoc: pointer to psoc object
888 * @session_id: vdev_id
889 *
890 * Return: QDF_STATUS_FAILURE or QDF_STATUS_SUCCESS
891 */
892 static inline
ucfg_mlme_configure_chain_mask(struct wlan_objmgr_psoc * psoc,uint8_t session_id)893 QDF_STATUS ucfg_mlme_configure_chain_mask(struct wlan_objmgr_psoc *psoc,
894 uint8_t session_id)
895 {
896 return wlan_mlme_configure_chain_mask(psoc, session_id);
897 }
898
899 /**
900 * ucfg_mlme_is_chain_mask_supported() - check if configure chainmask can
901 * be supported
902 * @psoc: pointer to psoc object
903 *
904 * Return: true if supported else false
905 */
906 static inline
ucfg_mlme_is_chain_mask_supported(struct wlan_objmgr_psoc * psoc)907 bool ucfg_mlme_is_chain_mask_supported(struct wlan_objmgr_psoc *psoc)
908 {
909 return wlan_mlme_is_chain_mask_supported(psoc);
910 }
911
912 /*
913 * ucfg_mlme_get_sta_keep_alive_period() - Get the sta keep alive period
914 * @psoc: pointer to psoc object
915 * @val: Pointer to the value which will be filled for the caller
916 *
917 * Return: QDF Status
918 */
919 QDF_STATUS
920 ucfg_mlme_get_sta_keep_alive_period(struct wlan_objmgr_psoc *psoc,
921 uint32_t *val);
922
923 /*
924 * ucfg_mlme_get_dfs_master_capability() - Get the dfs master capability
925 * @psoc: pointer to psoc object
926 * @val: Pointer to the value which will be filled for the caller
927 *
928 * Return: QDF Status
929 */
930 QDF_STATUS
931 ucfg_mlme_get_dfs_master_capability(struct wlan_objmgr_psoc *psoc,
932 bool *val);
933
934 /*
935 * ucfg_mlme_get_dfs_disable_channel_switch() - Get the dfs channel switch
936 * @psoc: pointer to psoc object
937 * @dfs_disable_channel_switch: Pointer to the value which will be filled
938 *
939 * Return: QDF Status
940 */
941 QDF_STATUS
942 ucfg_mlme_get_dfs_disable_channel_switch(struct wlan_objmgr_psoc *psoc,
943 bool *dfs_disable_channel_switch);
944
945 /*
946 * ucfg_mlme_set_dfs_disable_channel_switch() - Set the dfs channel switch
947 * @psoc: pointer to psoc object
948 * @dfs_disable_channel_switch: Value that needs to be set.
949 *
950 * Return: QDF Status
951 */
952 QDF_STATUS
953 ucfg_mlme_set_dfs_disable_channel_switch(struct wlan_objmgr_psoc *psoc,
954 bool dfs_disable_channel_switch);
955 /*
956 * ucfg_mlme_get_dfs_ignore_cac() - GSet the dfs ignore cac
957 * @psoc: pointer to psoc object
958 * @dfs_ignore_cac: Pointer to the value which will be filled for the caller
959 *
960 * Return: QDF Status
961 */
962 QDF_STATUS
963 ucfg_mlme_get_dfs_ignore_cac(struct wlan_objmgr_psoc *psoc,
964 bool *dfs_ignore_cac);
965
966 /*
967 * ucfg_mlme_set_dfs_ignore_cac() - Set the dfs ignore cac
968 * @psoc: pointer to psoc object
969 * @dfs_ignore_cac: Value that needs to be set.
970 *
971 * Return: QDF Status
972 */
973 QDF_STATUS
974 ucfg_mlme_set_dfs_ignore_cac(struct wlan_objmgr_psoc *psoc,
975 bool dfs_ignore_cac);
976
977 /*
978 * ucfg_mlme_get_sap_tx_leakage_threshold() - Get sap tx leakage threshold
979 * @psoc: pointer to psoc object
980 * @sap_tx_leakage_threshold: Pointer to the value which will be filled
981 *
982 * Return: QDF Status
983 */
984 QDF_STATUS
985 ucfg_mlme_get_sap_tx_leakage_threshold(struct wlan_objmgr_psoc *psoc,
986 uint32_t *sap_tx_leakage_threshold);
987
988 /*
989 * ucfg_mlme_set_sap_tx_leakage_threshold() - Set sap tx leakage threshold
990 * @psoc: pointer to psoc object
991 * @sap_tx_leakage_threshold: Value that needs to be set.
992 *
993 * Return: QDF Status
994 */
995 QDF_STATUS
996 ucfg_mlme_set_sap_tx_leakage_threshold(struct wlan_objmgr_psoc *psoc,
997 uint32_t sap_tx_leakage_threshold);
998
999 /*
1000 * ucfg_mlme_get_dfs_pri_multiplier() - Get dfs pri multiplier
1001 * @psoc: pointer to psoc object
1002 * @dfs_pri_multiplier: Pointer to the value which will be filled
1003 *
1004 * Return: QDF Status
1005 */
1006 QDF_STATUS
1007 ucfg_mlme_get_dfs_pri_multiplier(struct wlan_objmgr_psoc *psoc,
1008 uint32_t *dfs_pri_multiplier);
1009
1010 /*
1011 * ucfg_mlme_set_dfs_pri_multiplier() - Set dfs pri multiplier
1012 * @psoc: pointer to psoc object
1013 * @dfs_pri_multiplier: Value that needs to be set.
1014 *
1015 * Return: QDF Status
1016 */
1017 QDF_STATUS
1018 ucfg_mlme_set_dfs_pri_multiplier(struct wlan_objmgr_psoc *psoc,
1019 uint32_t dfs_pri_multiplier);
1020
1021 /*
1022 * ucfg_mlme_get_dfs_filter_offload() - Get the dfs filter offload
1023 * @psoc: pointer to psoc object
1024 * @dfs_filter_offload: Pointer to the value which will be filled
1025 *
1026 * Return: QDF Status
1027 */
1028 QDF_STATUS
1029 ucfg_mlme_get_dfs_filter_offload(struct wlan_objmgr_psoc *psoc,
1030 bool *dfs_filter_offload);
1031
1032 /*
1033 * ucfg_mlme_set_dfs_filter_offload() - Set the dfs filter offload
1034 * @psoc: pointer to psoc object
1035 * @dfs_filter_offload: Value that needs to be set.
1036 *
1037 * Return: QDF Status
1038 */
1039 QDF_STATUS
1040 ucfg_mlme_set_dfs_filter_offload(struct wlan_objmgr_psoc *psoc,
1041 bool dfs_filter_offload);
1042
1043 /**
1044 * ucfg_mlme_get_oem_6g_supported() - Get oem 6Ghz supported
1045 * @psoc: pointer to psoc object
1046 * @oem_6g_supported: Pointer to the value which will be filled for the caller
1047 *
1048 * Return: QDF Status
1049 */
1050 QDF_STATUS
1051 ucfg_mlme_get_oem_6g_supported(struct wlan_objmgr_psoc *psoc,
1052 bool *oem_6g_supported);
1053
1054 /**
1055 * ucfg_mlme_get_fine_time_meas_cap() - Get fine timing measurement capability
1056 * @psoc: pointer to psoc object
1057 * @fine_time_meas_cap: Pointer to the value which will be filled for the caller
1058 *
1059 * Return: QDF Status
1060 */
1061 QDF_STATUS
1062 ucfg_mlme_get_fine_time_meas_cap(struct wlan_objmgr_psoc *psoc,
1063 uint32_t *fine_time_meas_cap);
1064
1065 /**
1066 * ucfg_mlme_set_fine_time_meas_cap() - Set fine timing measurement capability
1067 * @psoc: pointer to psoc object
1068 * @fine_time_meas_cap: Value to be set
1069 *
1070 * Return: QDF Status
1071 */
1072 QDF_STATUS
1073 ucfg_mlme_set_fine_time_meas_cap(struct wlan_objmgr_psoc *psoc,
1074 uint32_t fine_time_meas_cap);
1075
1076 /**
1077 * ucfg_mlme_get_pmkid_modes() - Get PMKID modes
1078 * @psoc: pointer to psoc object
1079 * @val: Pointer to the value which will be filled for the caller
1080 *
1081 * Return: QDF Status
1082 */
1083 QDF_STATUS
1084 ucfg_mlme_get_pmkid_modes(struct wlan_objmgr_psoc *psoc,
1085 uint32_t *val);
1086
1087 /**
1088 * ucfg_mlme_set_pmkid_modes() - Set PMKID modes
1089 * @psoc: pointer to psoc object
1090 * @val: Pointer to the value which will be filled for the caller
1091 *
1092 * Return: QDF Status
1093 */
1094 QDF_STATUS
1095 ucfg_mlme_set_pmkid_modes(struct wlan_objmgr_psoc *psoc,
1096 uint32_t val);
1097
1098 /**
1099 * ucfg_mlme_get_dot11p_mode() - Get the setting about 802.11p mode
1100 * @psoc: pointer to psoc object
1101 * @out_mode: Pointer to the mode which will be filled for the caller
1102 *
1103 * Return: QDF Status
1104 */
1105 QDF_STATUS
1106 ucfg_mlme_get_dot11p_mode(struct wlan_objmgr_psoc *psoc,
1107 enum dot11p_mode *out_mode);
1108
1109 /**
1110 * ucfg_mlme_get_go_cts2self_for_sta() - Stop NOA and start using cts2self
1111 * @psoc: pointer to psoc object
1112 * @val: Pointer to the value which will be filled for the caller
1113 *
1114 * Return: QDF Status
1115 */
1116 QDF_STATUS
1117 ucfg_mlme_get_go_cts2self_for_sta(struct wlan_objmgr_psoc *psoc,
1118 bool *val);
1119
1120 /**
1121 * ucfg_mlme_get_qcn_ie_support() - QCN IE support or not
1122 * @psoc: pointer to psoc object
1123 * @val: Pointer to the value which will be filled for the caller
1124 *
1125 * Return: QDF Status
1126 */
1127 QDF_STATUS
1128 ucfg_mlme_get_qcn_ie_support(struct wlan_objmgr_psoc *psoc,
1129 bool *val);
1130
1131 /**
1132 * ucfg_mlme_get_tgt_gtx_usr_cfg() - Get the target gtx user config
1133 * @psoc: pointer to psoc object
1134 * @val: Pointer to the value which will be filled for the caller
1135 *
1136 * Return: QDF Status
1137 */
1138 QDF_STATUS
1139 ucfg_mlme_get_tgt_gtx_usr_cfg(struct wlan_objmgr_psoc *psoc,
1140 uint32_t *val);
1141
1142 /**
1143 * ucfg_mlme_is_override_ht20_40_24g() - use channel bonding in 2.4 GHz or not
1144 * @psoc: pointer to psoc object
1145 * @val: Pointer to the value which will be filled for the caller
1146 *
1147 * Return: QDF Status
1148 */
1149 QDF_STATUS
1150 ucfg_mlme_is_override_ht20_40_24g(struct wlan_objmgr_psoc *psoc, bool *val);
1151
1152 #ifdef WLAN_FEATURE_ROAM_OFFLOAD
1153 /**
1154 * ucfg_mlme_get_roam_disable_config() - Get sta roam disable value
1155 * @psoc: pointer to psoc object
1156 * @val: Pointer to bitmap of interfaces for those sta roaming is disabled
1157 *
1158 * Return: QDF Status
1159 */
1160 QDF_STATUS
1161 ucfg_mlme_get_roam_disable_config(struct wlan_objmgr_psoc *psoc,
1162 uint32_t *val);
1163
1164 /**
1165 * ucfg_mlme_get_roaming_offload() - Get roaming offload setting
1166 * @psoc: pointer to psoc object
1167 * @val: Pointer to enable/disable roaming offload
1168 *
1169 * Return: QDF Status
1170 */
1171 QDF_STATUS
1172 ucfg_mlme_get_roaming_offload(struct wlan_objmgr_psoc *psoc,
1173 bool *val);
1174
1175 /**
1176 * ucfg_mlme_set_roaming_offload() - Enable/disable roaming offload
1177 * @psoc: pointer to psoc object
1178 * @val: enable/disable roaming offload
1179 *
1180 * Return: QDF Status
1181 */
1182 QDF_STATUS
1183 ucfg_mlme_set_roaming_offload(struct wlan_objmgr_psoc *psoc,
1184 bool val);
1185
1186 /**
1187 * ucfg_mlme_get_roaming_triggers() - Get roaming triggers bitmap
1188 * value
1189 * @psoc: pointer to psoc object
1190 *
1191 * Return: Roaming triggers value
1192 */
1193 static inline uint32_t
ucfg_mlme_get_roaming_triggers(struct wlan_objmgr_psoc * psoc)1194 ucfg_mlme_get_roaming_triggers(struct wlan_objmgr_psoc *psoc)
1195 {
1196 return wlan_mlme_get_roaming_triggers(psoc);
1197 }
1198
1199 /**
1200 * ucfg_mlme_set_roaming_triggers() - Set roaming triggers bitmap
1201 * value
1202 * @psoc: pointer to psoc object
1203 * @trigger_bitmap: Roaming triggers bitmap to set
1204 *
1205 * Return: void
1206 */
1207 static inline void
ucfg_mlme_set_roaming_triggers(struct wlan_objmgr_psoc * psoc,uint32_t trigger_bitmap)1208 ucfg_mlme_set_roaming_triggers(struct wlan_objmgr_psoc *psoc,
1209 uint32_t trigger_bitmap)
1210 {
1211 wlan_mlme_set_roaming_triggers(psoc, trigger_bitmap);
1212 }
1213 #else
1214 static inline QDF_STATUS
ucfg_mlme_get_roam_disable_config(struct wlan_objmgr_psoc * psoc,uint32_t * val)1215 ucfg_mlme_get_roam_disable_config(struct wlan_objmgr_psoc *psoc,
1216 uint32_t *val)
1217 {
1218 return QDF_STATUS_E_FAILURE;
1219 }
1220
1221 static inline QDF_STATUS
ucfg_mlme_get_roaming_offload(struct wlan_objmgr_psoc * psoc,bool * val)1222 ucfg_mlme_get_roaming_offload(struct wlan_objmgr_psoc *psoc,
1223 bool *val)
1224 {
1225 *val = false;
1226
1227 return QDF_STATUS_SUCCESS;
1228 }
1229
1230 static inline QDF_STATUS
ucfg_mlme_set_roaming_offload(struct wlan_objmgr_psoc * psoc,bool val)1231 ucfg_mlme_set_roaming_offload(struct wlan_objmgr_psoc *psoc,
1232 bool val)
1233 {
1234 return QDF_STATUS_SUCCESS;
1235 }
1236
1237 static inline uint32_t
ucfg_mlme_get_roaming_triggers(struct wlan_objmgr_psoc * psoc)1238 ucfg_mlme_get_roaming_triggers(struct wlan_objmgr_psoc *psoc)
1239 {
1240 return 0xffff;
1241 }
1242
1243 static inline void
ucfg_mlme_set_roaming_triggers(struct wlan_objmgr_psoc * psoc,uint32_t trigger_bitmap)1244 ucfg_mlme_set_roaming_triggers(struct wlan_objmgr_psoc *psoc,
1245 uint32_t trigger_bitmap)
1246 {
1247 }
1248 #endif
1249
1250 /**
1251 * ucfg_mlme_is_mawc_enabled() - MAWC enabled or not
1252 * @psoc: pointer to psoc object
1253 * @val: Pointer to the value which will be filled for the caller
1254 *
1255 * Return: QDF Status
1256 */
1257 QDF_STATUS
1258 ucfg_mlme_is_mawc_enabled(struct wlan_objmgr_psoc *psoc, bool *val);
1259
1260 /**
1261 * ucfg_mlme_set_mawc_enabled() - Set MAWC enable or disable
1262 * @psoc: pointer to psoc object
1263 * @val: enable or disable MAWC
1264 *
1265 * Return: QDF Status
1266 */
1267 QDF_STATUS
1268 ucfg_mlme_set_mawc_enabled(struct wlan_objmgr_psoc *psoc, bool val);
1269
1270 /**
1271 * ucfg_mlme_is_fast_transition_enabled() - Fast transition enable or not
1272 * @psoc: pointer to psoc object
1273 * @val: Pointer to the value which will be filled for the caller
1274 *
1275 * Return: QDF Status
1276 */
1277 QDF_STATUS
1278 ucfg_mlme_is_fast_transition_enabled(struct wlan_objmgr_psoc *psoc,
1279 bool *val);
1280
1281 /**
1282 * ucfg_mlme_set_fast_transition_enabled() - Set fast transition enable
1283 * @psoc: pointer to psoc object
1284 * @val: Fast transition enable or disable
1285 *
1286 * Return: QDF Status
1287 */
1288 QDF_STATUS
1289 ucfg_mlme_set_fast_transition_enabled(struct wlan_objmgr_psoc *psoc,
1290 bool val);
1291
1292 /**
1293 * ucfg_mlme_is_roam_scan_offload_enabled() - Roam scan offload enable or not
1294 * @psoc: pointer to psoc object
1295 * @val: Pointer to the value which will be filled for the caller
1296 *
1297 * Return: QDF Status
1298 */
1299 QDF_STATUS
1300 ucfg_mlme_is_roam_scan_offload_enabled(struct wlan_objmgr_psoc *psoc,
1301 bool *val);
1302
1303 #ifdef WLAN_ADAPTIVE_11R
1304 /**
1305 * ucfg_mlme_set_tgt_adaptive_11r_cap() - Set adaptive 11r target service
1306 * capability
1307 * @psoc: pointer to psoc object
1308 * @val: Target capability of adaptive 11r
1309 *
1310 * Return: QDF Status
1311 */
1312 QDF_STATUS
1313 ucfg_mlme_set_tgt_adaptive_11r_cap(struct wlan_objmgr_psoc *psoc,
1314 bool val);
1315 /**
1316 * ucfg_mlme_get_adaptive11r_enabled() - get adaptive 11R enabled status
1317 * @psoc: pointer to psoc object
1318 * @value: pointer to the value which will be filled for the caller
1319 *
1320 * Return: QDF Status
1321 */
1322 QDF_STATUS
1323 ucfg_mlme_get_adaptive11r_enabled(struct wlan_objmgr_psoc *psoc,
1324 bool *value);
1325 #else
1326 static inline QDF_STATUS
ucfg_mlme_set_tgt_adaptive_11r_cap(struct wlan_objmgr_psoc * psoc,bool val)1327 ucfg_mlme_set_tgt_adaptive_11r_cap(struct wlan_objmgr_psoc *psoc,
1328 bool val)
1329 {
1330 return QDF_STATUS_SUCCESS;
1331 }
1332
1333 static inline QDF_STATUS
ucfg_mlme_get_adaptive11r_enabled(struct wlan_objmgr_psoc * psoc,bool * value)1334 ucfg_mlme_get_adaptive11r_enabled(struct wlan_objmgr_psoc *psoc,
1335 bool *value)
1336 {
1337 *value = false;
1338 return QDF_STATUS_SUCCESS;
1339 }
1340 #endif
1341
1342 /**
1343 * ucfg_mlme_set_roam_scan_offload_enabled() - Set roam scan offload enable
1344 * @psoc: pointer to psoc object
1345 * @val: Roam scan offload enable or disable
1346 *
1347 * Return: QDF Status
1348 */
1349 QDF_STATUS
1350 ucfg_mlme_set_roam_scan_offload_enabled(struct wlan_objmgr_psoc *psoc,
1351 bool val);
1352
1353 /**
1354 * ucfg_mlme_get_neighbor_scan_max_chan_time() - Get neighbor scan max
1355 * channel time
1356 * @psoc: pointer to psoc object
1357 * @val: Pointer to the value which will be filled for the caller
1358 *
1359 * Return: QDF Status
1360 */
1361 QDF_STATUS
1362 ucfg_mlme_get_neighbor_scan_max_chan_time(struct wlan_objmgr_psoc *psoc,
1363 uint16_t *val);
1364
1365 /**
1366 * ucfg_mlme_get_neighbor_scan_min_chan_time() - Get neighbor scan min
1367 * channel time
1368 * @psoc: pointer to psoc object
1369 * @val: Pointer to the value which will be filled for the caller
1370 *
1371 * Return: QDF Status
1372 */
1373 QDF_STATUS
1374 ucfg_mlme_get_neighbor_scan_min_chan_time(struct wlan_objmgr_psoc *psoc,
1375 uint16_t *val);
1376
1377 /**
1378 * ucfg_mlme_get_delay_before_vdev_stop() - Get the delay before vdev stop
1379 * @psoc: pointer to psoc object
1380 * @val: Pointer to the value which will be filled for the caller
1381 *
1382 * Return: QDF Status
1383 */
1384 QDF_STATUS
1385 ucfg_mlme_get_delay_before_vdev_stop(struct wlan_objmgr_psoc *psoc,
1386 uint8_t *val);
1387
1388 /**
1389 * ucfg_mlme_get_roam_bmiss_final_bcnt() - Get roam bmiss first count
1390 * @psoc: pointer to psoc object
1391 * @val: Pointer to the value which will be filled for the caller
1392 *
1393 * Return: QDF Status
1394 */
1395 QDF_STATUS
1396 ucfg_mlme_get_roam_bmiss_final_bcnt(struct wlan_objmgr_psoc *psoc,
1397 uint8_t *val);
1398
1399 /**
1400 * ucfg_mlme_validate_roam_bmiss_final_bcnt() - Validate roam bmiss final bcnt
1401 * @bmiss_final_bcnt: Roam bmiss final bcnt
1402 *
1403 * Return: True if bmiss_final_bcnt is in expected range, false otherwise.
1404 */
1405 bool
1406 ucfg_mlme_validate_roam_bmiss_final_bcnt(uint32_t bmiss_final_bcnt);
1407
1408 /**
1409 * ucfg_mlme_get_dual_sta_roaming_enabled() - Get dual sta roaming enable flag
1410 * @psoc: pointer to psoc object
1411 *
1412 * Return: true if dual sta roaming allowed in fw
1413 */
1414 bool
1415 ucfg_mlme_get_dual_sta_roaming_enabled(struct wlan_objmgr_psoc *psoc);
1416
1417 /**
1418 * ucfg_mlme_get_roam_bmiss_first_bcnt() - Get roam bmiss final count
1419 * @psoc: pointer to psoc object
1420 * @val: Pointer to the value which will be filled for the caller
1421 *
1422 * Return: QDF Status
1423 */
1424 QDF_STATUS
1425 ucfg_mlme_get_roam_bmiss_first_bcnt(struct wlan_objmgr_psoc *psoc,
1426 uint8_t *val);
1427
1428 /**
1429 * ucfg_mlme_is_lfr_enabled() - LFR enable or not
1430 * @psoc: pointer to psoc object
1431 * @val: Pointer to the value which will be filled for the caller
1432 *
1433 * Return: QDF Status
1434 */
1435 QDF_STATUS
1436 ucfg_mlme_is_lfr_enabled(struct wlan_objmgr_psoc *psoc, bool *val);
1437
1438 /**
1439 * ucfg_mlme_set_lfr_enabled() - Enable or disable LFR
1440 * @psoc: pointer to psoc object
1441 * @val: Enable or disable LFR
1442 *
1443 * Return: QDF Status
1444 */
1445 QDF_STATUS
1446 ucfg_mlme_set_lfr_enabled(struct wlan_objmgr_psoc *psoc, bool val);
1447
1448 /**
1449 * ucfg_mlme_is_roam_prefer_5ghz() - prefer 5ghz or not
1450 * @psoc: pointer to psoc object
1451 * @val: Pointer to the value which will be filled for the caller
1452 *
1453 * Return: QDF Status
1454 */
1455 QDF_STATUS
1456 ucfg_mlme_is_roam_prefer_5ghz(struct wlan_objmgr_psoc *psoc, bool *val);
1457
1458 /**
1459 * ucfg_mlme_is_roam_intra_band() - Get the preference to roam within band
1460 * @psoc: pointer to psoc object
1461 *
1462 * Return: True if vdev should roam within band, false otherwise
1463 */
1464 bool ucfg_mlme_is_roam_intra_band(struct wlan_objmgr_psoc *psoc);
1465
1466 /**
1467 * ucfg_mlme_set_roam_intra_band() - Set roam intra modes
1468 * @psoc: pointer to psoc object
1469 * @val: roam intra modes or not
1470 *
1471 * Return: QDF Status
1472 */
1473 QDF_STATUS
1474 ucfg_mlme_set_roam_intra_band(struct wlan_objmgr_psoc *psoc, bool val);
1475
1476 /**
1477 * ucfg_mlme_get_home_away_time() - Get home away time
1478 * @psoc: pointer to psoc object
1479 * @val: Pointer to the value which will be filled for the caller
1480 *
1481 * Return: QDF Status
1482 */
1483 QDF_STATUS
1484 ucfg_mlme_get_home_away_time(struct wlan_objmgr_psoc *psoc, uint16_t *val);
1485
1486 /**
1487 * ucfg_mlme_set_fast_roam_in_concurrency_enabled() - Enable fast roam in
1488 * concurrency
1489 * @psoc: pointer to psoc object
1490 * @val: Enable or disable fast roam in concurrency
1491 *
1492 * Return: QDF Status
1493 */
1494 QDF_STATUS
1495 ucfg_mlme_set_fast_roam_in_concurrency_enabled(struct wlan_objmgr_psoc *psoc,
1496 bool val);
1497
1498 /**
1499 * ucfg_mlme_get_wmi_wq_watchdog_timeout() - Get timeout for wmi watchdog bite
1500 * @psoc: pointer to psoc object
1501 * @wmi_wq_watchdog_timeout: buffer to hold value
1502 *
1503 * Return: QDF Status
1504 */
1505 QDF_STATUS
1506 ucfg_mlme_get_wmi_wq_watchdog_timeout(struct wlan_objmgr_psoc *psoc,
1507 uint32_t *wmi_wq_watchdog_timeout);
1508
1509 /**
1510 * ucfg_mlme_set_wmi_wq_watchdog_timeout() - Set timeout for wmi watchdog bite
1511 * @psoc: pointer to psoc object
1512 * @wmi_wq_watchdog_timeout: value to be set
1513 *
1514 * Return: QDF Status
1515 */
1516 QDF_STATUS
1517 ucfg_mlme_set_wmi_wq_watchdog_timeout(struct wlan_objmgr_psoc *psoc,
1518 uint32_t wmi_wq_watchdog_timeout);
1519
1520 /**
1521 * ucfg_mlme_set_sap_listen_interval() - Set the Sap listen interval
1522 * @psoc: pointer to psoc object
1523 * @value: Value that needs to be set from the caller
1524 *
1525 * Inline UCFG API to be used by HDD/OSIF callers
1526 *
1527 * Return: QDF Status
1528 */
1529 static inline
ucfg_mlme_set_sap_listen_interval(struct wlan_objmgr_psoc * psoc,int value)1530 QDF_STATUS ucfg_mlme_set_sap_listen_interval(struct wlan_objmgr_psoc *psoc,
1531 int value)
1532 {
1533 return wlan_mlme_set_sap_listen_interval(psoc, value);
1534 }
1535
1536 /**
1537 * ucfg_mlme_set_assoc_sta_limit() - Set the assoc sta limit
1538 * @psoc: pointer to psoc object
1539 * @value: Value that needs to be set from the caller
1540 *
1541 * Inline UCFG API to be used by HDD/OSIF callers
1542 *
1543 * Return: QDF Status
1544 */
1545 static inline
ucfg_mlme_set_assoc_sta_limit(struct wlan_objmgr_psoc * psoc,int value)1546 QDF_STATUS ucfg_mlme_set_assoc_sta_limit(struct wlan_objmgr_psoc *psoc,
1547 int value)
1548 {
1549 return wlan_mlme_set_assoc_sta_limit(psoc, value);
1550 }
1551
1552 /**
1553 * ucfg_mlme_get_assoc_sta_limit() - Get the assoc sta limit
1554 * @psoc: pointer to psoc object
1555 * @value: Pointer to variable that needs to be filled by MLME
1556 *
1557 * Inline UCFG API to be used by HDD/OSIF callers
1558 *
1559 * Return: QDF Status
1560 */
1561 static inline
ucfg_mlme_get_assoc_sta_limit(struct wlan_objmgr_psoc * psoc,int * value)1562 QDF_STATUS ucfg_mlme_get_assoc_sta_limit(struct wlan_objmgr_psoc *psoc,
1563 int *value)
1564 {
1565 return wlan_mlme_get_assoc_sta_limit(psoc, value);
1566 }
1567
1568 /**
1569 * ucfg_mlme_get_listen_interval() - Get listen interval
1570 * @psoc: pointer to psoc object
1571 * @value: Pointer to variable that needs to be filled by MLME
1572 *
1573 * Inline UCFG API to be used by HDD/OSIF callers
1574 *
1575 * Return: QDF Status
1576 */
1577 static inline
ucfg_mlme_get_listen_interval(struct wlan_objmgr_psoc * psoc,int * value)1578 QDF_STATUS ucfg_mlme_get_listen_interval(struct wlan_objmgr_psoc *psoc,
1579 int *value)
1580 {
1581 return wlan_mlme_get_listen_interval(psoc, value);
1582 }
1583
1584
1585 /**
1586 * ucfg_mlme_get_sap_get_peer_info() - get the sap get peer info
1587 * @psoc: pointer to psoc object
1588 * @value: Value that needs to be set from the caller
1589 *
1590 * Inline UCFG API to be used by HDD/OSIF callers
1591 *
1592 * Return: QDF Status
1593 */
1594 static inline
ucfg_mlme_get_sap_get_peer_info(struct wlan_objmgr_psoc * psoc,bool * value)1595 QDF_STATUS ucfg_mlme_get_sap_get_peer_info(struct wlan_objmgr_psoc *psoc,
1596 bool *value)
1597 {
1598 return wlan_mlme_get_sap_get_peer_info(psoc, value);
1599 }
1600
1601 /**
1602 * ucfg_mlme_set_sap_get_peer_info() - set the sap get peer info
1603 * @psoc: pointer to psoc object
1604 * @value: value to overwrite the sap get peer info
1605 *
1606 * Inline UCFG API to be used by HDD/OSIF callers
1607 *
1608 * Return: QDF Status
1609 */
1610 static inline
ucfg_mlme_set_sap_get_peer_info(struct wlan_objmgr_psoc * psoc,bool value)1611 QDF_STATUS ucfg_mlme_set_sap_get_peer_info(struct wlan_objmgr_psoc *psoc,
1612 bool value)
1613 {
1614 return wlan_mlme_set_sap_get_peer_info(psoc, value);
1615 }
1616
1617 /**
1618 * ucfg_mlme_get_sap_bcast_deauth_enabled() - get the sap bcast deauth
1619 * enabled value
1620 * @psoc: pointer to psoc object
1621 * @value: Value that needs to be get from the caller
1622 *
1623 * Inline UCFG API to be used by HDD/OSIF callers
1624 *
1625 * Return: QDF Status
1626 */
1627 static inline QDF_STATUS
ucfg_mlme_get_sap_bcast_deauth_enabled(struct wlan_objmgr_psoc * psoc,bool * value)1628 ucfg_mlme_get_sap_bcast_deauth_enabled(struct wlan_objmgr_psoc *psoc,
1629 bool *value)
1630 {
1631 return wlan_mlme_get_sap_bcast_deauth_enabled(psoc, value);
1632 }
1633
1634 /**
1635 * ucfg_mlme_is_6g_sap_fd_enabled() - get the sap fils discovery
1636 * enabled value
1637 * @psoc: pointer to psoc object
1638 * @value: Value that needs to be get from the caller
1639 *
1640 * Inline UCFG API to be used by HDD/OSIF callers
1641 *
1642 * Return: QDF Status
1643 */
1644 static inline QDF_STATUS
ucfg_mlme_is_6g_sap_fd_enabled(struct wlan_objmgr_psoc * psoc,bool * value)1645 ucfg_mlme_is_6g_sap_fd_enabled(struct wlan_objmgr_psoc *psoc,
1646 bool *value)
1647 {
1648 return wlan_mlme_is_6g_sap_fd_enabled(psoc, value);
1649 }
1650
1651 /**
1652 * ucfg_mlme_get_sap_allow_all_channels() - get the sap allow all channels
1653 * @psoc: pointer to psoc object
1654 * @value: Value that needs to be set from the caller
1655 *
1656 * Inline UCFG API to be used by HDD/OSIF callers
1657 *
1658 * Return: QDF Status
1659 */
1660 static inline
ucfg_mlme_get_sap_allow_all_channels(struct wlan_objmgr_psoc * psoc,bool * value)1661 QDF_STATUS ucfg_mlme_get_sap_allow_all_channels(struct wlan_objmgr_psoc *psoc,
1662 bool *value)
1663 {
1664 return wlan_mlme_get_sap_allow_all_channels(psoc, value);
1665 }
1666
1667 /**
1668 * ucfg_mlme_get_sap_max_peers() - get the sap max peers
1669 * @psoc: pointer to psoc object
1670 * @value: Value that needs to be set from the caller
1671 *
1672 * Inline UCFG API to be used by HDD/OSIF callers
1673 *
1674 * Return: QDF Status
1675 */
1676 static inline
ucfg_mlme_get_sap_max_peers(struct wlan_objmgr_psoc * psoc,int * value)1677 QDF_STATUS ucfg_mlme_get_sap_max_peers(struct wlan_objmgr_psoc *psoc,
1678 int *value)
1679 {
1680 return wlan_mlme_get_sap_max_peers(psoc, value);
1681 }
1682
1683 /**
1684 * ucfg_mlme_set_sap_max_peers() - Set the sap max peers
1685 * @psoc: pointer to psoc object
1686 * @value: Value that needs to be set from the caller
1687 *
1688 * Inline UCFG API to be used by HDD/OSIF callers
1689 *
1690 * Return: QDF Status
1691 */
1692 static inline
ucfg_mlme_set_sap_max_peers(struct wlan_objmgr_psoc * psoc,int value)1693 QDF_STATUS ucfg_mlme_set_sap_max_peers(struct wlan_objmgr_psoc *psoc, int value)
1694 {
1695 return wlan_mlme_set_sap_max_peers(psoc, value);
1696 }
1697
1698 /**
1699 * ucfg_mlme_get_sap_max_offload_peers() - get the sap max offload peers
1700 * @psoc: pointer to psoc object
1701 * @value: Value that needs to be set from the caller
1702 *
1703 * Inline UCFG API to be used by HDD/OSIF callers
1704 *
1705 * Return: QDF Status
1706 */
1707 static inline
ucfg_mlme_get_sap_max_offload_peers(struct wlan_objmgr_psoc * psoc,int * value)1708 QDF_STATUS ucfg_mlme_get_sap_max_offload_peers(struct wlan_objmgr_psoc *psoc,
1709 int *value)
1710 {
1711 return wlan_mlme_get_sap_max_offload_peers(psoc, value);
1712 }
1713
1714 /**
1715 * ucfg_mlme_get_sap_max_offload_reorder_buffs() - get the sap max offload
1716 * reorder buffs
1717 * @psoc: pointer to psoc object
1718 * @value: Value that needs to be set from the caller
1719 *
1720 * Inline UCFG API to be used by HDD/OSIF callers
1721 *
1722 * Return: QDF Status
1723 */
1724 static inline
ucfg_mlme_get_sap_max_offload_reorder_buffs(struct wlan_objmgr_psoc * psoc,int * value)1725 QDF_STATUS ucfg_mlme_get_sap_max_offload_reorder_buffs(struct wlan_objmgr_psoc
1726 *psoc, int *value)
1727 {
1728 return wlan_mlme_get_sap_max_offload_reorder_buffs(psoc, value);
1729 }
1730
1731 /**
1732 * ucfg_mlme_get_sap_chn_switch_bcn_count() - get the sap channel
1733 * switch beacon count
1734 * @psoc: pointer to psoc object
1735 * @value: Value that needs to be set from the caller
1736 *
1737 * Inline UCFG API to be used by HDD/OSIF callers
1738 *
1739 * Return: QDF Status
1740 */
1741 static inline
ucfg_mlme_get_sap_chn_switch_bcn_count(struct wlan_objmgr_psoc * psoc,int * value)1742 QDF_STATUS ucfg_mlme_get_sap_chn_switch_bcn_count(struct wlan_objmgr_psoc *psoc,
1743 int *value)
1744 {
1745 return wlan_mlme_get_sap_chn_switch_bcn_count(psoc, value);
1746 }
1747
1748 /**
1749 * ucfg_mlme_get_sap_channel_switch_mode() - get the sap channel switch mode
1750 * @psoc: pointer to psoc object
1751 * @value: Value that needs to be set from the caller
1752 *
1753 * Inline UCFG API to be used by HDD/OSIF callers
1754 *
1755 * Return: QDF Status
1756 */
1757 static inline
ucfg_mlme_get_sap_channel_switch_mode(struct wlan_objmgr_psoc * psoc,bool * value)1758 QDF_STATUS ucfg_mlme_get_sap_channel_switch_mode(struct wlan_objmgr_psoc *psoc,
1759 bool *value)
1760 {
1761 return wlan_mlme_get_sap_chn_switch_mode(psoc, value);
1762 }
1763
1764 /**
1765 * ucfg_mlme_get_sap_internal_restart() - get sap internal restart value
1766 * @psoc: pointer to psoc object
1767 * @value: Value that needs to be set from the caller
1768 *
1769 * Inline UCFG API to be used by HDD/OSIF callers
1770 *
1771 * Return: QDF Status
1772 */
1773 static inline
ucfg_mlme_get_sap_internal_restart(struct wlan_objmgr_psoc * psoc,bool * value)1774 QDF_STATUS ucfg_mlme_get_sap_internal_restart(struct wlan_objmgr_psoc *psoc,
1775 bool *value)
1776 {
1777 return wlan_mlme_get_sap_internal_restart(psoc, value);
1778 }
1779
1780 /**
1781 * ucfg_mlme_get_sap_max_modulated_dtim() - get sap max modulated dtim
1782 * @psoc: pointer to psoc object
1783 * @value: Value that needs to be set from the caller
1784 *
1785 * Inline UCFG API to be used by HDD/OSIF callers
1786 *
1787 * Return: QDF Status
1788 */
1789 static inline
ucfg_mlme_get_sap_max_modulated_dtim(struct wlan_objmgr_psoc * psoc,uint8_t * value)1790 QDF_STATUS ucfg_mlme_get_sap_max_modulated_dtim(struct wlan_objmgr_psoc *psoc,
1791 uint8_t *value)
1792 {
1793 return wlan_mlme_get_sap_max_modulated_dtim(psoc, value);
1794 }
1795
1796 /**
1797 * ucfg_mlme_get_pref_chan_location() - get sap pref chan location
1798 * @psoc: pointer to psoc object
1799 * @value: Value that needs to be set from the caller
1800 *
1801 * Inline UCFG API to be used by HDD/OSIF callers
1802 *
1803 * Return: QDF Status
1804 */
1805 static inline
ucfg_mlme_get_pref_chan_location(struct wlan_objmgr_psoc * psoc,uint8_t * value)1806 QDF_STATUS ucfg_mlme_get_pref_chan_location(struct wlan_objmgr_psoc *psoc,
1807 uint8_t *value)
1808 {
1809 return wlan_mlme_get_sap_chan_pref_location(psoc, value);
1810 }
1811
1812 /**
1813 * ucfg_mlme_get_sap_country_priority() - get sap country code priority
1814 * @psoc: pointer to psoc object
1815 * @value: Value that needs to be set from the caller
1816 *
1817 * Inline UCFG API to be used by HDD/OSIF callers
1818 *
1819 * Return: QDF Status
1820 */
1821 static inline
ucfg_mlme_get_sap_country_priority(struct wlan_objmgr_psoc * psoc,bool * value)1822 QDF_STATUS ucfg_mlme_get_sap_country_priority(struct wlan_objmgr_psoc *psoc,
1823 bool *value)
1824 {
1825 return wlan_mlme_get_sap_country_priority(psoc, value);
1826 }
1827
1828 /**
1829 * ucfg_mlme_get_sap_reduces_beacon_interval() - get the sap reduces beacon
1830 * interval
1831 * @psoc: pointer to psoc object
1832 * @value: Value that needs to be set from the caller
1833 *
1834 * Inline UCFG API to be used by HDD/OSIF callers
1835 *
1836 * Return: QDF Status
1837 */
1838 static inline
ucfg_mlme_get_sap_reduces_beacon_interval(struct wlan_objmgr_psoc * psoc,int * value)1839 QDF_STATUS ucfg_mlme_get_sap_reduces_beacon_interval(struct wlan_objmgr_psoc
1840 *psoc, int *value)
1841 {
1842 return wlan_mlme_get_sap_reduced_beacon_interval(psoc, value);
1843 }
1844
1845 /**
1846 * ucfg_mlme_get_sap_chan_switch_rate_enabled() - get the sap channel
1847 * switch rate enabled.
1848 * @psoc: pointer to psoc object
1849 * @value: Value that needs to be set from the caller
1850 *
1851 * Inline UCFG API to be used by HDD/OSIF callers
1852 *
1853 * Return: QDF Status
1854 */
1855 static inline
ucfg_mlme_get_sap_chan_switch_rate_enabled(struct wlan_objmgr_psoc * psoc,bool * value)1856 QDF_STATUS ucfg_mlme_get_sap_chan_switch_rate_enabled(struct wlan_objmgr_psoc
1857 *psoc, bool *value)
1858 {
1859 return wlan_mlme_get_sap_chan_switch_rate_enabled(psoc, value);
1860 }
1861
1862 /**
1863 * ucfg_mlme_get_sap_force_11n_for_11ac() - get the sap 11n for 11ac
1864 *
1865 * @psoc: pointer to psoc object
1866 * @value: Value that needs to be set from the caller
1867 *
1868 * Inline UCFG API to be used by HDD/OSIF callers
1869 *
1870 * Return: QDF Status
1871 */
1872 static inline
ucfg_mlme_get_sap_force_11n_for_11ac(struct wlan_objmgr_psoc * psoc,bool * value)1873 QDF_STATUS ucfg_mlme_get_sap_force_11n_for_11ac(struct wlan_objmgr_psoc
1874 *psoc, bool *value)
1875 {
1876 return wlan_mlme_get_sap_force_11n_for_11ac(psoc, value);
1877 }
1878
1879 /**
1880 * ucfg_mlme_get_go_force_11n_for_11ac() - get the GO 11n for 11ac
1881 *
1882 * @psoc: pointer to psoc object
1883 * @value: Value that needs to be set from the caller
1884 *
1885 * Inline UCFG API to be used by HDD/OSIF callers
1886 *
1887 * Return: QDF Status
1888 */
1889 static inline
ucfg_mlme_get_go_force_11n_for_11ac(struct wlan_objmgr_psoc * psoc,bool * value)1890 QDF_STATUS ucfg_mlme_get_go_force_11n_for_11ac(struct wlan_objmgr_psoc
1891 *psoc, bool *value)
1892 {
1893 return wlan_mlme_get_go_force_11n_for_11ac(psoc, value);
1894 }
1895
1896 /**
1897 * ucfg_mlme_is_sap_11ac_override() - Override 11ac bandwdith for SAP
1898 *
1899 * @psoc: pointer to psoc object
1900 * @value: Value that needs to be set from the caller
1901 *
1902 * Return: QDF Status
1903 */
1904 static inline
ucfg_mlme_is_sap_11ac_override(struct wlan_objmgr_psoc * psoc,bool * value)1905 QDF_STATUS ucfg_mlme_is_sap_11ac_override(struct wlan_objmgr_psoc *psoc,
1906 bool *value)
1907 {
1908 return wlan_mlme_is_sap_11ac_override(psoc, value);
1909 }
1910
1911 /**
1912 * ucfg_mlme_is_go_11ac_override() - Override 11ac bandwdith for P2P GO
1913 *
1914 * @psoc: pointer to psoc object
1915 * @value: pointer to the value which will be filled for the caller
1916 *
1917 * Return: QDF Status
1918 */
1919 static inline
ucfg_mlme_is_go_11ac_override(struct wlan_objmgr_psoc * psoc,bool * value)1920 QDF_STATUS ucfg_mlme_is_go_11ac_override(struct wlan_objmgr_psoc *psoc,
1921 bool *value)
1922 {
1923 return wlan_mlme_is_go_11ac_override(psoc, value);
1924 }
1925
1926 /**
1927 * ucfg_mlme_set_sap_11ac_override() - Set override 11ac bandwdith for SAP
1928 *
1929 * @psoc: pointer to psoc object
1930 * @value: Value that needs to be set from the caller
1931 *
1932 * Return: QDF Status
1933 */
1934 static inline
ucfg_mlme_set_sap_11ac_override(struct wlan_objmgr_psoc * psoc,bool value)1935 QDF_STATUS ucfg_mlme_set_sap_11ac_override(struct wlan_objmgr_psoc *psoc,
1936 bool value)
1937 {
1938 return wlan_mlme_set_sap_11ac_override(psoc, value);
1939 }
1940
1941 /**
1942 * ucfg_mlme_set_go_11ac_override() - Set override 11ac bandwdith for P2P GO
1943 *
1944 * @psoc: pointer to psoc object
1945 * @value: pointer to the value which will be filled for the caller
1946 *
1947 * Return: QDF Status
1948 */
1949 static inline
ucfg_mlme_set_go_11ac_override(struct wlan_objmgr_psoc * psoc,bool value)1950 QDF_STATUS ucfg_mlme_set_go_11ac_override(struct wlan_objmgr_psoc *psoc,
1951 bool value)
1952 {
1953 return wlan_mlme_set_go_11ac_override(psoc, value);
1954 }
1955
1956 /**
1957 * ucfg_mlme_get_oce_sta_enabled_info() - Get OCE feature enable/disable
1958 * info for STA
1959 *
1960 * @psoc: pointer to psoc object
1961 * @value: pointer to the value which will be filled for the caller
1962 *
1963 * Inline UCFG API to be used by HDD/OSIF callers to get the
1964 * OCE STA feature enable value
1965 *
1966 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
1967 */
1968 static inline
ucfg_mlme_get_oce_sta_enabled_info(struct wlan_objmgr_psoc * psoc,bool * value)1969 QDF_STATUS ucfg_mlme_get_oce_sta_enabled_info(struct wlan_objmgr_psoc *psoc,
1970 bool *value)
1971 {
1972 return wlan_mlme_get_oce_sta_enabled_info(psoc, value);
1973 }
1974
1975 /**
1976 * ucfg_mlme_get_bigtk_support() - Get whether bigtk is supported or not.
1977 *
1978 * @psoc: pointer to psoc object
1979 * @value: pointer to the value which will be filled for the caller
1980 *
1981 * Inline UCFG API to be used by HDD/OSIF callers to get the BIGTK support
1982 *
1983 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
1984 */
1985 static inline
ucfg_mlme_get_bigtk_support(struct wlan_objmgr_psoc * psoc,bool * value)1986 QDF_STATUS ucfg_mlme_get_bigtk_support(struct wlan_objmgr_psoc *psoc,
1987 bool *value)
1988 {
1989 return wlan_mlme_get_bigtk_support(psoc, value);
1990 }
1991
1992 /**
1993 * ucfg_mlme_get_ocv_support() - Get whether ocv is supported or not.
1994 *
1995 * @psoc: pointer to psoc object
1996 * @value: pointer to the value which will be filled for the caller
1997 *
1998 * Inline UCFG API to be used by HDD/OSIF callers to get the OCV support
1999 *
2000 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2001 */
2002 static inline
ucfg_mlme_get_ocv_support(struct wlan_objmgr_psoc * psoc,bool * value)2003 QDF_STATUS ucfg_mlme_get_ocv_support(struct wlan_objmgr_psoc *psoc,
2004 bool *value)
2005 {
2006 return wlan_mlme_get_ocv_support(psoc, value);
2007 }
2008
2009 /**
2010 * ucfg_mlme_get_oce_sap_enabled_info() - Get OCE feature enable/disable
2011 * info for SAP
2012 *
2013 * @psoc: pointer to psoc object
2014 * @value: pointer to the value which will be filled for the caller
2015 *
2016 * Inline UCFG API to be used by HDD/OSIF callers to get the
2017 * OCE SAP feature enable value
2018 *
2019 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2020 */
2021 static inline
ucfg_mlme_get_oce_sap_enabled_info(struct wlan_objmgr_psoc * psoc,bool * value)2022 QDF_STATUS ucfg_mlme_get_oce_sap_enabled_info(struct wlan_objmgr_psoc *psoc,
2023 bool *value)
2024 {
2025 return wlan_mlme_get_oce_sap_enabled_info(psoc, value);
2026 }
2027
2028 /**
2029 * ucfg_mlme_update_oce_flags: Update the OCE flags
2030 *
2031 * @pdev: pointer to pdev object
2032 *
2033 * Inline UCFG API to be used by HDD/OSIF callers to update the
2034 * OCE feature flags
2035 *
2036 * Return: void
2037 */
2038 static inline
ucfg_mlme_update_oce_flags(struct wlan_objmgr_pdev * pdev)2039 void ucfg_mlme_update_oce_flags(struct wlan_objmgr_pdev *pdev)
2040 {
2041 wlan_mlme_update_oce_flags(pdev);
2042 }
2043
2044 /**
2045 * ucfg_mlme_is_ap_prot_enabled() - Check if sap is enabled
2046 * @psoc: pointer to psoc object
2047 *
2048 * Inline UCFG API to be used by HDD/OSIF callers to get the
2049 * sap protection enabled/disabled
2050 *
2051 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2052 */
2053 static inline
ucfg_mlme_is_ap_prot_enabled(struct wlan_objmgr_psoc * psoc)2054 bool ucfg_mlme_is_ap_prot_enabled(struct wlan_objmgr_psoc *psoc)
2055 {
2056 return wlan_mlme_is_ap_prot_enabled(psoc);
2057 }
2058
2059 /**
2060 * ucfg_mlme_get_ap_protection_mode() - Get ap protection mode info
2061 * @psoc: pointer to psoc object
2062 * @value: pointer to the value which will be filled for the caller
2063 *
2064 * Inline UCFG API to be used by HDD/OSIF callers to get the
2065 * ap protection mode value
2066 *
2067 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2068 */
2069 static inline
ucfg_mlme_get_ap_protection_mode(struct wlan_objmgr_psoc * psoc,uint16_t * value)2070 QDF_STATUS ucfg_mlme_get_ap_protection_mode(struct wlan_objmgr_psoc *psoc,
2071 uint16_t *value)
2072 {
2073 return wlan_mlme_get_ap_protection_mode(psoc, value);
2074 }
2075
2076 /**
2077 * ucfg_mlme_is_ap_obss_prot_enabled() - Get ap obss protection enable/disable
2078 * @psoc: pointer to psoc object
2079 * @value: pointer to the value which will be filled for the caller
2080 *
2081 * Inline UCFG API to be used by HDD/OSIF callers to get the
2082 * obss protection enable value
2083 *
2084 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2085 */
2086 static inline
ucfg_mlme_is_ap_obss_prot_enabled(struct wlan_objmgr_psoc * psoc,bool * value)2087 QDF_STATUS ucfg_mlme_is_ap_obss_prot_enabled(struct wlan_objmgr_psoc *psoc,
2088 bool *value)
2089 {
2090 return wlan_mlme_is_ap_obss_prot_enabled(psoc, value);
2091 }
2092
2093 /**
2094 * ucfg_mlme_get_rts_threshold() - Get the rts threshold config
2095 * @psoc: pointer to psoc object
2096 * @value: pointer to the value which will be filled for the caller
2097 *
2098 * Inline UCFG API to be used by HDD/OSIF callers
2099 *
2100 * Return: QDF Status
2101 */
2102 static inline
ucfg_mlme_get_rts_threshold(struct wlan_objmgr_psoc * psoc,uint32_t * value)2103 QDF_STATUS ucfg_mlme_get_rts_threshold(struct wlan_objmgr_psoc *psoc,
2104 uint32_t *value)
2105 {
2106 return wlan_mlme_get_rts_threshold(psoc, value);
2107 }
2108
2109 /**
2110 * ucfg_mlme_set_rts_threshold() - Set the rts threshold config
2111 * @psoc: pointer to psoc object
2112 * @value: pointer to the value which will be filled for the caller
2113 *
2114 * Inline UCFG API to be used by HDD/OSIF callers
2115 *
2116 * Return: QDF Status
2117 */
2118 static inline
ucfg_mlme_set_rts_threshold(struct wlan_objmgr_psoc * psoc,uint32_t value)2119 QDF_STATUS ucfg_mlme_set_rts_threshold(struct wlan_objmgr_psoc *psoc,
2120 uint32_t value)
2121 {
2122 return wlan_mlme_set_rts_threshold(psoc, value);
2123 }
2124
2125 /**
2126 * ucfg_mlme_get_frag_threshold() - Get the fragmentation threshold
2127 * config
2128 * @psoc: pointer to psoc object
2129 * @value: Value that needs to be set from the caller
2130 *
2131 * Inline UCFG API to be used by HDD/OSIF callers
2132 *
2133 * Return: QDF Status
2134 */
2135 static inline
ucfg_mlme_get_frag_threshold(struct wlan_objmgr_psoc * psoc,uint32_t * value)2136 QDF_STATUS ucfg_mlme_get_frag_threshold(struct wlan_objmgr_psoc *psoc,
2137 uint32_t *value)
2138 {
2139 return wlan_mlme_get_frag_threshold(psoc, value);
2140 }
2141
2142 /**
2143 * ucfg_mlme_set_frag_threshold() - set the frag threshold config
2144 * @psoc: pointer to psoc object
2145 * @value: pointer to the value which will be filled for the caller
2146 *
2147 * Inline UCFG API to be used by HDD/OSIF callers
2148 *
2149 * Return: QDF Status
2150 */
2151 static inline
ucfg_mlme_set_frag_threshold(struct wlan_objmgr_psoc * psoc,uint32_t value)2152 QDF_STATUS ucfg_mlme_set_frag_threshold(struct wlan_objmgr_psoc *psoc,
2153 uint32_t value)
2154 {
2155 return wlan_mlme_set_frag_threshold(psoc, value);
2156 }
2157
2158 /**
2159 * ucfg_mlme_get_fils_enabled_info() - Get fils enable/disable info
2160 *
2161 * @psoc: pointer to psoc object
2162 * @value: pointer to the value which will be filled for the caller
2163 *
2164 * Inline UCFG API to be used by HDD/OSIF callers to get the
2165 * fils enable value
2166 *
2167 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2168 */
2169 static inline
ucfg_mlme_get_fils_enabled_info(struct wlan_objmgr_psoc * psoc,bool * value)2170 QDF_STATUS ucfg_mlme_get_fils_enabled_info(struct wlan_objmgr_psoc *psoc,
2171 bool *value)
2172 {
2173 return wlan_mlme_get_fils_enabled_info(psoc, value);
2174 }
2175
2176 /**
2177 * ucfg_mlme_set_fils_enabled_info() - Set fils enable info
2178 *
2179 * @psoc: pointer to psoc object
2180 * @value: value that needs to be set from the caller
2181 *
2182 * Inline UCFG API to be used by HDD/OSIF callers to set the
2183 * fils enable value
2184 *
2185 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2186 */
2187 static inline
ucfg_mlme_set_fils_enabled_info(struct wlan_objmgr_psoc * psoc,bool value)2188 QDF_STATUS ucfg_mlme_set_fils_enabled_info(struct wlan_objmgr_psoc *psoc,
2189 bool value)
2190 {
2191 return wlan_mlme_set_fils_enabled_info(psoc, value);
2192 }
2193
2194 /**
2195 * ucfg_mlme_set_primary_interface() - Set primary STA iface id
2196 *
2197 * @psoc: pointer to psoc object
2198 * @value: value that needs to be set from the caller
2199 *
2200 * When a vdev is set as primary then based on the dual sta policy
2201 * "qca_wlan_concurrent_sta_policy_config" mcc preference and roaming has
2202 * to be enabled on the primary vdev
2203 *
2204 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2205 */
2206 static inline
ucfg_mlme_set_primary_interface(struct wlan_objmgr_psoc * psoc,uint8_t value)2207 QDF_STATUS ucfg_mlme_set_primary_interface(struct wlan_objmgr_psoc *psoc,
2208 uint8_t value)
2209 {
2210 return wlan_mlme_set_primary_interface(psoc, value);
2211 }
2212
2213 /**
2214 * ucfg_mlme_get_mcc_duty_cycle_percentage() - Get primary STA iface MCC
2215 * duty-cycle
2216 * @pdev: pointer to pdev object
2217 *
2218 * primary and secondary STA iface MCC duty-cycle value in below format
2219 * ******************************************************
2220 * |bit 31-24 | bit 23-16 | bits 15-8 |bits 7-0 |
2221 * | Unused | Quota for | chan. # for |chan. # for|
2222 * | | 1st chan | 1st chan. |2nd chan. |
2223 * *****************************************************
2224 *
2225 * Return: primary iface MCC duty-cycle value
2226 */
2227 static inline
ucfg_mlme_get_mcc_duty_cycle_percentage(struct wlan_objmgr_pdev * pdev)2228 int ucfg_mlme_get_mcc_duty_cycle_percentage(struct wlan_objmgr_pdev *pdev)
2229 {
2230 return wlan_mlme_get_mcc_duty_cycle_percentage(pdev);
2231 }
2232
2233 /**
2234 * ucfg_mlme_set_enable_bcast_probe_rsp() - Set enable bcast probe resp info
2235 * @psoc: pointer to psoc object
2236 * @value: value that needs to be set from the caller
2237 *
2238 * Inline UCFG API to be used by HDD/OSIF callers to set the
2239 * enable bcast probe resp info
2240 *
2241 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2242 */
2243 static inline
ucfg_mlme_set_enable_bcast_probe_rsp(struct wlan_objmgr_psoc * psoc,bool value)2244 QDF_STATUS ucfg_mlme_set_enable_bcast_probe_rsp(struct wlan_objmgr_psoc *psoc,
2245 bool value)
2246 {
2247 return wlan_mlme_set_enable_bcast_probe_rsp(psoc, value);
2248 }
2249
2250 /**
2251 * ucfg_mlme_set_vht_ch_width() - set the vht supported channel width cfg
2252 * @psoc: psoc context
2253 * @value: data to be set
2254 *
2255 * Inline UCFG API to be used by HDD/OSIF callers
2256 *
2257 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2258 */
2259 static inline QDF_STATUS
ucfg_mlme_set_vht_ch_width(struct wlan_objmgr_psoc * psoc,uint8_t value)2260 ucfg_mlme_set_vht_ch_width(struct wlan_objmgr_psoc *psoc, uint8_t value)
2261 {
2262 return wlan_mlme_cfg_set_vht_chan_width(psoc, value);
2263 }
2264
2265 /**
2266 * ucfg_mlme_cfg_get_vht_chan_width() - gets vht supported channel width into
2267 * cfg item
2268 * @psoc: psoc context
2269 * @value: data to be set
2270 *
2271 * Inline UCFG API to be used by HDD/OSIF callers
2272 *
2273 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2274 */
2275 static inline QDF_STATUS
ucfg_mlme_cfg_get_vht_chan_width(struct wlan_objmgr_psoc * psoc,uint8_t * value)2276 ucfg_mlme_cfg_get_vht_chan_width(struct wlan_objmgr_psoc *psoc, uint8_t *value)
2277 {
2278 return wlan_mlme_cfg_get_vht_chan_width(psoc, value);
2279 }
2280
2281 /**
2282 * ucfg_mlme_cfg_set_vht_ldpc_coding_cap() - sets vht ldpc coding cap into
2283 * cfg item
2284 * @psoc: psoc context
2285 * @value: data to be set
2286 *
2287 * Inline UCFG API to be used by HDD/OSIF callers
2288 *
2289 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2290 */
2291 static inline QDF_STATUS
ucfg_mlme_cfg_set_vht_ldpc_coding_cap(struct wlan_objmgr_psoc * psoc,bool value)2292 ucfg_mlme_cfg_set_vht_ldpc_coding_cap(struct wlan_objmgr_psoc *psoc, bool value)
2293 {
2294 return wlan_mlme_cfg_set_vht_ldpc_coding_cap(psoc, value);
2295 }
2296
2297 /**
2298 * ucfg_mlme_cfg_get_short_gi_160_mhz() - Get SHORT GI 160MHZ from cfg item
2299 * @psoc: psoc context
2300 * @value: data to be set
2301 *
2302 * Inline UCFG API to be used by HDD/OSIF callers to get the
2303 * ignore_peer_ht_opmode flag value
2304 *
2305 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2306 */
2307 static inline QDF_STATUS
ucfg_mlme_cfg_get_short_gi_160_mhz(struct wlan_objmgr_psoc * psoc,bool * value)2308 ucfg_mlme_cfg_get_short_gi_160_mhz(struct wlan_objmgr_psoc *psoc, bool *value)
2309 {
2310 return wlan_mlme_cfg_get_short_gi_160_mhz(psoc, value);
2311 }
2312
2313 /**
2314 * ucfg_mlme_cfg_set_short_gi_160_mhz() - sets basic set SHORT GI 160MHZ into
2315 * cfg item
2316 * @psoc: psoc context
2317 * @value: data to be set
2318 *
2319 * Inline UCFG API to be used by HDD/OSIF callers to get the
2320 * ignore_peer_ht_opmode flag value
2321 *
2322 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2323 */
2324 static inline QDF_STATUS
ucfg_mlme_cfg_set_short_gi_160_mhz(struct wlan_objmgr_psoc * psoc,bool value)2325 ucfg_mlme_cfg_set_short_gi_160_mhz(struct wlan_objmgr_psoc *psoc, bool value)
2326 {
2327 return wlan_mlme_cfg_set_short_gi_160_mhz(psoc, value);
2328 }
2329
2330 /**
2331 * ucfg_mlme_cfg_get_vht_tx_stbc() - gets vht tx stbc from
2332 * cfg item
2333 * @psoc: psoc context
2334 * @value: pointer to get required data
2335 *
2336 * Inline UCFG API to be used by HDD/OSIF callers to get the
2337 * ignore_peer_ht_opmode flag value
2338 *
2339 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2340 */
2341 static inline QDF_STATUS
ucfg_mlme_cfg_get_vht_tx_stbc(struct wlan_objmgr_psoc * psoc,bool * value)2342 ucfg_mlme_cfg_get_vht_tx_stbc(struct wlan_objmgr_psoc *psoc, bool *value)
2343 {
2344 return wlan_mlme_cfg_get_vht_tx_stbc(psoc, value);
2345 }
2346
2347 /**
2348 * ucfg_mlme_cfg_get_vht_rx_stbc() - gets vht rx stbc from
2349 * cfg item
2350 * @psoc: psoc context
2351 * @value: pointer to get required data
2352 *
2353 * Inline UCFG API to be used by HDD/OSIF callers to get the
2354 * ignore_peer_ht_opmode flag value
2355 *
2356 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2357 */
2358 static inline QDF_STATUS
ucfg_mlme_cfg_get_vht_rx_stbc(struct wlan_objmgr_psoc * psoc,bool * value)2359 ucfg_mlme_cfg_get_vht_rx_stbc(struct wlan_objmgr_psoc *psoc, bool *value)
2360 {
2361 return wlan_mlme_cfg_get_vht_rx_stbc(psoc, value);
2362 }
2363
2364 /**
2365 * ucfg_mlme_cfg_set_vht_tx_bfee_ant_supp() - sets vht Beamformee antenna
2366 * support cap into cfg item
2367 * @psoc: psoc context
2368 * @value: data to be set
2369 *
2370 * Inline UCFG API to be used by HDD/OSIF callers
2371 *
2372 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2373 */
2374 static inline
ucfg_mlme_cfg_set_vht_tx_bfee_ant_supp(struct wlan_objmgr_psoc * psoc,uint8_t value)2375 QDF_STATUS ucfg_mlme_cfg_set_vht_tx_bfee_ant_supp(struct wlan_objmgr_psoc *psoc,
2376 uint8_t value)
2377 {
2378 return wlan_mlme_cfg_set_vht_tx_bfee_ant_supp(psoc, value);
2379 }
2380
2381 /**
2382 * ucfg_mlme_cfg_get_vht_tx_bfee_ant_supp() - gets vht Beamformee antenna
2383 * support cap into cfg item
2384 * @psoc: psoc context
2385 * @value: data to be set
2386 *
2387 * Inline UCFG API to be used by HDD/OSIF callers
2388 *
2389 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2390 */
2391 static inline
ucfg_mlme_cfg_get_vht_tx_bfee_ant_supp(struct wlan_objmgr_psoc * psoc,uint8_t * value)2392 QDF_STATUS ucfg_mlme_cfg_get_vht_tx_bfee_ant_supp(struct wlan_objmgr_psoc *psoc,
2393 uint8_t *value)
2394 {
2395 return wlan_mlme_cfg_get_vht_tx_bfee_ant_supp(psoc, value);
2396 }
2397
2398 /**
2399 * ucfg_mlme_cfg_get_vht_rx_mcs_map() - gets vht rx mcs map from
2400 * cfg item
2401 * @psoc: psoc context
2402 * @value: pointer to get required data
2403 *
2404 * Inline UCFG API to be used by HDD/OSIF callers to get the
2405 * ignore_peer_ht_opmode flag value
2406 *
2407 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2408 */
2409 static inline QDF_STATUS
ucfg_mlme_cfg_get_vht_rx_mcs_map(struct wlan_objmgr_psoc * psoc,uint32_t * value)2410 ucfg_mlme_cfg_get_vht_rx_mcs_map(struct wlan_objmgr_psoc *psoc, uint32_t *value)
2411 {
2412 return wlan_mlme_cfg_get_vht_rx_mcs_map(psoc, value);
2413 }
2414
2415 /**
2416 * ucfg_mlme_cfg_set_vht_rx_mcs_map() - sets rx mcs map into
2417 * cfg item
2418 * @psoc: psoc context
2419 * @value: data to be set
2420 *
2421 * Inline UCFG API to be used by HDD/OSIF callers
2422 *
2423 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2424 */
2425 static inline QDF_STATUS
ucfg_mlme_cfg_set_vht_rx_mcs_map(struct wlan_objmgr_psoc * psoc,uint32_t value)2426 ucfg_mlme_cfg_set_vht_rx_mcs_map(struct wlan_objmgr_psoc *psoc, uint32_t value)
2427 {
2428 return wlan_mlme_cfg_set_vht_rx_mcs_map(psoc, value);
2429 }
2430
2431 /**
2432 * ucfg_mlme_cfg_get_vht_tx_mcs_map() - gets vht tx mcs map from
2433 * cfg item
2434 * @psoc: psoc context
2435 * @value: pointer to get required data
2436 *
2437 * Inline UCFG API to be used by HDD/OSIF callers to get the
2438 * ignore_peer_ht_opmode flag value
2439 *
2440 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2441 */
2442 static inline QDF_STATUS
ucfg_mlme_cfg_get_vht_tx_mcs_map(struct wlan_objmgr_psoc * psoc,uint32_t * value)2443 ucfg_mlme_cfg_get_vht_tx_mcs_map(struct wlan_objmgr_psoc *psoc, uint32_t *value)
2444 {
2445 return wlan_mlme_cfg_get_vht_tx_mcs_map(psoc, value);
2446 }
2447
2448 /**
2449 * ucfg_mlme_cfg_set_vht_tx_mcs_map() - sets tx mcs map into
2450 * cfg item
2451 * @psoc: psoc context
2452 * @value: data to be set
2453 *
2454 * Inline UCFG API to be used by HDD/OSIF callers
2455 *
2456 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2457 */
2458 static inline QDF_STATUS
ucfg_mlme_cfg_set_vht_tx_mcs_map(struct wlan_objmgr_psoc * psoc,uint32_t value)2459 ucfg_mlme_cfg_set_vht_tx_mcs_map(struct wlan_objmgr_psoc *psoc, uint32_t value)
2460 {
2461 return wlan_mlme_cfg_set_vht_tx_mcs_map(psoc, value);
2462 }
2463
2464 /**
2465 * ucfg_mlme_cfg_set_vht_rx_supp_data_rate() - sets rx supported data
2466 * rate into cfg item
2467 * @psoc: psoc context
2468 * @value: data to be set
2469 *
2470 * Inline UCFG API to be used by HDD/OSIF callers
2471 *
2472 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2473 */
2474 static inline QDF_STATUS
ucfg_mlme_cfg_set_vht_rx_supp_data_rate(struct wlan_objmgr_psoc * psoc,uint32_t value)2475 ucfg_mlme_cfg_set_vht_rx_supp_data_rate(struct wlan_objmgr_psoc *psoc,
2476 uint32_t value)
2477 {
2478 return wlan_mlme_cfg_set_vht_rx_supp_data_rate(psoc, value);
2479 }
2480
2481 /**
2482 * ucfg_mlme_cfg_set_vht_tx_supp_data_rate() - sets tx supported data rate into
2483 * cfg item
2484 * @psoc: psoc context
2485 * @value: data to be set
2486 *
2487 * Inline UCFG API to be used by HDD/OSIF callers
2488 *
2489 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2490 */
2491 static inline QDF_STATUS
ucfg_mlme_cfg_set_vht_tx_supp_data_rate(struct wlan_objmgr_psoc * psoc,uint32_t value)2492 ucfg_mlme_cfg_set_vht_tx_supp_data_rate(struct wlan_objmgr_psoc *psoc,
2493 uint32_t value)
2494 {
2495 return wlan_mlme_cfg_set_vht_tx_supp_data_rate(psoc, value);
2496 }
2497
2498 /**
2499 * ucfg_mlme_cfg_get_vht_basic_mcs_set() - gets basic mcs set from
2500 * cfg item
2501 * @psoc: psoc context
2502 * @value: data to be set
2503 *
2504 * Inline UCFG API to be used by HDD/OSIF callers to get the
2505 * ignore_peer_ht_opmode flag value
2506 *
2507 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2508 */
2509 static inline QDF_STATUS
ucfg_mlme_cfg_get_vht_basic_mcs_set(struct wlan_objmgr_psoc * psoc,uint32_t * value)2510 ucfg_mlme_cfg_get_vht_basic_mcs_set(struct wlan_objmgr_psoc *psoc,
2511 uint32_t *value)
2512 {
2513 return wlan_mlme_cfg_get_vht_basic_mcs_set(psoc, value);
2514 }
2515
2516 /**
2517 * ucfg_mlme_cfg_set_vht_basic_mcs_set() - sets basic mcs set into
2518 * cfg item
2519 * @psoc: psoc context
2520 * @value: data to be set
2521 *
2522 * Inline UCFG API to be used by HDD/OSIF callers to get the
2523 * ignore_peer_ht_opmode flag value
2524 *
2525 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2526 */
2527 static inline QDF_STATUS
ucfg_mlme_cfg_set_vht_basic_mcs_set(struct wlan_objmgr_psoc * psoc,uint32_t value)2528 ucfg_mlme_cfg_set_vht_basic_mcs_set(struct wlan_objmgr_psoc *psoc,
2529 uint32_t value)
2530 {
2531 return wlan_mlme_cfg_set_vht_basic_mcs_set(psoc, value);
2532 }
2533
2534 /**
2535 * ucfg_mlme_get_vht_enable_tx_bf() - gets enable TXBF for 20MHZ
2536 * for 11ac
2537 * @psoc: psoc context
2538 * @value: data to be set
2539 *
2540 * Inline UCFG API to be used by HDD/OSIF callers to get the
2541 * ignore_peer_ht_opmode flag value
2542 *
2543 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2544 */
2545 static inline QDF_STATUS
ucfg_mlme_get_vht_enable_tx_bf(struct wlan_objmgr_psoc * psoc,bool * value)2546 ucfg_mlme_get_vht_enable_tx_bf(struct wlan_objmgr_psoc *psoc, bool *value)
2547 {
2548 return wlan_mlme_get_vht_enable_tx_bf(psoc, value);
2549 }
2550
2551 /**
2552 * ucfg_mlme_get_vht_tx_su_beamformer() - gets enable tx_su_beamformer
2553 * for 11ac
2554 * @psoc: psoc context
2555 * @value: data to be set
2556 *
2557 * Inline UCFG API to be used by HDD/OSIF callers to get the
2558 * ignore_peer_ht_opmode flag value
2559 *
2560 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2561 */
2562 static inline QDF_STATUS
ucfg_mlme_get_vht_tx_su_beamformer(struct wlan_objmgr_psoc * psoc,bool * value)2563 ucfg_mlme_get_vht_tx_su_beamformer(struct wlan_objmgr_psoc *psoc, bool *value)
2564 {
2565 return wlan_mlme_get_vht_tx_su_beamformer(psoc, value);
2566 }
2567
2568 /**
2569 * ucfg_mlme_get_vht_channel_width() - gets Channel width capability
2570 * for 11ac
2571 * @psoc: psoc context
2572 * @value: data to be set
2573 *
2574 * Inline UCFG API to be used by HDD/OSIF callers to get the
2575 * ignore_peer_ht_opmode flag value
2576 *
2577 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2578 */
2579 static inline QDF_STATUS
ucfg_mlme_get_vht_channel_width(struct wlan_objmgr_psoc * psoc,uint8_t * value)2580 ucfg_mlme_get_vht_channel_width(struct wlan_objmgr_psoc *psoc, uint8_t *value)
2581 {
2582 return wlan_mlme_get_vht_channel_width(psoc, value);
2583 }
2584
2585 /**
2586 * ucfg_mlme_get_vht_rx_mcs_8_9() - VHT Rx MCS capability for 1x1 mode
2587 * for 11ac
2588 * @psoc: psoc context
2589 * @value: data to be set
2590 *
2591 * Inline UCFG API to be used by HDD/OSIF callers to get the
2592 * ignore_peer_ht_opmode flag value
2593 *
2594 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2595 */
2596 static inline QDF_STATUS
ucfg_mlme_get_vht_rx_mcs_8_9(struct wlan_objmgr_psoc * psoc,uint8_t * value)2597 ucfg_mlme_get_vht_rx_mcs_8_9(struct wlan_objmgr_psoc *psoc, uint8_t *value)
2598 {
2599 return wlan_mlme_get_vht_rx_mcs_8_9(psoc, value);
2600 }
2601
2602 /**
2603 * ucfg_mlme_get_vht_tx_mcs_8_9() - VHT Tx MCS capability for 1x1 mode
2604 * for 11ac
2605 * @psoc: psoc context
2606 * @value: data to be set
2607 *
2608 * Inline UCFG API to be used by HDD/OSIF callers to get the
2609 * ignore_peer_ht_opmode flag value
2610 *
2611 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2612 */
2613 static inline QDF_STATUS
ucfg_mlme_get_vht_tx_mcs_8_9(struct wlan_objmgr_psoc * psoc,uint8_t * value)2614 ucfg_mlme_get_vht_tx_mcs_8_9(struct wlan_objmgr_psoc *psoc, uint8_t *value)
2615 {
2616 return wlan_mlme_get_vht_tx_mcs_8_9(psoc, value);
2617 }
2618
2619 /**
2620 * ucfg_mlme_get_vht_rx_mcs_2x2() - VHT Rx MCS capability for 2x2 mode
2621 * for 11ac
2622 * @psoc: psoc context
2623 * @value: data to be set
2624 *
2625 * Inline UCFG API to be used by HDD/OSIF callers to get the
2626 * ignore_peer_ht_opmode flag value
2627 *
2628 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2629 */
2630 static inline QDF_STATUS
ucfg_mlme_get_vht_rx_mcs_2x2(struct wlan_objmgr_psoc * psoc,uint8_t * value)2631 ucfg_mlme_get_vht_rx_mcs_2x2(struct wlan_objmgr_psoc *psoc, uint8_t *value)
2632 {
2633 return wlan_mlme_get_vht_rx_mcs_2x2(psoc, value);
2634 }
2635
2636 /**
2637 * ucfg_mlme_get_vht_tx_mcs_2x2() - VHT Tx MCS capability for 2x2 mode
2638 * for 11ac
2639 * @psoc: psoc context
2640 * @value: data to be set
2641 *
2642 * Inline UCFG API to be used by HDD/OSIF callers to get the
2643 * ignore_peer_ht_opmode flag value
2644 *
2645 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2646 */
2647 static inline QDF_STATUS
ucfg_mlme_get_vht_tx_mcs_2x2(struct wlan_objmgr_psoc * psoc,uint8_t * value)2648 ucfg_mlme_get_vht_tx_mcs_2x2(struct wlan_objmgr_psoc *psoc, uint8_t *value)
2649 {
2650 return wlan_mlme_get_vht_tx_mcs_2x2(psoc, value);
2651 }
2652
2653 /**
2654 * ucfg_mlme_peer_get_assoc_rsp_ies() - Get assoc response sent to peer
2655 * @peer: WLAN peer objmgr
2656 * @ie_buf: Pointer to IE buffer
2657 * @ie_len: Length of the IE buffer
2658 *
2659 * This API is used to get the assoc response sent to peer
2660 * as part of association.
2661 * Caller to hold reference for peer.
2662 *
2663 * Return: QDF_STATUS
2664 */
2665 static inline QDF_STATUS
ucfg_mlme_peer_get_assoc_rsp_ies(struct wlan_objmgr_peer * peer,const uint8_t ** ie_buf,size_t * ie_len)2666 ucfg_mlme_peer_get_assoc_rsp_ies(struct wlan_objmgr_peer *peer,
2667 const uint8_t **ie_buf,
2668 size_t *ie_len)
2669 {
2670 return wlan_mlme_peer_get_assoc_rsp_ies(peer, ie_buf, ie_len);
2671 }
2672
2673 /**
2674 * ucfg_mlme_get_ini_vdev_config() - get the ini capability of vdev
2675 * @vdev: pointer to the vdev obj
2676 *
2677 * This API will get the ini config of the vdev related to
2678 * the nss, chains params
2679 *
2680 * Return: pointer to the nss, chain param ini cfg structure
2681 */
2682 static inline struct wlan_mlme_nss_chains *
ucfg_mlme_get_ini_vdev_config(struct wlan_objmgr_vdev * vdev)2683 ucfg_mlme_get_ini_vdev_config(struct wlan_objmgr_vdev *vdev)
2684 {
2685 return mlme_get_ini_vdev_config(vdev);
2686 }
2687
2688 /**
2689 * ucfg_mlme_get_dynamic_vdev_config() - get the dynamic capability of vdev
2690 * @vdev: pointer to the vdev obj
2691 *
2692 * This API will get the dynamic config of the vdev related to nss,
2693 * chains params
2694 *
2695 * Return: pointer to the nss, chain param dynamic cfg structure
2696 */
2697 static inline struct wlan_mlme_nss_chains *
ucfg_mlme_get_dynamic_vdev_config(struct wlan_objmgr_vdev * vdev)2698 ucfg_mlme_get_dynamic_vdev_config(struct wlan_objmgr_vdev *vdev)
2699 {
2700 return mlme_get_dynamic_vdev_config(vdev);
2701 }
2702
2703 /**
2704 * ucfg_mlme_get_vht20_mcs9() - Enables VHT MCS9 in 20M BW operation
2705 * @psoc: psoc context
2706 * @value: data to be set
2707 *
2708 * Inline UCFG API to be used by HDD/OSIF callers to get the
2709 * ignore_peer_ht_opmode flag value
2710 *
2711 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2712 */
2713 static inline QDF_STATUS
ucfg_mlme_get_vht20_mcs9(struct wlan_objmgr_psoc * psoc,bool * value)2714 ucfg_mlme_get_vht20_mcs9(struct wlan_objmgr_psoc *psoc, bool *value)
2715 {
2716 return wlan_mlme_get_vht20_mcs9(psoc, value);
2717 }
2718
2719 /**
2720 * ucfg_mlme_get_enable_dynamic_nss_chains_cfg() - API to get whether dynamic
2721 * nss and chain config is enabled or not
2722 * @psoc: psoc context
2723 * @value: data to be set
2724 *
2725 * API to get whether dynamic nss and chain config is enabled or not
2726 *
2727 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2728 */
2729 static inline QDF_STATUS
ucfg_mlme_get_enable_dynamic_nss_chains_cfg(struct wlan_objmgr_psoc * psoc,bool * value)2730 ucfg_mlme_get_enable_dynamic_nss_chains_cfg(struct wlan_objmgr_psoc *psoc,
2731 bool *value)
2732 {
2733 return wlan_mlme_get_enable_dynamic_nss_chains_cfg(psoc, value);
2734 }
2735
2736 /**
2737 * ucfg_mlme_get_restart_sap_on_dynamic_nss_chains_cfg() - API to get whether
2738 * SAP needs to be restarted or not on dynamic nss chain config
2739 * @psoc: psoc context
2740 * @value: data to be set
2741 *
2742 * API to get whether SAP needs to be restarted or not on dynamic nss chain
2743 * config
2744 *
2745 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2746 */
2747 static inline QDF_STATUS
ucfg_mlme_get_restart_sap_on_dynamic_nss_chains_cfg(struct wlan_objmgr_psoc * psoc,bool * value)2748 ucfg_mlme_get_restart_sap_on_dynamic_nss_chains_cfg(
2749 struct wlan_objmgr_psoc *psoc,
2750 bool *value)
2751 {
2752 return wlan_mlme_get_restart_sap_on_dynamic_nss_chains_cfg(psoc, value);
2753 }
2754
2755 /**
2756 * ucfg_mlme_update_dynamic_nss_chains_support() - API to update
2757 * dynamic_nss_chains_support
2758 *
2759 * @psoc: psoc context
2760 * @val: data to be set
2761 *
2762 * API is used to update dynamic_nss_chains_support flag in wlan_mlme_cfg
2763 * to maintain this value in mlme context
2764 *
2765 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2766 */
2767 static inline QDF_STATUS
ucfg_mlme_update_dynamic_nss_chains_support(struct wlan_objmgr_psoc * psoc,bool val)2768 ucfg_mlme_update_dynamic_nss_chains_support(struct wlan_objmgr_psoc *psoc,
2769 bool val)
2770 {
2771 return wlan_mlme_cfg_set_dynamic_nss_chains_support(psoc, val);
2772 }
2773
2774 /**
2775 * ucfg_mlme_get_sta_num_tx_chains() - UCFG API to get station num tx chains
2776 *
2777 * @psoc: psoc context
2778 * @vdev: pointer to vdev
2779 * @tx_chains : tx_chains out parameter
2780 *
2781 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2782 */
2783 static inline QDF_STATUS
ucfg_mlme_get_sta_num_tx_chains(struct wlan_objmgr_psoc * psoc,struct wlan_objmgr_vdev * vdev,uint8_t * tx_chains)2784 ucfg_mlme_get_sta_num_tx_chains(struct wlan_objmgr_psoc *psoc,
2785 struct wlan_objmgr_vdev *vdev,
2786 uint8_t *tx_chains)
2787 {
2788 return wlan_mlme_get_sta_num_tx_chains(psoc, vdev, tx_chains);
2789 }
2790
2791 /**
2792 * ucfg_mlme_get_sta_num_rx_chains() - UCFG API to get station num rx chains
2793 *
2794 * @psoc: psoc context
2795 * @vdev: pointer to vdev
2796 * @rx_chains : rx_chains out parameter
2797 *
2798 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2799 */
2800 static inline QDF_STATUS
ucfg_mlme_get_sta_num_rx_chains(struct wlan_objmgr_psoc * psoc,struct wlan_objmgr_vdev * vdev,uint8_t * rx_chains)2801 ucfg_mlme_get_sta_num_rx_chains(struct wlan_objmgr_psoc *psoc,
2802 struct wlan_objmgr_vdev *vdev,
2803 uint8_t *rx_chains)
2804 {
2805 return wlan_mlme_get_sta_num_rx_chains(psoc, vdev, rx_chains);
2806 }
2807
2808 /**
2809 * ucfg_mlme_get_sta_tx_nss() - UCFG API to get station tx NSS
2810 *
2811 * @psoc: psoc context
2812 * @vdev: pointer to vdev
2813 * @tx_nss : tx_nss out parameter
2814 *
2815 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2816 */
2817 static inline QDF_STATUS
ucfg_mlme_get_sta_tx_nss(struct wlan_objmgr_psoc * psoc,struct wlan_objmgr_vdev * vdev,uint8_t * tx_nss)2818 ucfg_mlme_get_sta_tx_nss(struct wlan_objmgr_psoc *psoc,
2819 struct wlan_objmgr_vdev *vdev, uint8_t *tx_nss)
2820 {
2821 return wlan_mlme_get_sta_tx_nss(psoc, vdev, tx_nss);
2822 }
2823
2824 /**
2825 * ucfg_mlme_get_sta_rx_nss() - UCFG API to get station rx NSS
2826 *
2827 * @psoc: psoc context
2828 * @vdev: pointer to vdev
2829 * @rx_nss : rx_nss out parameter
2830 *
2831 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2832 */
2833 static inline QDF_STATUS
ucfg_mlme_get_sta_rx_nss(struct wlan_objmgr_psoc * psoc,struct wlan_objmgr_vdev * vdev,uint8_t * rx_nss)2834 ucfg_mlme_get_sta_rx_nss(struct wlan_objmgr_psoc *psoc,
2835 struct wlan_objmgr_vdev *vdev,
2836 uint8_t *rx_nss)
2837 {
2838 return wlan_mlme_get_sta_rx_nss(psoc, vdev, rx_nss);
2839 }
2840
2841 /**
2842 * ucfg_mlme_get_vht_enable2x2() - Enables/disables VHT Tx/Rx MCS values for 2x2
2843 * @psoc: psoc context
2844 * @value: data to be set
2845 *
2846 * Inline UCFG API to be used by HDD/OSIF callers to get the
2847 * ignore_peer_ht_opmode flag value
2848 *
2849 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2850 */
2851 static inline QDF_STATUS
ucfg_mlme_get_vht_enable2x2(struct wlan_objmgr_psoc * psoc,bool * value)2852 ucfg_mlme_get_vht_enable2x2(struct wlan_objmgr_psoc *psoc, bool *value)
2853 {
2854 return wlan_mlme_get_vht_enable2x2(psoc, value);
2855 }
2856
2857 /**
2858 * ucfg_mlme_get_force_sap_enabled() - Get the value of force SAP enabled
2859 * @psoc: psoc context
2860 * @value: data to get
2861 *
2862 * Get the value of force SAP enabled
2863 *
2864 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2865 */
2866 static inline QDF_STATUS
ucfg_mlme_get_force_sap_enabled(struct wlan_objmgr_psoc * psoc,bool * value)2867 ucfg_mlme_get_force_sap_enabled(struct wlan_objmgr_psoc *psoc, bool *value)
2868 {
2869 return wlan_mlme_get_force_sap_enabled(psoc, value);
2870 }
2871
2872 /**
2873 * ucfg_mlme_set_vht_enable2x2() - Enables/disables VHT Tx/Rx MCS values for 2x2
2874 * @psoc: psoc context
2875 * @value: data to be set
2876 *
2877 * Inline UCFG API to be used by HDD/OSIF callers to get the
2878 * ignore_peer_ht_opmode flag value
2879 *
2880 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2881 */
2882 static inline QDF_STATUS
ucfg_mlme_set_vht_enable2x2(struct wlan_objmgr_psoc * psoc,bool value)2883 ucfg_mlme_set_vht_enable2x2(struct wlan_objmgr_psoc *psoc, bool value)
2884 {
2885 return wlan_mlme_set_vht_enable2x2(psoc, value);
2886 }
2887
2888 /**
2889 * ucfg_mlme_get_vht_enable_paid() - Enables/disables paid feature
2890 * @psoc: psoc context
2891 * @value: data to be set
2892 *
2893 * Inline UCFG API to be used by HDD/OSIF callers to get the
2894 * ignore_peer_ht_opmode flag value
2895 *
2896 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2897 */
2898 static inline QDF_STATUS
ucfg_mlme_get_vht_enable_paid(struct wlan_objmgr_psoc * psoc,bool * value)2899 ucfg_mlme_get_vht_enable_paid(struct wlan_objmgr_psoc *psoc, bool *value)
2900 {
2901 return wlan_mlme_get_vht_enable_paid(psoc, value);
2902 }
2903
2904 /**
2905 * ucfg_mlme_get_vht_enable_gid() - Enables/disables gid feature
2906 * @psoc: psoc context
2907 * @value: data to be set
2908 *
2909 * Inline UCFG API to be used by HDD/OSIF callers to get the
2910 * ignore_peer_ht_opmode flag value
2911 *
2912 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2913 */
2914 static inline QDF_STATUS
ucfg_mlme_get_vht_enable_gid(struct wlan_objmgr_psoc * psoc,bool * value)2915 ucfg_mlme_get_vht_enable_gid(struct wlan_objmgr_psoc *psoc, bool *value)
2916 {
2917 return wlan_mlme_get_vht_enable_gid(psoc, value);
2918 }
2919
2920 /**
2921 * ucfg_mlme_get_vht_for_24ghz() - Get mlme cfg of vht for 24ghz
2922 * @psoc: psoc context
2923 * @value: data to get
2924 *
2925 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2926 */
2927 static inline QDF_STATUS
ucfg_mlme_get_vht_for_24ghz(struct wlan_objmgr_psoc * psoc,bool * value)2928 ucfg_mlme_get_vht_for_24ghz(struct wlan_objmgr_psoc *psoc, bool *value)
2929 {
2930 return wlan_mlme_get_vht_for_24ghz(psoc, value);
2931 }
2932
2933 /**
2934 * ucfg_mlme_set_vht_for_24ghz() - Enables/disables vht for 24ghz
2935 * @psoc: psoc context
2936 * @value: data to be set
2937 *
2938 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2939 */
2940 static inline QDF_STATUS
ucfg_mlme_set_vht_for_24ghz(struct wlan_objmgr_psoc * psoc,bool value)2941 ucfg_mlme_set_vht_for_24ghz(struct wlan_objmgr_psoc *psoc, bool value)
2942 {
2943 return wlan_mlme_set_vht_for_24ghz(psoc, value);
2944 }
2945
2946 /**
2947 * ucfg_mlme_get_vendor_vht_for_24ghz() - Get mlme cfg of vendor vht for 24ghz
2948 * @psoc: psoc context
2949 * @value: data to be set
2950 *
2951 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2952 */
2953 static inline QDF_STATUS
ucfg_mlme_get_vendor_vht_for_24ghz(struct wlan_objmgr_psoc * psoc,bool * value)2954 ucfg_mlme_get_vendor_vht_for_24ghz(struct wlan_objmgr_psoc *psoc, bool *value)
2955 {
2956 return wlan_mlme_get_vendor_vht_for_24ghz(psoc, value);
2957 }
2958
2959 /**
2960 * ucfg_mlme_update_vht_cap() - Update vht capabilities
2961 * @psoc: psoc context
2962 * @cfg: data to be set
2963 *
2964 * Inline UCFG API to be used by HDD/OSIF callers to get the
2965 * ignore_peer_ht_opmode flag value
2966 *
2967 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2968 */
2969 static inline
ucfg_mlme_update_vht_cap(struct wlan_objmgr_psoc * psoc,struct wma_tgt_vht_cap * cfg)2970 QDF_STATUS ucfg_mlme_update_vht_cap(struct wlan_objmgr_psoc *psoc,
2971 struct wma_tgt_vht_cap *cfg)
2972 {
2973 return mlme_update_vht_cap(psoc, cfg);
2974 }
2975
2976 /**
2977 * ucfg_mlme_update_nss_vht_cap() - Update the number of spatial
2978 * streams supported for vht
2979 * @psoc: psoc context
2980 *
2981 * Inline UCFG API to be used by HDD/OSIF callers to get the
2982 * ignore_peer_ht_opmode flag value
2983 *
2984 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
2985 */
2986 static inline QDF_STATUS
ucfg_mlme_update_nss_vht_cap(struct wlan_objmgr_psoc * psoc)2987 ucfg_mlme_update_nss_vht_cap(struct wlan_objmgr_psoc *psoc)
2988 {
2989 return mlme_update_nss_vht_cap(psoc);
2990 }
2991
2992 /**
2993 * ucfg_mlme_is_11h_enabled() - Get 11h flag
2994 * @psoc: pointer to psoc object
2995 * @value: Value that needs to be set from the caller
2996 *
2997 * Inline UCFG API to be used by HDD/OSIF callers
2998 *
2999 * Return: QDF Status
3000 */
3001 static inline QDF_STATUS
ucfg_mlme_is_11h_enabled(struct wlan_objmgr_psoc * psoc,bool * value)3002 ucfg_mlme_is_11h_enabled(struct wlan_objmgr_psoc *psoc, bool *value)
3003 {
3004 return wlan_mlme_is_11h_enabled(psoc, value);
3005 }
3006
3007 /**
3008 * ucfg_mlme_set_11h_enabled() - Set 11h flag
3009 * @psoc: pointer to psoc object
3010 * @value: Value that needs to be set from the caller
3011 *
3012 * Inline UCFG API to be used by HDD/OSIF callers
3013 *
3014 * Return: QDF Status
3015 */
3016 static inline QDF_STATUS
ucfg_mlme_set_11h_enabled(struct wlan_objmgr_psoc * psoc,bool value)3017 ucfg_mlme_set_11h_enabled(struct wlan_objmgr_psoc *psoc, bool value)
3018 {
3019 return wlan_mlme_set_11h_enabled(psoc, value);
3020 }
3021
3022 /**
3023 * ucfg_mlme_is_11d_enabled() - Get 11d flag
3024 * @psoc: pointer to psoc object
3025 * @value: Value that needs to be set from the caller
3026 *
3027 * Inline UCFG API to be used by HDD/OSIF callers
3028 *
3029 * Return: QDF Status
3030 */
3031 static inline QDF_STATUS
ucfg_mlme_is_11d_enabled(struct wlan_objmgr_psoc * psoc,bool * value)3032 ucfg_mlme_is_11d_enabled(struct wlan_objmgr_psoc *psoc, bool *value)
3033 {
3034 return wlan_mlme_is_11d_enabled(psoc, value);
3035 }
3036
3037 /**
3038 * ucfg_mlme_set_11d_enabled() - Set 11d flag
3039 * @psoc: pointer to psoc object
3040 * @value: Value that needs to be set from the caller
3041 *
3042 * Inline UCFG API to be used by HDD/OSIF callers
3043 *
3044 * Return: QDF Status
3045 */
3046 static inline QDF_STATUS
ucfg_mlme_set_11d_enabled(struct wlan_objmgr_psoc * psoc,bool value)3047 ucfg_mlme_set_11d_enabled(struct wlan_objmgr_psoc *psoc, bool value)
3048 {
3049 return wlan_mlme_set_11d_enabled(psoc, value);
3050 }
3051
3052 /**
3053 * ucfg_mlme_is_rf_test_mode_enabled() - Get rf test mode flag
3054 * @psoc: pointer to psoc object
3055 * @value: Value that needs to be set from the caller
3056 *
3057 * Inline UCFG API to be used by HDD/OSIF callers
3058 *
3059 * Return: QDF Status
3060 */
3061 static inline QDF_STATUS
ucfg_mlme_is_rf_test_mode_enabled(struct wlan_objmgr_psoc * psoc,bool * value)3062 ucfg_mlme_is_rf_test_mode_enabled(struct wlan_objmgr_psoc *psoc, bool *value)
3063 {
3064 return wlan_mlme_is_rf_test_mode_enabled(psoc, value);
3065 }
3066
3067 /**
3068 * ucfg_mlme_set_rf_test_mode_enabled() - Set rf test mode flag
3069 * @psoc: pointer to psoc object
3070 * @value: Value that needs to be set from the caller
3071 *
3072 * Inline UCFG API to be used by HDD/OSIF callers
3073 *
3074 * Return: QDF Status
3075 */
3076 static inline QDF_STATUS
ucfg_mlme_set_rf_test_mode_enabled(struct wlan_objmgr_psoc * psoc,bool value)3077 ucfg_mlme_set_rf_test_mode_enabled(struct wlan_objmgr_psoc *psoc, bool value)
3078 {
3079 return wlan_mlme_set_rf_test_mode_enabled(psoc, value);
3080 }
3081
3082 /**
3083 * ucfg_mlme_is_disable_vlp_sta_conn_to_sp_ap_enabled() - Get disable vlp sta
3084 * conn to sp ap flag
3085 * @psoc: pointer to psoc object
3086 * @value: pointer to hold the value of flag
3087 *
3088 * Inline UCFG API to be used by HDD/OSIF callers
3089 *
3090 * Return: QDF Status
3091 */
3092 static inline QDF_STATUS
ucfg_mlme_is_disable_vlp_sta_conn_to_sp_ap_enabled(struct wlan_objmgr_psoc * psoc,bool * value)3093 ucfg_mlme_is_disable_vlp_sta_conn_to_sp_ap_enabled(
3094 struct wlan_objmgr_psoc *psoc,
3095 bool *value)
3096 {
3097 return wlan_mlme_is_disable_vlp_sta_conn_to_sp_ap_enabled(psoc, value);
3098 }
3099
3100 /**
3101 * ucfg_mlme_is_standard_6ghz_conn_policy_enabled() - Get 6ghz standard
3102 * connection policy flag
3103 * @psoc: pointer to psoc object
3104 * @value: pointer to hold the value of flag
3105 *
3106 * Inline UCFG API to be used by HDD/OSIF callers
3107 *
3108 * Return: QDF Status
3109 */
3110 static inline QDF_STATUS
ucfg_mlme_is_standard_6ghz_conn_policy_enabled(struct wlan_objmgr_psoc * psoc,bool * value)3111 ucfg_mlme_is_standard_6ghz_conn_policy_enabled(struct wlan_objmgr_psoc *psoc,
3112 bool *value)
3113 {
3114 return wlan_mlme_is_standard_6ghz_conn_policy_enabled(psoc, value);
3115 }
3116
3117 /**
3118 * ucfg_mlme_set_eht_mode() - Set EHT mode of operation
3119 * @psoc: pointer to psoc object
3120 * @value: EHT mode value that needs to be set from the caller
3121 *
3122 * Inline UCFG API to be used by HDD/OSIF callers
3123 *
3124 * Return: QDF Status
3125 */
3126 static inline QDF_STATUS
ucfg_mlme_set_eht_mode(struct wlan_objmgr_psoc * psoc,enum wlan_eht_mode value)3127 ucfg_mlme_set_eht_mode(struct wlan_objmgr_psoc *psoc, enum wlan_eht_mode value)
3128 {
3129 return wlan_mlme_set_eht_mode(psoc, value);
3130 }
3131
3132 /**
3133 * ucfg_mlme_get_eht_mode() - Get EHT mode of operation
3134 * @psoc: pointer to psoc object
3135 * @value: EHT mode value that is set by the user
3136 *
3137 * Inline UCFG API to be used by HDD/OSIF callers
3138 *
3139 * Return: QDF Status
3140 */
3141 static inline QDF_STATUS
ucfg_mlme_get_eht_mode(struct wlan_objmgr_psoc * psoc,enum wlan_eht_mode * value)3142 ucfg_mlme_get_eht_mode(struct wlan_objmgr_psoc *psoc, enum wlan_eht_mode *value)
3143 {
3144 return wlan_mlme_get_eht_mode(psoc, value);
3145 }
3146
3147 /**
3148 * ucfg_mlme_is_multipass_sap() - check whether FW supports
3149 * multipass sap capabilities
3150 * @psoc: pointer to psoc object
3151 *
3152 * Inline UCFG API to be used by HDD/OSIF callers
3153 *
3154 * Return: True if FW support mulitpass sap
3155 */
3156 static inline bool
ucfg_mlme_is_multipass_sap(struct wlan_objmgr_psoc * psoc)3157 ucfg_mlme_is_multipass_sap(struct wlan_objmgr_psoc *psoc)
3158 {
3159 return wlan_mlme_is_multipass_sap(psoc);
3160 }
3161
3162 /**
3163 * ucfg_mlme_set_emlsr_mode_enabled() - Set eMLSR mode flag
3164 * @psoc: pointer to psoc object
3165 * @value: Value that needs to be set from the caller
3166 *
3167 * Inline UCFG API to be used by HDD/OSIF callers
3168 *
3169 * Return: QDF Status
3170 */
3171 static inline QDF_STATUS
ucfg_mlme_set_emlsr_mode_enabled(struct wlan_objmgr_psoc * psoc,bool value)3172 ucfg_mlme_set_emlsr_mode_enabled(struct wlan_objmgr_psoc *psoc, bool value)
3173 {
3174 return wlan_mlme_set_emlsr_mode_enabled(psoc, value);
3175 }
3176
3177 /**
3178 * ucfg_mlme_get_emlsr_mode_enabled() - Get eMLSR mode flag
3179 * @psoc: pointer to psoc object
3180 * @value: Value that is set by the user
3181 *
3182 * Inline UCFG API to be used by HDD/OSIF callers
3183 *
3184 * Return: QDF Status
3185 */
3186 static inline QDF_STATUS
ucfg_mlme_get_emlsr_mode_enabled(struct wlan_objmgr_psoc * psoc,bool * value)3187 ucfg_mlme_get_emlsr_mode_enabled(struct wlan_objmgr_psoc *psoc, bool *value)
3188 {
3189 return wlan_mlme_get_emlsr_mode_enabled(psoc, value);
3190 }
3191
3192 /**
3193 * ucfg_mlme_set_t2lm_negotiation_supported() - Enables/disables t2lm
3194 * negotiation support value
3195 * @psoc: psoc context
3196 * @value: data to be set
3197 *
3198 * Inline UCFG API to be used by HDD/OSIF callers to set the
3199 * t2lm negotiation supported value
3200 *
3201 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
3202 */
3203 static inline QDF_STATUS
ucfg_mlme_set_t2lm_negotiation_supported(struct wlan_objmgr_psoc * psoc,bool value)3204 ucfg_mlme_set_t2lm_negotiation_supported(struct wlan_objmgr_psoc *psoc,
3205 bool value)
3206 {
3207 return wlan_mlme_set_t2lm_negotiation_supported(psoc, value);
3208 }
3209
3210 /**
3211 * ucfg_mlme_get_opr_rate() - Get operational rate set
3212 * @vdev: pointer to vdev object
3213 * @buf: buffer to get rates set
3214 * @len: length of the buffer
3215 *
3216 * Return: length of the rates set
3217 */
3218 static inline qdf_size_t
ucfg_mlme_get_opr_rate(struct wlan_objmgr_vdev * vdev,uint8_t * buf,qdf_size_t len)3219 ucfg_mlme_get_opr_rate(struct wlan_objmgr_vdev *vdev, uint8_t *buf,
3220 qdf_size_t len)
3221 {
3222 return mlme_get_opr_rate(vdev, buf, len);
3223 }
3224
3225 /**
3226 * ucfg_mlme_get_ext_opr_rate() - Get extended operational rate set
3227 * @vdev: pointer to vdev object
3228 * @buf: buffer to get rates set
3229 * @len: length of the buffer
3230 *
3231 * Return: length of the rates set
3232 */
3233 static inline qdf_size_t
ucfg_mlme_get_ext_opr_rate(struct wlan_objmgr_vdev * vdev,uint8_t * buf,qdf_size_t len)3234 ucfg_mlme_get_ext_opr_rate(struct wlan_objmgr_vdev *vdev, uint8_t *buf,
3235 qdf_size_t len)
3236 {
3237 return mlme_get_ext_opr_rate(vdev, buf, len);
3238 }
3239
3240 /**
3241 * ucfg_mlme_get_mcs_rate() - Get MCS based rate set
3242 * @vdev: pointer to vdev object
3243 * @buf: buffer to get rates set
3244 * @len: length of the buffer
3245 *
3246 * Return: length of the rates set
3247 */
3248 static inline qdf_size_t
ucfg_mlme_get_mcs_rate(struct wlan_objmgr_vdev * vdev,uint8_t * buf,qdf_size_t len)3249 ucfg_mlme_get_mcs_rate(struct wlan_objmgr_vdev *vdev, uint8_t *buf,
3250 qdf_size_t len)
3251 {
3252 return mlme_get_mcs_rate(vdev, buf, len);
3253 }
3254
3255 /**
3256 * ucfg_mlme_get_supported_mcs_set() - Get Supported MCS set
3257 * @psoc: pointer to psoc object
3258 * @buf: caller buffer to copy mcs set info
3259 * @len: length of the buffer
3260 * Return: QDF Status
3261 */
3262 QDF_STATUS
3263 ucfg_mlme_get_supported_mcs_set(struct wlan_objmgr_psoc *psoc, uint8_t *buf,
3264 qdf_size_t *len);
3265
3266 /**
3267 * ucfg_mlme_set_supported_mcs_set() - Get Supported MCS set
3268 * @psoc: pointer to psoc object
3269 * @buf: caller buffer having mcs set info
3270 * @len: length of the buffer
3271 * Return: QDF Status
3272 */
3273 QDF_STATUS
3274 ucfg_mlme_set_supported_mcs_set(struct wlan_objmgr_psoc *psoc, uint8_t *buf,
3275 qdf_size_t len);
3276
3277 /**
3278 * ucfg_mlme_get_current_mcs_set() - Get current MCS set
3279 * @psoc: pointer to psoc object
3280 * @buf: caller buffer to copy mcs set info
3281 * @len: length of the buffer
3282 * Return: QDF Status
3283 */
3284 QDF_STATUS
3285 ucfg_mlme_get_current_mcs_set(struct wlan_objmgr_psoc *psoc, uint8_t *buf,
3286 qdf_size_t *len);
3287
3288 /**
3289 * ucfg_mlme_get_sta_keepalive_method() - Get sta_keepalive_method
3290 * @psoc: pointer to psoc object
3291 * @val: Value to pass to the caller
3292 *
3293 * Return: QDF Status
3294 */
3295 QDF_STATUS
3296 ucfg_mlme_get_sta_keepalive_method(struct wlan_objmgr_psoc *psoc,
3297 enum station_keepalive_method *val);
3298
3299 /**
3300 * ucfg_mlme_stats_get_periodic_display_time() - get display time
3301 * @psoc: pointer to psoc object
3302 * @periodic_display_time: buffer to hold value
3303 *
3304 * Return: QDF Status
3305 */
3306 QDF_STATUS
3307 ucfg_mlme_stats_get_periodic_display_time(struct wlan_objmgr_psoc *psoc,
3308 uint32_t *periodic_display_time);
3309
3310 /**
3311 * ucfg_mlme_stats_get_cfg_values() - get stats cfg values
3312 * @psoc: pointer to psoc object
3313 * @link_speed_rssi_high: link speed high limit
3314 * @link_speed_rssi_mid: link speed high mid
3315 * @link_speed_rssi_low: link speed high low
3316 * @link_speed_rssi_report: link speed report limit
3317 *
3318 * Return: QDF Status
3319 */
3320 QDF_STATUS
3321 ucfg_mlme_stats_get_cfg_values(struct wlan_objmgr_psoc *psoc,
3322 int *link_speed_rssi_high,
3323 int *link_speed_rssi_mid,
3324 int *link_speed_rssi_low,
3325 uint32_t *link_speed_rssi_report);
3326
3327 /**
3328 * ucfg_mlme_stats_is_link_speed_report_actual() - is link speed report set
3329 * actual
3330 * @psoc: pointer to psoc object
3331 *
3332 * Return: True is report set to actual
3333 */
3334 bool
3335 ucfg_mlme_stats_is_link_speed_report_actual(struct wlan_objmgr_psoc *psoc);
3336
3337 /**
3338 * ucfg_mlme_stats_is_link_speed_report_max() - is link speed report set max
3339 * @psoc: pointer to psoc object
3340 *
3341 * Return: True is report set to max
3342 */
3343 bool
3344 ucfg_mlme_stats_is_link_speed_report_max(struct wlan_objmgr_psoc *psoc);
3345
3346 /**
3347 * ucfg_mlme_stats_is_link_speed_report_max_scaled() - is link speed report set
3348 * max scaled
3349 * @psoc: pointer to psoc object
3350 *
3351 * Return: True is report set to max scaled
3352 */
3353 bool
3354 ucfg_mlme_stats_is_link_speed_report_max_scaled(struct wlan_objmgr_psoc *psoc);
3355
3356 /**
3357 * ucfg_mlme_get_tl_delayed_trgr_frm_int() - Get delay interval(in ms)
3358 * of UAPSD auto trigger.
3359 * @psoc: pointer to psoc object
3360 * @value: Value that needs to be set from the caller
3361 *
3362 * Inline UCFG API to be used by HDD/OSIF callers
3363 *
3364 * Return: None
3365 */
3366 static inline
ucfg_mlme_get_tl_delayed_trgr_frm_int(struct wlan_objmgr_psoc * psoc,uint32_t * value)3367 void ucfg_mlme_get_tl_delayed_trgr_frm_int(struct wlan_objmgr_psoc *psoc,
3368 uint32_t *value)
3369 {
3370 wlan_mlme_get_tl_delayed_trgr_frm_int(psoc, value);
3371 }
3372
3373 /**
3374 * ucfg_mlme_get_wmm_dir_ac_vi() - Get TSPEC direction for VI
3375 * @psoc: pointer to psoc object
3376 * @value: Value that needs to be set from the caller
3377 *
3378 * Inline UCFG API to be used by HDD/OSIF callers
3379 *
3380 * Return: QDF Status
3381 */
3382 static inline QDF_STATUS
ucfg_mlme_get_wmm_dir_ac_vi(struct wlan_objmgr_psoc * psoc,uint8_t * value)3383 ucfg_mlme_get_wmm_dir_ac_vi(struct wlan_objmgr_psoc *psoc, uint8_t *value)
3384 {
3385 return wlan_mlme_get_wmm_dir_ac_vi(psoc, value);
3386 }
3387
3388 /**
3389 * ucfg_mlme_get_wmm_nom_msdu_size_ac_vi() - Get normal MSDU size for VI
3390 * @psoc: pointer to psoc object
3391 * @value: Value that needs to be set from the caller
3392 *
3393 * Inline UCFG API to be used by HDD/OSIF callers
3394 *
3395 * Return: QDF Status
3396 */
3397 static inline
ucfg_mlme_get_wmm_nom_msdu_size_ac_vi(struct wlan_objmgr_psoc * psoc,uint16_t * value)3398 QDF_STATUS ucfg_mlme_get_wmm_nom_msdu_size_ac_vi(struct wlan_objmgr_psoc *psoc,
3399 uint16_t *value)
3400 {
3401 return wlan_mlme_get_wmm_nom_msdu_size_ac_vi(psoc, value);
3402 }
3403
3404 /**
3405 * ucfg_mlme_get_wmm_mean_data_rate_ac_vi() - mean data rate for VI
3406 * @psoc: pointer to psoc object
3407 * @value: Value that needs to be set from the caller
3408 *
3409 * Inline UCFG API to be used by HDD/OSIF callers
3410 *
3411 * Return: QDF Status
3412 */
3413 static inline
ucfg_mlme_get_wmm_mean_data_rate_ac_vi(struct wlan_objmgr_psoc * psoc,uint32_t * value)3414 QDF_STATUS ucfg_mlme_get_wmm_mean_data_rate_ac_vi(struct wlan_objmgr_psoc *psoc,
3415 uint32_t *value)
3416 {
3417 return wlan_mlme_get_wmm_mean_data_rate_ac_vi(psoc, value);
3418 }
3419
3420 /**
3421 * ucfg_mlme_get_wmm_min_phy_rate_ac_vi() - min PHY rate for VI
3422 * @psoc: pointer to psoc object
3423 * @value: Value that needs to be set from the caller
3424 *
3425 * Inline UCFG API to be used by HDD/OSIF callers
3426 *
3427 * Return: QDF Status
3428 */
3429 static inline
ucfg_mlme_get_wmm_min_phy_rate_ac_vi(struct wlan_objmgr_psoc * psoc,uint32_t * value)3430 QDF_STATUS ucfg_mlme_get_wmm_min_phy_rate_ac_vi(struct wlan_objmgr_psoc *psoc,
3431 uint32_t *value)
3432 {
3433 return wlan_mlme_get_wmm_min_phy_rate_ac_vi(psoc, value);
3434 }
3435
3436 /**
3437 * ucfg_mlme_get_wmm_sba_ac_vi() - surplus bandwidth allowance for VI
3438 * @psoc: pointer to psoc object
3439 * @value: Value that needs to be set from the caller
3440 *
3441 * Inline UCFG API to be used by HDD/OSIF callers
3442 *
3443 * Return: QDF Status
3444 */
3445 static inline QDF_STATUS
ucfg_mlme_get_wmm_sba_ac_vi(struct wlan_objmgr_psoc * psoc,uint16_t * value)3446 ucfg_mlme_get_wmm_sba_ac_vi(struct wlan_objmgr_psoc *psoc, uint16_t *value)
3447 {
3448 return wlan_mlme_get_wmm_sba_ac_vi(psoc, value);
3449 }
3450
3451 /**
3452 * ucfg_mlme_get_wmm_uapsd_vi_srv_intv() - Get Uapsd service
3453 * interval for video
3454 * @psoc: pointer to psoc object
3455 * @value: pointer to the value which will be filled for the caller
3456 *
3457 * Inline UCFG API to be used by HDD/OSIF callers
3458 *
3459 * Return: QDF Status
3460 */
3461 static inline QDF_STATUS
ucfg_mlme_get_wmm_uapsd_vi_srv_intv(struct wlan_objmgr_psoc * psoc,uint32_t * value)3462 ucfg_mlme_get_wmm_uapsd_vi_srv_intv(struct wlan_objmgr_psoc *psoc,
3463 uint32_t *value)
3464 {
3465 return wlan_mlme_get_wmm_uapsd_vi_srv_intv(psoc, value);
3466 }
3467
3468 /**
3469 * ucfg_mlme_get_wmm_uapsd_vi_sus_intv() - Get Uapsd suspension
3470 * interval for video
3471 * @psoc: pointer to psoc object
3472 * @value: Value that needs to be set from the caller
3473 *
3474 * Inline UCFG API to be used by HDD/OSIF callers
3475 *
3476 * Return: QDF Status
3477 */
3478 static inline QDF_STATUS
ucfg_mlme_get_wmm_uapsd_vi_sus_intv(struct wlan_objmgr_psoc * psoc,uint32_t * value)3479 ucfg_mlme_get_wmm_uapsd_vi_sus_intv(struct wlan_objmgr_psoc *psoc,
3480 uint32_t *value)
3481 {
3482 return wlan_mlme_get_wmm_uapsd_vi_sus_intv(psoc, value);
3483 }
3484
3485 /**
3486 * ucfg_mlme_get_wmm_dir_ac_be() - Get TSPEC direction for BE
3487 * @psoc: pointer to psoc object
3488 * @value: Value that needs to be set from the caller
3489 *
3490 * Inline UCFG API to be used by HDD/OSIF callers
3491 *
3492 * Return: QDF Status
3493 */
3494 static inline QDF_STATUS
ucfg_mlme_get_wmm_dir_ac_be(struct wlan_objmgr_psoc * psoc,uint8_t * value)3495 ucfg_mlme_get_wmm_dir_ac_be(struct wlan_objmgr_psoc *psoc, uint8_t *value)
3496 {
3497 return wlan_mlme_get_wmm_dir_ac_be(psoc, value);
3498 }
3499
3500 /**
3501 * ucfg_mlme_get_wmm_nom_msdu_size_ac_be() - Get normal MSDU size for BE
3502 * @psoc: pointer to psoc object
3503 * @value: Value that needs to be set from the caller
3504 *
3505 * Inline UCFG API to be used by HDD/OSIF callers
3506 *
3507 * Return: QDF Status
3508 */
3509 static inline
ucfg_mlme_get_wmm_nom_msdu_size_ac_be(struct wlan_objmgr_psoc * psoc,uint16_t * value)3510 QDF_STATUS ucfg_mlme_get_wmm_nom_msdu_size_ac_be(struct wlan_objmgr_psoc *psoc,
3511 uint16_t *value)
3512 {
3513 return wlan_mlme_get_wmm_nom_msdu_size_ac_be(psoc, value);
3514 }
3515
3516 /**
3517 * ucfg_mlme_get_wmm_mean_data_rate_ac_be() - mean data rate for BE
3518 * @psoc: pointer to psoc object
3519 * @value: Value that needs to be set from the caller
3520 *
3521 * Inline UCFG API to be used by HDD/OSIF callers
3522 *
3523 * Return: QDF Status
3524 */
3525 static inline
ucfg_mlme_get_wmm_mean_data_rate_ac_be(struct wlan_objmgr_psoc * psoc,uint32_t * value)3526 QDF_STATUS ucfg_mlme_get_wmm_mean_data_rate_ac_be(struct wlan_objmgr_psoc *psoc,
3527 uint32_t *value)
3528 {
3529 return wlan_mlme_get_wmm_mean_data_rate_ac_be(psoc, value);
3530 }
3531
3532 /**
3533 * ucfg_mlme_get_wmm_min_phy_rate_ac_be() - min PHY rate for BE
3534 * @psoc: pointer to psoc object
3535 * @value: Value that needs to be set from the caller
3536 *
3537 * Inline UCFG API to be used by HDD/OSIF callers
3538 *
3539 * Return: QDF Status
3540 */
3541 static inline
ucfg_mlme_get_wmm_min_phy_rate_ac_be(struct wlan_objmgr_psoc * psoc,uint32_t * value)3542 QDF_STATUS ucfg_mlme_get_wmm_min_phy_rate_ac_be(struct wlan_objmgr_psoc *psoc,
3543 uint32_t *value)
3544 {
3545 return wlan_mlme_get_wmm_min_phy_rate_ac_be(psoc, value);
3546 }
3547
3548 /**
3549 * ucfg_mlme_get_wmm_sba_ac_be() - surplus bandwidth allowance for BE
3550 * @psoc: pointer to psoc object
3551 * @value: Value that needs to be set from the caller
3552 *
3553 * Inline UCFG API to be used by HDD/OSIF callers
3554 *
3555 * Return: QDF Status
3556 */
3557 static inline QDF_STATUS
ucfg_mlme_get_wmm_sba_ac_be(struct wlan_objmgr_psoc * psoc,uint16_t * value)3558 ucfg_mlme_get_wmm_sba_ac_be(struct wlan_objmgr_psoc *psoc, uint16_t *value)
3559 {
3560 return wlan_mlme_get_wmm_sba_ac_be(psoc, value);
3561 }
3562
3563 /**
3564 * ucfg_mlme_get_wmm_uapsd_be_srv_intv() - Get Uapsd service interval for BE
3565 * @psoc: pointer to psoc object
3566 * @value: pointer to the value which will be filled for the caller
3567 *
3568 * Inline UCFG API to be used by HDD/OSIF callers
3569 *
3570 * Return: QDF Status
3571 */
3572 static inline QDF_STATUS
ucfg_mlme_get_wmm_uapsd_be_srv_intv(struct wlan_objmgr_psoc * psoc,uint32_t * value)3573 ucfg_mlme_get_wmm_uapsd_be_srv_intv(struct wlan_objmgr_psoc *psoc,
3574 uint32_t *value)
3575 {
3576 return wlan_mlme_get_wmm_uapsd_be_srv_intv(psoc, value);
3577 }
3578
3579 /**
3580 * ucfg_mlme_get_wmm_uapsd_be_sus_intv() - Get Uapsd suspension interval for BE
3581 * @psoc: pointer to psoc object
3582 * @value: Value that needs to be set from the caller
3583 *
3584 * Inline UCFG API to be used by HDD/OSIF callers
3585 *
3586 * Return: QDF Status
3587 */
3588 static inline QDF_STATUS
ucfg_mlme_get_wmm_uapsd_be_sus_intv(struct wlan_objmgr_psoc * psoc,uint32_t * value)3589 ucfg_mlme_get_wmm_uapsd_be_sus_intv(struct wlan_objmgr_psoc *psoc,
3590 uint32_t *value)
3591 {
3592 return wlan_mlme_get_wmm_uapsd_be_sus_intv(psoc, value);
3593 }
3594
3595 /**
3596 * ucfg_mlme_get_wmm_dir_ac_bk() - Get TSPEC direction for BK
3597 * @psoc: pointer to psoc object
3598 * @value: Value that needs to be set from the caller
3599 *
3600 * Inline UCFG API to be used by HDD/OSIF callers
3601 *
3602 * Return: QDF Status
3603 */
3604 static inline QDF_STATUS
ucfg_mlme_get_wmm_dir_ac_bk(struct wlan_objmgr_psoc * psoc,uint8_t * value)3605 ucfg_mlme_get_wmm_dir_ac_bk(struct wlan_objmgr_psoc *psoc, uint8_t *value)
3606 {
3607 return wlan_mlme_get_wmm_dir_ac_bk(psoc, value);
3608 }
3609
3610 /**
3611 * ucfg_mlme_get_wmm_nom_msdu_size_ac_bk() - Get normal MSDU size for BK
3612 * @psoc: pointer to psoc object
3613 * @value: Value that needs to be set from the caller
3614 *
3615 * Inline UCFG API to be used by HDD/OSIF callers
3616 *
3617 * Return: QDF Status
3618 */
3619 static inline
ucfg_mlme_get_wmm_nom_msdu_size_ac_bk(struct wlan_objmgr_psoc * psoc,uint16_t * value)3620 QDF_STATUS ucfg_mlme_get_wmm_nom_msdu_size_ac_bk(struct wlan_objmgr_psoc *psoc,
3621 uint16_t *value)
3622 {
3623 return wlan_mlme_get_wmm_nom_msdu_size_ac_bk(psoc, value);
3624 }
3625
3626 /**
3627 * ucfg_mlme_get_wmm_mean_data_rate_ac_bk() - mean data rate for BK
3628 * @psoc: pointer to psoc object
3629 * @value: Value that needs to be set from the caller
3630 *
3631 * Inline UCFG API to be used by HDD/OSIF callers
3632 *
3633 * Return: QDF Status
3634 */
3635 static inline
ucfg_mlme_get_wmm_mean_data_rate_ac_bk(struct wlan_objmgr_psoc * psoc,uint32_t * value)3636 QDF_STATUS ucfg_mlme_get_wmm_mean_data_rate_ac_bk(struct wlan_objmgr_psoc *psoc,
3637 uint32_t *value)
3638 {
3639 return wlan_mlme_get_wmm_mean_data_rate_ac_bk(psoc, value);
3640 }
3641
3642 /**
3643 * ucfg_mlme_get_wmm_min_phy_rate_ac_bk() - min PHY rate for BE
3644 * @psoc: pointer to psoc object
3645 * @value: Value that needs to be set from the caller
3646 *
3647 * Inline UCFG API to be used by HDD/OSIF callers
3648 *
3649 * Return: QDF Status
3650 */
3651 static inline
ucfg_mlme_get_wmm_min_phy_rate_ac_bk(struct wlan_objmgr_psoc * psoc,uint32_t * value)3652 QDF_STATUS ucfg_mlme_get_wmm_min_phy_rate_ac_bk(struct wlan_objmgr_psoc *psoc,
3653 uint32_t *value)
3654 {
3655 return wlan_mlme_get_wmm_min_phy_rate_ac_bk(psoc, value);
3656 }
3657
3658 /**
3659 * ucfg_mlme_get_wmm_sba_ac_bk() - surplus bandwidt allowance for BE
3660 * @psoc: pointer to psoc object
3661 * @value: Value that needs to be set from the caller
3662 *
3663 * Inline UCFG API to be used by HDD/OSIF callers
3664 *
3665 * Return: QDF Status
3666 */
3667 static inline QDF_STATUS
ucfg_mlme_get_wmm_sba_ac_bk(struct wlan_objmgr_psoc * psoc,uint16_t * value)3668 ucfg_mlme_get_wmm_sba_ac_bk(struct wlan_objmgr_psoc *psoc, uint16_t *value)
3669 {
3670 return wlan_mlme_get_wmm_sba_ac_bk(psoc, value);
3671 }
3672
3673 /**
3674 * ucfg_mlme_get_wmm_uapsd_bk_srv_intv() - Get Uapsd service interval for BK
3675 * @psoc: pointer to psoc object
3676 * @value: pointer to the value which will be filled for the caller
3677 *
3678 * Inline UCFG API to be used by HDD/OSIF callers
3679 *
3680 * Return: QDF Status
3681 */
3682 static inline QDF_STATUS
ucfg_mlme_get_wmm_uapsd_bk_srv_intv(struct wlan_objmgr_psoc * psoc,uint32_t * value)3683 ucfg_mlme_get_wmm_uapsd_bk_srv_intv(struct wlan_objmgr_psoc *psoc,
3684 uint32_t *value)
3685 {
3686 return wlan_mlme_get_wmm_uapsd_bk_srv_intv(psoc, value);
3687 }
3688
3689 /**
3690 * ucfg_mlme_get_wmm_uapsd_bk_sus_intv() - Get Uapsd suspension interval for BK
3691 * @psoc: pointer to psoc object
3692 * @value: Value that needs to be set from the caller
3693 *
3694 * Inline UCFG API to be used by HDD/OSIF callers
3695 *
3696 * Return: QDF Status
3697 */
3698 static inline QDF_STATUS
ucfg_mlme_get_wmm_uapsd_bk_sus_intv(struct wlan_objmgr_psoc * psoc,uint32_t * value)3699 ucfg_mlme_get_wmm_uapsd_bk_sus_intv(struct wlan_objmgr_psoc *psoc,
3700 uint32_t *value)
3701 {
3702 return wlan_mlme_get_wmm_uapsd_bk_sus_intv(psoc, value);
3703 }
3704
3705 /**
3706 * ucfg_mlme_get_wmm_mode() - Enable WMM feature
3707 * @psoc: pointer to psoc object
3708 * @value: Value that needs to be set from the caller
3709 *
3710 * Inline UCFG API to be used by HDD/OSIF callers
3711 *
3712 * Return: QDF Status
3713 */
3714 static inline QDF_STATUS
ucfg_mlme_get_wmm_mode(struct wlan_objmgr_psoc * psoc,uint8_t * value)3715 ucfg_mlme_get_wmm_mode(struct wlan_objmgr_psoc *psoc, uint8_t *value)
3716 {
3717 return wlan_mlme_get_wmm_mode(psoc, value);
3718 }
3719
3720 /**
3721 * ucfg_mlme_cfg_get_wlm_level() - Get the WLM level value
3722 * @psoc: pointer to psoc object
3723 * @level: level that needs to be filled.
3724 *
3725 * Return: QDF Status
3726 */
3727 static inline
ucfg_mlme_cfg_get_wlm_level(struct wlan_objmgr_psoc * psoc,uint8_t * level)3728 QDF_STATUS ucfg_mlme_cfg_get_wlm_level(struct wlan_objmgr_psoc *psoc,
3729 uint8_t *level)
3730 {
3731 return mlme_get_cfg_wlm_level(psoc, level);
3732 }
3733
3734 /**
3735 * ucfg_mlme_cfg_get_wlm_reset() - Get the WLM reset flag
3736 * @psoc: pointer to psoc object
3737 * @reset: reset that needs to be filled.
3738 *
3739 * Return: QDF Status
3740 */
3741 static inline
ucfg_mlme_cfg_get_wlm_reset(struct wlan_objmgr_psoc * psoc,bool * reset)3742 QDF_STATUS ucfg_mlme_cfg_get_wlm_reset(struct wlan_objmgr_psoc *psoc,
3743 bool *reset)
3744 {
3745 return mlme_get_cfg_wlm_reset(psoc, reset);
3746 }
3747
3748 #ifdef WLAN_FEATURE_11AX
3749 /**
3750 * ucfg_mlme_update_tgt_he_cap() - Update tgt he cap in mlme component
3751 *
3752 * @psoc: pointer to psoc object
3753 * @cfg: pointer to config params from target
3754 *
3755 * Inline UCFG API to be used by HDD/OSIF callers to update
3756 * he caps in mlme.
3757 *
3758 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
3759 */
3760 static inline QDF_STATUS
ucfg_mlme_update_tgt_he_cap(struct wlan_objmgr_psoc * psoc,struct wma_tgt_cfg * cfg)3761 ucfg_mlme_update_tgt_he_cap(struct wlan_objmgr_psoc *psoc,
3762 struct wma_tgt_cfg *cfg)
3763 {
3764 return mlme_update_tgt_he_caps_in_cfg(psoc, cfg);
3765 }
3766
3767 /**
3768 * ucfg_mlme_cfg_get_he_caps() - Get the HE capability info
3769 * @psoc: pointer to psoc object
3770 * @he_cap: Caps that needs to be filled.
3771 *
3772 * Return: QDF Status
3773 */
3774 static inline
ucfg_mlme_cfg_get_he_caps(struct wlan_objmgr_psoc * psoc,tDot11fIEhe_cap * he_cap)3775 QDF_STATUS ucfg_mlme_cfg_get_he_caps(struct wlan_objmgr_psoc *psoc,
3776 tDot11fIEhe_cap *he_cap)
3777 {
3778 return mlme_cfg_get_he_caps(psoc, he_cap);
3779 }
3780
3781 /**
3782 * ucfg_mlme_cfg_get_he_ul_mumimo() - Get the HE Ul Mumio
3783 * @psoc: pointer to psoc object
3784 * @value: Value that needs to be set from the caller
3785 *
3786 * Return: QDF Status
3787 */
3788 static inline
ucfg_mlme_cfg_get_he_ul_mumimo(struct wlan_objmgr_psoc * psoc,uint32_t * value)3789 QDF_STATUS ucfg_mlme_cfg_get_he_ul_mumimo(struct wlan_objmgr_psoc *psoc,
3790 uint32_t *value)
3791 {
3792 return wlan_mlme_cfg_get_he_ul_mumimo(psoc, value);
3793 }
3794
3795 /**
3796 * ucfg_mlme_cfg_set_he_ul_mumimo() - Set the HE Ul Mumio
3797 * @psoc: pointer to psoc object
3798 * @value: Value that needs to be set from the caller
3799 *
3800 * Return: QDF Status
3801 */
3802 static inline
ucfg_mlme_cfg_set_he_ul_mumimo(struct wlan_objmgr_psoc * psoc,uint32_t value)3803 QDF_STATUS ucfg_mlme_cfg_set_he_ul_mumimo(struct wlan_objmgr_psoc *psoc,
3804 uint32_t value)
3805 {
3806 return wlan_mlme_cfg_set_he_ul_mumimo(psoc, value);
3807 }
3808
3809 /**
3810 * ucfg_mlme_cfg_get_enable_ul_mimo() - Get the HE Ul mimo
3811 * @psoc: pointer to psoc object
3812 * @value: Value that needs to be set from the caller
3813 *
3814 * Return: QDF Status
3815 */
3816 static inline
ucfg_mlme_cfg_get_enable_ul_mimo(struct wlan_objmgr_psoc * psoc,uint8_t * value)3817 QDF_STATUS ucfg_mlme_cfg_get_enable_ul_mimo(struct wlan_objmgr_psoc *psoc,
3818 uint8_t *value)
3819 {
3820 return wlan_mlme_cfg_get_enable_ul_mimo(psoc, value);
3821 }
3822
3823 /**
3824 * ucfg_mlme_cfg_get_enable_ul_ofdm() - Get enable ul ofdm
3825 * @psoc: pointer to psoc object
3826 * @value: Value that needs to be set from the caller
3827 *
3828 * Return: QDF Status
3829 */
3830 static inline
ucfg_mlme_cfg_get_enable_ul_ofdm(struct wlan_objmgr_psoc * psoc,uint8_t * value)3831 QDF_STATUS ucfg_mlme_cfg_get_enable_ul_ofdm(struct wlan_objmgr_psoc *psoc,
3832 uint8_t *value)
3833 {
3834 return wlan_mlme_cfg_get_enable_ul_ofdm(psoc, value);
3835 }
3836 #endif
3837
3838 #ifdef WLAN_FEATURE_11BE
3839 /**
3840 * ucfg_mlme_update_tgt_eht_cap() - Update tgt EHT cap in mlme component
3841 *
3842 * @psoc: pointer to psoc object
3843 * @cfg: pointer to config params from target
3844 *
3845 * Inline UCFG API to be used by HDD/OSIF callers to update
3846 * EHT caps in mlme.
3847 *
3848 * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
3849 */
3850 static inline QDF_STATUS
ucfg_mlme_update_tgt_eht_cap(struct wlan_objmgr_psoc * psoc,struct wma_tgt_cfg * cfg)3851 ucfg_mlme_update_tgt_eht_cap(struct wlan_objmgr_psoc *psoc,
3852 struct wma_tgt_cfg *cfg)
3853 {
3854 return mlme_update_tgt_eht_caps_in_cfg(psoc, cfg);
3855 }
3856
3857 static inline QDF_STATUS
ucfg_mlme_update_tgt_mlo_cap(struct wlan_objmgr_psoc * psoc)3858 ucfg_mlme_update_tgt_mlo_cap(struct wlan_objmgr_psoc *psoc)
3859 {
3860 return mlme_update_tgt_mlo_caps_in_cfg(psoc);
3861 }
3862
3863 /**
3864 * ucfg_mlme_get_usr_disable_sta_eht() - Get user disable sta eht flag
3865 * @psoc: psoc object
3866 *
3867 * Return: true if user has disabled eht in connect request
3868 */
3869 static inline
ucfg_mlme_get_usr_disable_sta_eht(struct wlan_objmgr_psoc * psoc)3870 bool ucfg_mlme_get_usr_disable_sta_eht(struct wlan_objmgr_psoc *psoc)
3871 {
3872 return wlan_mlme_get_usr_disable_sta_eht(psoc);
3873 }
3874
3875 /**
3876 * ucfg_mlme_set_usr_disable_sta_eht() - Set user disable sta eht flag
3877 * @psoc: psoc object
3878 * @disable: eht disable flag
3879 *
3880 * Return: void
3881 */
3882 static inline
ucfg_mlme_set_usr_disable_sta_eht(struct wlan_objmgr_psoc * psoc,bool disable)3883 void ucfg_mlme_set_usr_disable_sta_eht(struct wlan_objmgr_psoc *psoc,
3884 bool disable)
3885 {
3886 wlan_mlme_set_usr_disable_sta_eht(psoc, disable);
3887 }
3888 #else
3889 static inline QDF_STATUS
ucfg_mlme_update_tgt_mlo_cap(struct wlan_objmgr_psoc * psoc)3890 ucfg_mlme_update_tgt_mlo_cap(struct wlan_objmgr_psoc *psoc)
3891 {
3892 return QDF_STATUS_SUCCESS;
3893 }
3894
3895 static inline
ucfg_mlme_get_usr_disable_sta_eht(struct wlan_objmgr_psoc * psoc)3896 bool ucfg_mlme_get_usr_disable_sta_eht(struct wlan_objmgr_psoc *psoc)
3897 {
3898 return true;
3899 }
3900
3901 static inline
ucfg_mlme_set_usr_disable_sta_eht(struct wlan_objmgr_psoc * psoc,bool disable)3902 void ucfg_mlme_set_usr_disable_sta_eht(struct wlan_objmgr_psoc *psoc,
3903 bool disable)
3904 {
3905 }
3906 #endif
3907
3908 #ifdef WLAN_FEATURE_11BE_MLO
3909 /**
3910 * ucfg_mlme_get_eht_mld_id() - Get the MLD ID of the requested BSS
3911 * @psoc: pointer to psoc object
3912 *
3913 * This API gives the MLD ID of the requested BSS
3914 *
3915 * Return: MLD ID of the requested BSS
3916 */
3917 static inline uint8_t
ucfg_mlme_get_eht_mld_id(struct wlan_objmgr_psoc * psoc)3918 ucfg_mlme_get_eht_mld_id(struct wlan_objmgr_psoc *psoc)
3919 {
3920 return wlan_mlme_get_eht_mld_id(psoc);
3921 }
3922
3923 /**
3924 * ucfg_mlme_set_eht_mld_id() - Set MLD ID of the requested BSS information
3925 * @psoc: pointer to psoc object
3926 * @value: set MLD ID
3927 *
3928 * This API sets the MLD ID of the requested BSS information within the ML
3929 * probe request.
3930 *
3931 * Return: QDF_STATUS
3932 */
3933 static inline QDF_STATUS
ucfg_mlme_set_eht_mld_id(struct wlan_objmgr_psoc * psoc,uint8_t value)3934 ucfg_mlme_set_eht_mld_id(struct wlan_objmgr_psoc *psoc,
3935 uint8_t value)
3936 {
3937 return wlan_mlme_set_eht_mld_id(psoc, value);
3938 }
3939 #else
3940 static inline uint8_t
ucfg_mlme_get_eht_mld_id(struct wlan_objmgr_psoc * psoc)3941 ucfg_mlme_get_eht_mld_id(struct wlan_objmgr_psoc *psoc)
3942 {
3943 return 0;
3944 }
3945
3946 static inline QDF_STATUS
ucfg_mlme_set_eht_mld_id(struct wlan_objmgr_psoc * psoc,uint8_t value)3947 ucfg_mlme_set_eht_mld_id(struct wlan_objmgr_psoc *psoc, uint8_t value)
3948 {
3949 return QDF_STATUS_E_NOSUPPORT;
3950 }
3951 #endif /* WLAN_FEATURE_11BE_MLO */
3952
3953 /**
3954 * ucfg_mlme_get_80211e_is_enabled() - Enable 802.11e feature
3955 * @psoc: pointer to psoc object
3956 * @value: Value that needs to be set from the caller
3957 *
3958 * Inline UCFG API to be used by HDD/OSIF callers
3959 *
3960 * Return: QDF Status
3961 */
3962 static inline QDF_STATUS
ucfg_mlme_get_80211e_is_enabled(struct wlan_objmgr_psoc * psoc,bool * value)3963 ucfg_mlme_get_80211e_is_enabled(struct wlan_objmgr_psoc *psoc, bool *value)
3964 {
3965 return wlan_mlme_get_80211e_is_enabled(psoc, value);
3966 }
3967
3968 /**
3969 * ucfg_mlme_get_wmm_uapsd_mask() - setup U-APSD mask for ACs
3970 * @psoc: pointer to psoc object
3971 * @value: Value that needs to be set from the caller
3972 *
3973 * Inline UCFG API to be used by HDD/OSIF callers
3974 *
3975 * Return: QDF Status
3976 */
3977 static inline QDF_STATUS
ucfg_mlme_get_wmm_uapsd_mask(struct wlan_objmgr_psoc * psoc,uint8_t * value)3978 ucfg_mlme_get_wmm_uapsd_mask(struct wlan_objmgr_psoc *psoc, uint8_t *value)
3979 {
3980 return wlan_mlme_get_wmm_uapsd_mask(psoc, value);
3981 }
3982
3983 #ifdef FEATURE_WLAN_ESE
3984 /**
3985 * ucfg_mlme_get_inactivity_interval() - Infra Inactivity Interval
3986 * @psoc: pointer to psoc object
3987 * @value: Value that needs to be get from the caller
3988 *
3989 * Inline UCFG API to be used by HDD/OSIF callers
3990 *
3991 * Return: None
3992 */
3993 static inline void
ucfg_mlme_get_inactivity_interval(struct wlan_objmgr_psoc * psoc,uint32_t * value)3994 ucfg_mlme_get_inactivity_interval(struct wlan_objmgr_psoc *psoc,
3995 uint32_t *value)
3996 {
3997 wlan_mlme_get_inactivity_interval(psoc, value);
3998 }
3999
4000 /**
4001 * ucfg_mlme_is_ese_enabled() - ese feature enable or not
4002 * @psoc: pointer to psoc object
4003 * @val: Pointer to the value which will be filled for the caller
4004 *
4005 * Return: QDF Status
4006 */
4007 QDF_STATUS
4008 ucfg_mlme_is_ese_enabled(struct wlan_objmgr_psoc *psoc, bool *val);
4009 #endif /* FEATURE_WLAN_ESE */
4010
4011 /**
4012 * ucfg_mlme_get_is_ts_burst_size_enable() - Get TS burst size flag
4013 * @psoc: pointer to psoc object
4014 * @value: Value that needs to be get from the caller
4015 *
4016 * Inline UCFG API to be used by HDD/OSIF callers
4017 *
4018 * Return: None
4019 */
4020 static inline
ucfg_mlme_get_is_ts_burst_size_enable(struct wlan_objmgr_psoc * psoc,bool * value)4021 void ucfg_mlme_get_is_ts_burst_size_enable(struct wlan_objmgr_psoc *psoc,
4022 bool *value)
4023 {
4024 wlan_mlme_get_is_ts_burst_size_enable(psoc, value);
4025 }
4026
4027 /**
4028 * ucfg_mlme_get_ts_info_ack_policy() - Get TS ack policy
4029 * @psoc: pointer to psoc object
4030 * @value: Value that needs to be get from the caller
4031 *
4032 * Inline UCFG API to be used by HDD/OSIF callers
4033 *
4034 * Return: None
4035 */
4036 static inline void
ucfg_mlme_get_ts_info_ack_policy(struct wlan_objmgr_psoc * psoc,enum mlme_ts_info_ack_policy * value)4037 ucfg_mlme_get_ts_info_ack_policy(struct wlan_objmgr_psoc *psoc,
4038 enum mlme_ts_info_ack_policy *value)
4039 {
4040 wlan_mlme_get_ts_info_ack_policy(psoc, value);
4041 }
4042
4043 /**
4044 * ucfg_mlme_get_ts_acm_value_for_ac() - Get ACM value for AC
4045 * @psoc: pointer to psoc object
4046 * @value: Value that needs to be get from the caller
4047 *
4048 *
4049 * Inline UCFG API to be used by HDD/OSIF callers
4050 *
4051 * Return: QDF Status
4052 */
4053 static inline QDF_STATUS
ucfg_mlme_get_ts_acm_value_for_ac(struct wlan_objmgr_psoc * psoc,bool * value)4054 ucfg_mlme_get_ts_acm_value_for_ac(struct wlan_objmgr_psoc *psoc, bool *value)
4055 {
4056 return wlan_mlme_get_ts_acm_value_for_ac(psoc, value);
4057 }
4058
4059 /*
4060 * ucfg_mlme_is_sap_uapsd_enabled() - SAP UAPSD enabled status.
4061 * @psoc: pointer to psoc object
4062 * @value: sap uapsd enabled flag value requested from the caller
4063 *
4064 * Inline UCFG API to be used by HDD/OSIF callers
4065 *
4066 * Return: QDF Status
4067 */
4068 static inline QDF_STATUS
ucfg_mlme_is_sap_uapsd_enabled(struct wlan_objmgr_psoc * psoc,bool * value)4069 ucfg_mlme_is_sap_uapsd_enabled(struct wlan_objmgr_psoc *psoc, bool *value)
4070 {
4071 return wlan_mlme_is_sap_uapsd_enabled(psoc, value);
4072 }
4073
4074 /*
4075 * ucfg_mlme_set_sap_uapsd_flag() - SAP UAPSD enabled status.
4076 * @psoc: pointer to psoc object
4077 * @value: Value that needs to be set from the caller
4078 *
4079 * Inline UCFG API to be used by HDD/OSIF callers
4080 *
4081 * Return: QDF Status
4082 */
4083 static inline QDF_STATUS
ucfg_mlme_set_sap_uapsd_flag(struct wlan_objmgr_psoc * psoc,bool value)4084 ucfg_mlme_set_sap_uapsd_flag(struct wlan_objmgr_psoc *psoc, bool value)
4085 {
4086 return wlan_mlme_set_sap_uapsd_flag(psoc, value);
4087 }
4088
4089 /**
4090 * ucfg_mlme_get_enable_deauth_to_disassoc_map() - Enable deauth_to_disassoc_map
4091 * @psoc: pointer to psoc object
4092 * @value: Value that needs to be set from the caller
4093 *
4094 * UCFG API to be used by HDD/OSIF callers
4095 *
4096 * Return: QDF Status
4097 */
4098 QDF_STATUS
4099 ucfg_mlme_get_enable_deauth_to_disassoc_map(struct wlan_objmgr_psoc *psoc,
4100 bool *value);
4101
4102 /**
4103 * ucfg_mlme_get_ap_random_bssid_enable() - Enable random bssid
4104 * @psoc: pointer to psoc object
4105 * @value: Value that needs to be set from the caller
4106 *
4107 * UCFG API to be used by HDD/OSIF callers
4108 *
4109 * Return: QDF Status
4110 */
4111 QDF_STATUS
4112 ucfg_mlme_get_ap_random_bssid_enable(struct wlan_objmgr_psoc *psoc,
4113 bool *value);
4114
4115 /**
4116 * ucfg_mlme_get_sta_miracast_mcc_rest_time() - Get STA/MIRACAST MCC rest time
4117 *
4118 * @psoc: pointer to psoc object
4119 * @value: value which needs to filled by API
4120 *
4121 * This API gives rest time to be used when STA and MIRACAST MCC conc happens
4122 *
4123 * Return: QDF_STATUS
4124 */
4125 static inline QDF_STATUS
ucfg_mlme_get_sta_miracast_mcc_rest_time(struct wlan_objmgr_psoc * psoc,uint32_t * value)4126 ucfg_mlme_get_sta_miracast_mcc_rest_time(struct wlan_objmgr_psoc *psoc,
4127 uint32_t *value)
4128 {
4129 return wlan_mlme_get_sta_miracast_mcc_rest_time(psoc, value);
4130 }
4131
4132 /**
4133 * ucfg_mlme_get_max_modulated_dtim_ms() - get sap max modulated dtim
4134 * @psoc: pointer to psoc object
4135 * @value: Value that needs to be set from the caller
4136 *
4137 * Inline UCFG API to be used by HDD/OSIF callers
4138 *
4139 * Return: QDF Status
4140 */
4141 static inline QDF_STATUS
ucfg_mlme_get_max_modulated_dtim_ms(struct wlan_objmgr_psoc * psoc,uint16_t * value)4142 ucfg_mlme_get_max_modulated_dtim_ms(struct wlan_objmgr_psoc *psoc,
4143 uint16_t *value)
4144 {
4145 return wlan_mlme_get_max_modulated_dtim_ms(psoc, value);
4146 }
4147
4148 /**
4149 * ucfg_mlme_get_sap_mcc_chnl_avoid() - Check if SAP MCC needs to be avoided
4150 *
4151 * @psoc: pointer to psoc object
4152 * @value: value which needs to filled by API
4153 *
4154 * This API fetches the user setting to determine if SAP MCC with other persona
4155 * to be avoided.
4156 *
4157 * Return: QDF_STATUS
4158 */
4159 static inline QDF_STATUS
ucfg_mlme_get_sap_mcc_chnl_avoid(struct wlan_objmgr_psoc * psoc,uint8_t * value)4160 ucfg_mlme_get_sap_mcc_chnl_avoid(struct wlan_objmgr_psoc *psoc,
4161 uint8_t *value)
4162 {
4163 return wlan_mlme_get_sap_mcc_chnl_avoid(psoc, value);
4164 }
4165
4166 /**
4167 * ucfg_mlme_get_mcc_bcast_prob_resp() - Get broadcast probe rsp in MCC
4168 *
4169 * @psoc: pointer to psoc object
4170 * @value: value which needs to filled by API
4171 *
4172 * To get INI value which helps to determe whether to enable/disable use of
4173 * broadcast probe response to increase the detectability of SAP in MCC mode.
4174 *
4175 *
4176 * Return: QDF_STATUS
4177 */
4178 static inline QDF_STATUS
ucfg_mlme_get_mcc_bcast_prob_resp(struct wlan_objmgr_psoc * psoc,uint8_t * value)4179 ucfg_mlme_get_mcc_bcast_prob_resp(struct wlan_objmgr_psoc *psoc,
4180 uint8_t *value)
4181 {
4182 return wlan_mlme_get_mcc_bcast_prob_resp(psoc, value);
4183 }
4184
4185 /**
4186 * ucfg_mlme_get_mcc_rts_cts_prot() - To get RTS-CTS protection in MCC.
4187 *
4188 * @psoc: pointer to psoc object
4189 * @value: value which needs to filled by API
4190 *
4191 * To get INI value which helps to determine whether to enable/disable
4192 * use of long duration RTS-CTS protection when SAP goes off
4193 * channel in MCC mode.
4194 *
4195 * Return: QDF_STATUS
4196 */
4197 static inline QDF_STATUS
ucfg_mlme_get_mcc_rts_cts_prot(struct wlan_objmgr_psoc * psoc,uint8_t * value)4198 ucfg_mlme_get_mcc_rts_cts_prot(struct wlan_objmgr_psoc *psoc,
4199 uint8_t *value)
4200 {
4201 return wlan_mlme_get_mcc_rts_cts_prot(psoc, value);
4202 }
4203
4204 /**
4205 * ucfg_mlme_get_mcc_feature() - To find out to enable/disable MCC feature
4206 *
4207 * @psoc: pointer to psoc object
4208 * @value: value which needs to filled by API
4209 *
4210 * To get INI value which helps to determine whether to enable MCC feature
4211 *
4212 * Return: QDF_STATUS
4213 */
4214 static inline QDF_STATUS
ucfg_mlme_get_mcc_feature(struct wlan_objmgr_psoc * psoc,uint8_t * value)4215 ucfg_mlme_get_mcc_feature(struct wlan_objmgr_psoc *psoc,
4216 uint8_t *value)
4217 {
4218 return wlan_mlme_get_mcc_feature(psoc, value);
4219 }
4220
4221 /**
4222 * ucfg_wlan_mlme_get_rrm_enabled() - Get the rrm enabled
4223 * @psoc: pointer to psoc object
4224 * @value: Value that needs to be get from the caller
4225 *
4226 * Return: QDF Status
4227 */
4228 static inline
ucfg_wlan_mlme_get_rrm_enabled(struct wlan_objmgr_psoc * psoc,bool * value)4229 QDF_STATUS ucfg_wlan_mlme_get_rrm_enabled(struct wlan_objmgr_psoc *psoc,
4230 bool *value)
4231 {
4232 return wlan_mlme_get_rrm_enabled(psoc, value);
4233 }
4234
4235 /**
4236 * ucfg_mlme_get_latency_enable() - Get the latency_enable
4237 * @psoc: pointer to psoc object
4238 * @value: Value that needs to be get from the caller
4239 *
4240 * Return: QDF Status
4241 */
4242 QDF_STATUS
4243 ucfg_mlme_get_latency_enable(struct wlan_objmgr_psoc *psoc, bool *value);
4244
4245 /**
4246 * ucfg_mlme_get_latency_level() - Get the latency level
4247 * @psoc: pointer to psoc object
4248 * @value: Value that needs to be get from the caller
4249 * latency values are defined in WMI_WLM_LATENCY_LEVEL
4250 *
4251 * Return: QDF Status
4252 */
4253 QDF_STATUS
4254 ucfg_mlme_get_latency_level(struct wlan_objmgr_psoc *psoc, uint8_t *value);
4255
4256 /**
4257 * ucfg_mlme_get_latency_host_flags() - Get host flags for latency level
4258 * @psoc: pointer to psoc object
4259 * @latency_level: latency level
4260 * @value: Value that needs to be get from the caller
4261 *
4262 * Return: QDF Status
4263 */
4264 QDF_STATUS
4265 ucfg_mlme_get_latency_host_flags(struct wlan_objmgr_psoc *psoc,
4266 uint8_t latency_level, uint32_t *value);
4267
4268 /**
4269 * ucfg_mlme_get_dtim_selection_diversity() - get dtim selection diversity
4270 * bitmap
4271 * @psoc: pointer to psoc object
4272 * @dtim_selection_div: value that is requested by the caller
4273 *
4274 * Inline UCFG API to be used by HDD/OSIF callers
4275 *
4276 * Return: QDF_STATUS_SUCCESS - in case of success
4277 */
4278 static inline QDF_STATUS
ucfg_mlme_get_dtim_selection_diversity(struct wlan_objmgr_psoc * psoc,uint32_t * dtim_selection_div)4279 ucfg_mlme_get_dtim_selection_diversity(struct wlan_objmgr_psoc *psoc,
4280 uint32_t *dtim_selection_div)
4281 {
4282 return wlan_mlme_get_dtim_selection_diversity(psoc, dtim_selection_div);
4283 }
4284
4285 /**
4286 * ucfg_mlme_get_bmps_min_listen_interval() - get beacon mode powersave
4287 * minimum listen interval value
4288 * @psoc: pointer to psoc object
4289 * @value: value that is requested by the caller
4290 *
4291 * Inline UCFG API to be used by HDD/OSIF callers
4292 *
4293 * Return: QDF_STATUS_SUCCESS - in case of success
4294 */
4295 static inline QDF_STATUS
ucfg_mlme_get_bmps_min_listen_interval(struct wlan_objmgr_psoc * psoc,uint32_t * value)4296 ucfg_mlme_get_bmps_min_listen_interval(struct wlan_objmgr_psoc *psoc,
4297 uint32_t *value)
4298 {
4299 return wlan_mlme_get_bmps_min_listen_interval(psoc, value);
4300 }
4301
4302 /**
4303 * ucfg_mlme_get_bmps_max_listen_interval() - get beacon mode powersave
4304 * maximum listen interval value
4305 * @psoc: pointer to psoc object
4306 * @value: value that is requested by the caller
4307 *
4308 * Inline UCFG API to be used by HDD/OSIF callers
4309 *
4310 * Return: QDF_STATUS_SUCCESS - in case of success
4311 */
4312 static inline QDF_STATUS
ucfg_mlme_get_bmps_max_listen_interval(struct wlan_objmgr_psoc * psoc,uint32_t * value)4313 ucfg_mlme_get_bmps_max_listen_interval(struct wlan_objmgr_psoc *psoc,
4314 uint32_t *value)
4315 {
4316 return wlan_mlme_get_bmps_max_listen_interval(psoc, value);
4317 }
4318
4319 /**
4320 * ucfg_mlme_get_auto_bmps_timer_value() - get bmps timer value
4321 * minimum listen interval value
4322 * @psoc: pointer to psoc object
4323 * @value: value that is requested by the caller
4324 *
4325 * Inline UCFG API to be used by HDD/OSIF callers
4326 *
4327 * Return: QDF_STATUS_SUCCESS - in case of success
4328 */
4329 static inline QDF_STATUS
ucfg_mlme_get_auto_bmps_timer_value(struct wlan_objmgr_psoc * psoc,uint32_t * value)4330 ucfg_mlme_get_auto_bmps_timer_value(struct wlan_objmgr_psoc *psoc,
4331 uint32_t *value)
4332 {
4333 return wlan_mlme_get_auto_bmps_timer_value(psoc, value);
4334 }
4335
4336 /**
4337 * ucfg_mlme_is_bmps_enabled() - check if beacon mode powersave is
4338 * enabled/disabled
4339 * @psoc: pointer to psoc object
4340 * @value: value that is requested by the caller
4341 *
4342 * Inline UCFG API to be used by HDD/OSIF callers
4343 *
4344 * Return: QDF_STATUS_SUCCESS - in case of success
4345 */
4346 static inline QDF_STATUS
ucfg_mlme_is_bmps_enabled(struct wlan_objmgr_psoc * psoc,bool * value)4347 ucfg_mlme_is_bmps_enabled(struct wlan_objmgr_psoc *psoc, bool *value)
4348 {
4349 return wlan_mlme_is_bmps_enabled(psoc, value);
4350 }
4351
4352 /**
4353 * ucfg_mlme_is_imps_enabled() - check if idle mode powersave is
4354 * enabled/disabled
4355 * @psoc: pointer to psoc object
4356 * @value: value that is requested by the caller
4357 *
4358 * Inline UCFG API to be used by HDD/OSIF callers
4359 *
4360 * Return: QDF_STATUS_SUCCESS - in case of success
4361 */
4362 static inline QDF_STATUS
ucfg_mlme_is_imps_enabled(struct wlan_objmgr_psoc * psoc,bool * value)4363 ucfg_mlme_is_imps_enabled(struct wlan_objmgr_psoc *psoc, bool *value)
4364 {
4365 return wlan_mlme_is_imps_enabled(psoc, value);
4366 }
4367
4368 /**
4369 * ucfg_mlme_override_bmps_imps() - disable imps/bmps as part of
4370 * override to disable all ps features
4371 * @psoc: pointer to psoc object
4372 * Inline UCFG API to be used by HDD/OSIF callers
4373 *
4374 * Return: QDF_STATUS_SUCCESS - in case of success
4375 */
4376 static inline QDF_STATUS
ucfg_mlme_override_bmps_imps(struct wlan_objmgr_psoc * psoc)4377 ucfg_mlme_override_bmps_imps(struct wlan_objmgr_psoc *psoc)
4378 {
4379 return wlan_mlme_override_bmps_imps(psoc);
4380 }
4381
4382 #ifdef MWS_COEX
4383 /**
4384 * ucfg_mlme_get_mws_coex_4g_quick_tdm() - Get mws coex 4g quick tdm
4385 * @psoc: pointer to psoc object
4386 * @val: Pointer to the value which will be filled for the caller
4387 *
4388 * Return: QDF Status
4389 */
4390 QDF_STATUS
4391 ucfg_mlme_get_mws_coex_4g_quick_tdm(struct wlan_objmgr_psoc *psoc,
4392 uint32_t *val);
4393
4394 /**
4395 * ucfg_mlme_get_mws_coex_5g_nr_pwr_limit() - Get mws coex 5g nr pwr limit
4396 * @psoc: pointer to psoc object
4397 * @val: Pointer to the value which will be filled for the caller
4398 *
4399 * Return: QDF Status
4400 */
4401 QDF_STATUS
4402 ucfg_mlme_get_mws_coex_5g_nr_pwr_limit(struct wlan_objmgr_psoc *psoc,
4403 uint32_t *val);
4404
4405 /**
4406 * ucfg_mlme_get_mws_coex_pcc_channel_avoid_delay() - Get mws coex pcc
4407 * avoid channel delay
4408 * @psoc: pointer to psoc object
4409 * @val: Pointer to the value which will be filled for the caller
4410 *
4411 * Return: QDF Status
4412 */
4413 QDF_STATUS
4414 ucfg_mlme_get_mws_coex_pcc_channel_avoid_delay(struct wlan_objmgr_psoc *psoc,
4415 uint32_t *val);
4416
4417 /**
4418 * ucfg_mlme_get_mws_coex_scc_channel_avoid_delay() - Get mws coex scc
4419 * avoidance channel delay
4420 * @psoc: pointer to psoc object
4421 * @val: Pointer to the value which will be filled for the caller
4422 *
4423 * Return: QDF Status
4424 */
4425 QDF_STATUS
4426 ucfg_mlme_get_mws_coex_scc_channel_avoid_delay(struct wlan_objmgr_psoc *psoc,
4427 uint32_t *val);
4428 #endif
4429
4430 /**
4431 * ucfg_mlme_get_etsi_srd_chan_in_master_mode - get etsi srd chan
4432 * in master mode
4433 * @psoc: pointer to psoc object
4434 * @value: pointer to the value which will be filled for the caller
4435 *
4436 * Return: QDF Status
4437 */
4438 QDF_STATUS
4439 ucfg_mlme_get_etsi_srd_chan_in_master_mode(struct wlan_objmgr_psoc *psoc,
4440 uint8_t *value);
4441
4442 /**
4443 * ucfg_mlme_get_5dot9_ghz_chan_in_master_mode - get fcc 5.9 GHz chan
4444 * in master mode
4445 * @psoc: pointer to psoc object
4446 * @value: pointer to the value which will be filled for the caller
4447 *
4448 * Return: QDF Status
4449 */
4450 QDF_STATUS
4451 ucfg_mlme_get_5dot9_ghz_chan_in_master_mode(struct wlan_objmgr_psoc *psoc,
4452 bool *value);
4453
4454 /**
4455 * ucfg_mlme_get_srd_master_mode_for_vdev() - Get SRD master mode for vdev
4456 * @psoc: pointer to psoc object
4457 * @vdev_opmode: vdev opmode
4458 * @value: pointer to the value which will be filled for the caller
4459 *
4460 * Return: QDF Status
4461 */
4462 QDF_STATUS
4463 ucfg_mlme_get_srd_master_mode_for_vdev(struct wlan_objmgr_psoc *psoc,
4464 enum QDF_OPMODE vdev_opmode,
4465 bool *value);
4466
4467 #ifdef SAP_AVOID_ACS_FREQ_LIST
4468 /**
4469 * ucfg_mlme_get_acs_avoid_freq_list - get acs avoid frequency list
4470 * @psoc: pointer to psoc object
4471 * @freq_list: Pointer to output freq list
4472 * @freq_list_num: Pointer to the output number of frequencies filled
4473 * in the freq_list
4474 *
4475 * Return: QDF Status
4476 */
4477 QDF_STATUS
4478 ucfg_mlme_get_acs_avoid_freq_list(struct wlan_objmgr_psoc *psoc,
4479 uint16_t *freq_list, uint8_t *freq_list_num);
4480
4481 #else
4482 static inline QDF_STATUS
ucfg_mlme_get_acs_avoid_freq_list(struct wlan_objmgr_psoc * psoc,uint16_t * freq_list,uint8_t * freq_list_num)4483 ucfg_mlme_get_acs_avoid_freq_list(struct wlan_objmgr_psoc *psoc,
4484 uint16_t *freq_list, uint8_t *freq_list_num)
4485 {
4486 *freq_list_num = 0;
4487 return QDF_STATUS_E_INVAL;
4488 }
4489 #endif
4490
4491 /**
4492 * ucfg_mlme_get_11d_in_world_mode - get whether 11d is enabled in world mode
4493 * in master mode
4494 * @psoc: pointer to psoc object
4495 * @value: pointer to the value which will be filled for the caller
4496 *
4497 * Return: QDF Status
4498 */
4499 QDF_STATUS
4500 ucfg_mlme_get_11d_in_world_mode(struct wlan_objmgr_psoc *psoc,
4501 bool *value);
4502
4503 /**
4504 * ucfg_mlme_get_restart_beaconing_on_ch_avoid() - get restart beaconing on
4505 * channel avoid
4506 * @psoc: pointer to psoc object
4507 * @value: pointer to the value which will be filled for the caller
4508 *
4509 * Return: QDF Status
4510 */
4511 QDF_STATUS
4512 ucfg_mlme_get_restart_beaconing_on_ch_avoid(struct wlan_objmgr_psoc *psoc,
4513 uint32_t *value);
4514
4515 /**
4516 * ucfg_mlme_get_indoor_channel_support() - get indoor channel support
4517 * @psoc: pointer to psoc object
4518 * @value: pointer to the value which will be filled for the caller
4519 *
4520 * Return: QDF Status
4521 */
4522 QDF_STATUS
4523 ucfg_mlme_get_indoor_channel_support(struct wlan_objmgr_psoc *psoc,
4524 bool *value);
4525
4526 /**
4527 * ucfg_mlme_get_scan_11d_interval() - get scan 11d interval
4528 * @psoc: pointer to psoc object
4529 * @value: Pointer to the value which will be filled for the caller
4530 *
4531 * Return: QDF Status
4532 */
4533 QDF_STATUS
4534 ucfg_mlme_get_scan_11d_interval(struct wlan_objmgr_psoc *psoc,
4535 uint32_t *value);
4536
4537 /**
4538 * ucfg_mlme_get_nol_across_regdmn() - get scan 11d interval
4539 * @psoc: pointer to psoc object
4540 * @value: Pointer to the value which will be filled for the caller
4541 *
4542 * Return: QDF Status
4543 */
4544
4545 QDF_STATUS
4546 ucfg_mlme_get_nol_across_regdmn(struct wlan_objmgr_psoc *psoc, bool *value);
4547
4548 /**
4549 * ucfg_mlme_get_valid_channel_freq_list() - get valid channel
4550 * list
4551 * @psoc: pointer to psoc object
4552 * @channel_list: pointer to return channel list
4553 * @channel_list_num: pointer to return channel list number
4554 *
4555 * Return: QDF Status
4556 */
4557 QDF_STATUS
4558 ucfg_mlme_get_valid_channel_freq_list(struct wlan_objmgr_psoc *psoc,
4559 uint32_t *channel_list,
4560 uint32_t *channel_list_num);
4561
4562 #ifdef FEATURE_LFR_SUBNET_DETECTION
4563 /**
4564 * ucfg_mlme_is_subnet_detection_enabled() - check if sub net detection is
4565 * enabled/disabled
4566 * @psoc: pointer to psoc object
4567 * @val: value that is requested by the caller
4568 *
4569 * Inline UCFG API to be used by HDD/OSIF callers
4570 *
4571 * Return: QDF_STATUS_SUCCESS - in case of success
4572 */
4573 QDF_STATUS
4574 ucfg_mlme_is_subnet_detection_enabled(struct wlan_objmgr_psoc *psoc, bool *val);
4575 #else
4576 static QDF_STATUS
ucfg_mlme_is_subnet_detection_enabled(struct wlan_objmgr_psoc * psoc,bool * val)4577 ucfg_mlme_is_subnet_detection_enabled(struct wlan_objmgr_psoc *psoc, bool *val)
4578 {
4579 *val = false;
4580
4581 return QDF_STATUS_SUCCESS;
4582 }
4583 #endif /* FEATURE_LFR_SUBNET_DETECTION */
4584
4585 /**
4586 * ucfg_mlme_set_current_tx_power_level() - set current tx power level
4587 * @psoc: pointer to psoc object
4588 * @value: data to be set
4589 *
4590 * Return: QDF Status
4591 */
4592 QDF_STATUS
4593 ucfg_mlme_set_current_tx_power_level(struct wlan_objmgr_psoc *psoc,
4594 uint8_t value);
4595
4596 /**
4597 * ucfg_mlme_get_current_tx_power_level() - get current tx power level
4598 * @psoc: pointer to psoc object
4599 * @value: pointer to the value which will be filled for the caller
4600 *
4601 * Return: QDF Status
4602 */
4603 QDF_STATUS
4604 ucfg_mlme_get_current_tx_power_level(struct wlan_objmgr_psoc *psoc,
4605 uint8_t *value);
4606
4607 /**
4608 * ucfg_wlan_mlme_get_reg_tpc_info() - get current regulatory tpc info
4609 * @vdev: pointer to vdev object
4610 * @tpc_info: pointer to tpc info buffer
4611 *
4612 * Return: QDF Status
4613 */
4614 QDF_STATUS
4615 ucfg_wlan_mlme_get_reg_tpc_info(struct wlan_objmgr_vdev *vdev,
4616 struct reg_tpc_power_info *tpc_info);
4617
4618 /**
4619 * ucfg_mlme_set_obss_detection_offload_enabled() - Enable obss offload
4620 * @psoc: pointer to psoc object
4621 * @value: enable or disable
4622 *
4623 * Return: QDF Status
4624 */
4625 QDF_STATUS
4626 ucfg_mlme_set_obss_detection_offload_enabled(struct wlan_objmgr_psoc *psoc,
4627 uint8_t value);
4628
4629 /**
4630 * ucfg_mlme_set_obss_color_collision_offload_enabled() - Enable obss color
4631 * collision offload
4632 * @psoc: pointer to psoc object
4633 * @value: enable or disable
4634 *
4635 * Return: QDF Status
4636 */
4637 QDF_STATUS
4638 ucfg_mlme_set_obss_color_collision_offload_enabled(
4639 struct wlan_objmgr_psoc *psoc, uint8_t value);
4640
4641 /**
4642 * ucfg_mlme_set_bss_color_collision_det_sta() - Enable bss color
4643 * collision detection offload for STA mode
4644 * @psoc: pointer to psoc object
4645 * @value: enable or disable
4646 *
4647 * Return: QDF Status
4648 */
4649 QDF_STATUS
4650 ucfg_mlme_set_bss_color_collision_det_sta(struct wlan_objmgr_psoc *psoc,
4651 bool value);
4652
4653 /**
4654 * ucfg_mlme_set_bss_color_collision_det_support() - Set bss color collision
4655 * detection offload support from FW for STA mode
4656 * @psoc: pointer to psoc object
4657 * @value: enable or disable
4658 *
4659 * Return: QDF Status
4660 */
4661 QDF_STATUS
4662 ucfg_mlme_set_bss_color_collision_det_support(struct wlan_objmgr_psoc *psoc,
4663 bool value);
4664
4665 /**
4666 * ucfg_mlme_get_bss_color_collision_det_support() - Get bss color collision
4667 * detection offload FW support for STA mode
4668 * @psoc: pointer to psoc object
4669 * @value: pointer to the value which will be filled for the caller
4670 *
4671 * Return: QDF Status
4672 */
4673 QDF_STATUS
4674 ucfg_mlme_get_bss_color_collision_det_support(struct wlan_objmgr_psoc *psoc,
4675 bool *value);
4676
4677 /**
4678 * ucfg_mlme_set_restricted_80p80_bw_supp() - Set the restricted 80p80 support
4679 * @psoc: pointer to psoc object
4680 * @restricted_80p80_supp: Value to be set from the caller
4681 *
4682 * Return: QDF Status
4683 */
4684 QDF_STATUS ucfg_mlme_set_restricted_80p80_bw_supp(struct wlan_objmgr_psoc *psoc,
4685 bool restricted_80p80_supp);
4686
4687 /**
4688 * ucfg_mlme_get_restricted_80p80_bw_supp() - Get the restricted 80p80 support
4689 * @psoc: pointer to psoc object
4690 *
4691 * Return: true or false
4692 */
4693 bool ucfg_mlme_get_restricted_80p80_bw_supp(struct wlan_objmgr_psoc *psoc);
4694
4695 /**
4696 * ucfg_mlme_get_update_chan_width_allowed - Get value of INI
4697 * is_update_chan_width_allowed
4698 * @psoc: pointer to psoc object
4699 * @value: pointer to the value which will be filled for the caller
4700 *
4701 * Return: QDF Status
4702 */
4703 QDF_STATUS
4704 ucfg_mlme_get_update_chan_width_allowed(struct wlan_objmgr_psoc *psoc,
4705 bool *value);
4706
4707 /**
4708 * ucfg_mlme_get_channel_bonding_24ghz() - get channel bonding mode of 24ghz
4709 * @psoc: pointer to psoc object
4710 * @value: pointer to the value which will be filled for the caller
4711 *
4712 * Return: QDF Status
4713 */
4714 QDF_STATUS
4715 ucfg_mlme_get_channel_bonding_24ghz(struct wlan_objmgr_psoc *psoc,
4716 uint32_t *value);
4717
4718 /**
4719 * ucfg_mlme_set_channel_bonding_24ghz() - set channel bonding mode for 24ghz
4720 * @psoc: pointer to psoc object
4721 * @value: channel bonding mode
4722 *
4723 * Return: QDF Status
4724 */
4725 QDF_STATUS
4726 ucfg_mlme_set_channel_bonding_24ghz(struct wlan_objmgr_psoc *psoc,
4727 uint32_t value);
4728
4729 /**
4730 * ucfg_mlme_get_channel_bonding_5ghz() - get channel bonding mode of 5ghz
4731 * @psoc: pointer to psoc object
4732 * @value: pointer to the value which will be filled for the caller
4733 *
4734 * Return: QDF Status
4735 */
4736 QDF_STATUS
4737 ucfg_mlme_get_channel_bonding_5ghz(struct wlan_objmgr_psoc *psoc,
4738 uint32_t *value);
4739
4740 /**
4741 * ucfg_mlme_set_channel_bonding_5ghz() - set channel bonding mode for 5ghz
4742 * @psoc: pointer to psoc object
4743 * @value: channel bonding mode
4744 *
4745 * Return: QDF Status
4746 */
4747 QDF_STATUS
4748 ucfg_mlme_set_channel_bonding_5ghz(struct wlan_objmgr_psoc *psoc,
4749 uint32_t value);
4750
4751 /**
4752 * ucfg_mlme_get_scan_probe_unicast_ra() - Get scan probe unicast RA cfg
4753 *
4754 * @psoc: pointer to psoc object
4755 * @value: value which needs to filled by API
4756 *
4757 * This API gives scan probe request with unicast RA user config
4758 *
4759 * Return: QDF_STATUS
4760 */
4761 static inline QDF_STATUS
ucfg_mlme_get_scan_probe_unicast_ra(struct wlan_objmgr_psoc * psoc,bool * value)4762 ucfg_mlme_get_scan_probe_unicast_ra(struct wlan_objmgr_psoc *psoc,
4763 bool *value)
4764 {
4765 return wlan_mlme_get_scan_probe_unicast_ra(psoc, value);
4766 }
4767
4768 /**
4769 * ucfg_mlme_set_scan_probe_unicast_ra() - Set scan probe unicast RA cfg
4770 *
4771 * @psoc: pointer to psoc object
4772 * @value: set value
4773 *
4774 * This API sets scan probe request with unicast RA user config
4775 *
4776 * Return: QDF_STATUS
4777 */
4778 static inline QDF_STATUS
ucfg_mlme_set_scan_probe_unicast_ra(struct wlan_objmgr_psoc * psoc,bool value)4779 ucfg_mlme_set_scan_probe_unicast_ra(struct wlan_objmgr_psoc *psoc,
4780 bool value)
4781 {
4782 return wlan_mlme_set_scan_probe_unicast_ra(psoc, value);
4783 }
4784
4785 /**
4786 * ucfg_mlme_get_peer_phymode() - get phymode of peer
4787 * @psoc: pointer to psoc object
4788 * @mac: Pointer to the mac addr of the peer
4789 * @peer_phymode: phymode
4790 *
4791 * Return: QDF Status
4792 */
4793 static inline QDF_STATUS
ucfg_mlme_get_peer_phymode(struct wlan_objmgr_psoc * psoc,uint8_t * mac,enum wlan_phymode * peer_phymode)4794 ucfg_mlme_get_peer_phymode(struct wlan_objmgr_psoc *psoc, uint8_t *mac,
4795 enum wlan_phymode *peer_phymode)
4796 {
4797 return mlme_get_peer_phymode(psoc, mac, peer_phymode);
4798 }
4799
4800 /**
4801 * ucfg_mlme_validate_full_roam_scan_period() - Validate full roam scan period
4802 * @full_roam_scan_period: Idle period in seconds between two successive
4803 * full channel roam scans
4804 *
4805 * Return: True if full_roam_scan_period is in expected range, false otherwise.
4806 */
4807 bool ucfg_mlme_validate_full_roam_scan_period(uint32_t full_roam_scan_period);
4808
4809 /**
4810 * ucfg_mlme_validate_scan_period() - Validate if scan period is in valid range
4811 * @psoc: Pointer to soc
4812 * @roam_scan_period: Scan period in msec
4813 *
4814 * Return: True if roam_scan_period is in expected range, false otherwise.
4815 */
4816 bool ucfg_mlme_validate_scan_period(struct wlan_objmgr_psoc *psoc,
4817 uint32_t roam_scan_period);
4818 /**
4819 * ucfg_mlme_get_ignore_fw_reg_offload_ind() - Get the
4820 * ignore_fw_reg_offload_ind ini
4821 * @psoc: pointer to psoc object
4822 * @disabled: output pointer to hold user config
4823 *
4824 * Return: QDF Status
4825 */
4826 static inline QDF_STATUS
ucfg_mlme_get_ignore_fw_reg_offload_ind(struct wlan_objmgr_psoc * psoc,bool * disabled)4827 ucfg_mlme_get_ignore_fw_reg_offload_ind(struct wlan_objmgr_psoc *psoc,
4828 bool *disabled)
4829 {
4830 return wlan_mlme_get_ignore_fw_reg_offload_ind(psoc, disabled);
4831 }
4832
4833 /**
4834 * ucfg_mlme_get_peer_unmap_conf() - Indicate if peer unmap confirmation
4835 * support is enabled or disabled
4836 * @psoc: pointer to psoc object
4837 *
4838 * Return: true if peer unmap confirmation support is enabled, else false
4839 */
4840 static inline
ucfg_mlme_get_peer_unmap_conf(struct wlan_objmgr_psoc * psoc)4841 QDF_STATUS ucfg_mlme_get_peer_unmap_conf(struct wlan_objmgr_psoc *psoc)
4842 {
4843 return wlan_mlme_get_peer_unmap_conf(psoc);
4844 }
4845
4846 #ifdef WLAN_FEATURE_ROAM_OFFLOAD
4847 /**
4848 * ucfg_mlme_get_roam_reason_vsie_status() - Get roam reason vsie is
4849 * enabled or disabled
4850 * @psoc: pointer to psoc object
4851 * @roam_reason_vsie_enabled: pointer to hold value of roam reason vsie
4852 *
4853 * Return: Success if able to get bcn rpt err vsie value, else failure
4854 */
4855 static inline QDF_STATUS
ucfg_mlme_get_roam_reason_vsie_status(struct wlan_objmgr_psoc * psoc,uint8_t * roam_reason_vsie_enabled)4856 ucfg_mlme_get_roam_reason_vsie_status(struct wlan_objmgr_psoc *psoc,
4857 uint8_t *roam_reason_vsie_enabled)
4858 {
4859 return wlan_mlme_get_roam_reason_vsie_status(psoc,
4860 roam_reason_vsie_enabled);
4861 }
4862
4863 /**
4864 * ucfg_mlme_set_roam_reason_vsie_status() - Update roam reason vsie status
4865 * value with user configured value
4866 * @psoc: pointer to psoc object
4867 * @roam_reason_vsie_enabled: value of roam reason vsie status
4868 *
4869 * Return: Success if able to get bcn rpt err vsie value, else failure
4870 */
4871 static inline QDF_STATUS
ucfg_mlme_set_roam_reason_vsie_status(struct wlan_objmgr_psoc * psoc,uint8_t roam_reason_vsie_enabled)4872 ucfg_mlme_set_roam_reason_vsie_status(struct wlan_objmgr_psoc *psoc,
4873 uint8_t roam_reason_vsie_enabled)
4874 {
4875 return wlan_mlme_set_roam_reason_vsie_status(psoc,
4876 roam_reason_vsie_enabled);
4877 }
4878
4879 #endif
4880
4881 /**
4882 * ucfg_mlme_set_vdev_wifi_std() - Set vdev wifi standard support
4883 * @psoc: pointer to psoc object
4884 * @vdev_id: Vdev id
4885 * @wifi_std: wifi standard version
4886 *
4887 * Return: QDF_STATUS
4888 */
4889 QDF_STATUS
4890 ucfg_mlme_set_vdev_wifi_std(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id,
4891 WMI_HOST_WIFI_STANDARD wifi_std);
4892
4893 /**
4894 * ucfg_mlme_set_vdev_traffic_low_latency() - Set/clear vdev low latency
4895 * config
4896 * @psoc: pointer to psoc object
4897 * @vdev_id: Vdev id
4898 * @set: Flag to indicate set or clear
4899 *
4900 * Return: QDF_STATUS
4901 */
4902 QDF_STATUS
4903 ucfg_mlme_set_vdev_traffic_low_latency(struct wlan_objmgr_psoc *psoc,
4904 uint8_t vdev_id, bool set);
4905
4906 /**
4907 * ucfg_mlme_update_bss_rate_flags() - update bss rate flag as per new channel
4908 * width
4909 * @psoc: pointer to psoc object
4910 * @vdev_id: Vdev id
4911 * @ch_width: channel width to update
4912 * @eht_present: connected bss is eht capable or not
4913 * @he_present: connected bss is he capable or not
4914 * @vht_present: connected bss is vht capable or not
4915 * @ht_present: connected bss is ht capable or not
4916 *
4917 * Return: QDF_STATUS
4918 */
4919 QDF_STATUS ucfg_mlme_update_bss_rate_flags(struct wlan_objmgr_psoc *psoc,
4920 uint8_t vdev_id,
4921 enum phy_ch_width ch_width,
4922 uint8_t eht_present,
4923 uint8_t he_present,
4924 uint8_t vht_present,
4925 uint8_t ht_present);
4926
4927 /**
4928 * ucfg_mlme_send_ch_width_update_with_notify() - Send chwidth with notify
4929 * capability of FW
4930 * @psoc: pointer to psoc object
4931 * @link_vdev: Link VDEV object
4932 * @ch_width: channel width to update
4933 * @link_vdev_id: vdev id for each link
4934 *
4935 * Return: QDF_STATUS
4936 */
4937 QDF_STATUS
4938 ucfg_mlme_send_ch_width_update_with_notify(struct wlan_objmgr_psoc *psoc,
4939 struct wlan_objmgr_vdev *link_vdev,
4940 enum phy_ch_width ch_width,
4941 uint8_t link_vdev_id);
4942
4943 /**
4944 * ucfg_mlme_is_chwidth_with_notify_supported() - Get chwidth with notify
4945 * capability of FW
4946 * @psoc: pointer to psoc object
4947 *
4948 * Return: true if chwidth with notify feature supported
4949 */
4950 bool
4951 ucfg_mlme_is_chwidth_with_notify_supported(struct wlan_objmgr_psoc *psoc);
4952
4953 /**
4954 * ucfg_mlme_connected_chan_stats_request() - process connected channel stats
4955 * request
4956 * @psoc: pointer to psoc object
4957 * @vdev_id: Vdev id
4958 *
4959 * Return: QDF_STATUS
4960 */
4961 QDF_STATUS ucfg_mlme_connected_chan_stats_request(struct wlan_objmgr_psoc *psoc,
4962 uint8_t vdev_id);
4963
4964 /**
4965 * ucfg_mlme_set_vdev_traffic_high_throughput() - Set/clear vdev high
4966 * throughput config
4967 * @psoc: pointer to psoc object
4968 * @vdev_id: Vdev id
4969 * @set: Flag to indicate set or clear
4970 *
4971 * Return: QDF_STATUS
4972 */
4973 QDF_STATUS
4974 ucfg_mlme_set_vdev_traffic_high_throughput(struct wlan_objmgr_psoc *psoc,
4975 uint8_t vdev_id, bool set);
4976
4977 /**
4978 * ucfg_mlme_set_user_ps() - Set the PS user config
4979 * @psoc: pointer to psoc object
4980 * @vdev_id: Vdev id
4981 * @ps_enable: Flag to indicate if user PS is enabled
4982 *
4983 * Return: QDF_STATUS
4984 */
4985 static inline
ucfg_mlme_set_user_ps(struct wlan_objmgr_psoc * psoc,uint8_t vdev_id,bool ps_enable)4986 QDF_STATUS ucfg_mlme_set_user_ps(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id,
4987 bool ps_enable)
4988 {
4989 return mlme_set_user_ps(psoc, vdev_id, ps_enable);
4990 }
4991
4992 /**
4993 * ucfg_mlme_get_user_ps() - Get user PS flag
4994 * @psoc: pointer to psoc object
4995 * @vdev_id: Vdev id
4996 *
4997 * Return: True if user ps is enabled else false
4998 */
4999 static inline
ucfg_mlme_get_user_ps(struct wlan_objmgr_psoc * psoc,uint8_t vdev_id)5000 bool ucfg_mlme_get_user_ps(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id)
5001 {
5002 return mlme_get_user_ps(psoc, vdev_id);
5003 }
5004
5005 /**
5006 * ucfg_mlme_set_ft_over_ds() - update ft_over_ds status with user configured
5007 * value
5008 * @psoc: pointer to psoc object
5009 * @ft_over_ds_enable: value of ft_over_ds
5010 *
5011 * Return: QDF Status
5012 */
5013 static inline QDF_STATUS
ucfg_mlme_set_ft_over_ds(struct wlan_objmgr_psoc * psoc,uint8_t ft_over_ds_enable)5014 ucfg_mlme_set_ft_over_ds(struct wlan_objmgr_psoc *psoc,
5015 uint8_t ft_over_ds_enable)
5016 {
5017 return wlan_mlme_set_ft_over_ds(psoc, ft_over_ds_enable);
5018 }
5019
5020 /**
5021 * ucfg_mlme_is_sta_mon_conc_supported() - Check if STA + Monitor mode
5022 * concurrency is supported
5023 * @psoc: pointer to psoc object
5024 *
5025 * Return: True if supported, else false.
5026 */
5027 static inline bool
ucfg_mlme_is_sta_mon_conc_supported(struct wlan_objmgr_psoc * psoc)5028 ucfg_mlme_is_sta_mon_conc_supported(struct wlan_objmgr_psoc *psoc)
5029 {
5030 return wlan_mlme_is_sta_mon_conc_supported(psoc);
5031 }
5032
5033 /**
5034 * ucfg_mlme_cfg_get_eht_caps() - Get the EHT capability info
5035 * @psoc: pointer to psoc object
5036 * @eht_cap: Caps that needs to be filled.
5037 *
5038 * Return: QDF Status
5039 */
5040 static inline
ucfg_mlme_cfg_get_eht_caps(struct wlan_objmgr_psoc * psoc,tDot11fIEeht_cap * eht_cap)5041 QDF_STATUS ucfg_mlme_cfg_get_eht_caps(struct wlan_objmgr_psoc *psoc,
5042 tDot11fIEeht_cap *eht_cap)
5043 {
5044 return mlme_cfg_get_eht_caps(psoc, eht_cap);
5045 }
5046
5047 static inline QDF_STATUS
ucfg_mlme_cfg_get_vht_ampdu_len_exp(struct wlan_objmgr_psoc * psoc,uint8_t * value)5048 ucfg_mlme_cfg_get_vht_ampdu_len_exp(struct wlan_objmgr_psoc *psoc,
5049 uint8_t *value)
5050 {
5051 return wlan_mlme_cfg_get_vht_ampdu_len_exp(psoc, value);
5052 }
5053
5054 static inline QDF_STATUS
ucfg_mlme_cfg_get_vht_max_mpdu_len(struct wlan_objmgr_psoc * psoc,uint8_t * value)5055 ucfg_mlme_cfg_get_vht_max_mpdu_len(struct wlan_objmgr_psoc *psoc,
5056 uint8_t *value)
5057 {
5058 return wlan_mlme_cfg_get_vht_max_mpdu_len(psoc, value);
5059 }
5060
5061 static inline QDF_STATUS
ucfg_mlme_cfg_get_ht_smps(struct wlan_objmgr_psoc * psoc,uint8_t * value)5062 ucfg_mlme_cfg_get_ht_smps(struct wlan_objmgr_psoc *psoc,
5063 uint8_t *value)
5064 {
5065 return wlan_mlme_cfg_get_ht_smps(psoc, value);
5066 }
5067
5068 #ifdef FEATURE_WLAN_CH_AVOID_EXT
5069 /**
5070 * ucfg_mlme_get_coex_unsafe_chan_nb_user_prefer() - get coex unsafe nb
5071 * support
5072 * @psoc: pointer to psoc object
5073 *
5074 * Return: coex_unsafe_chan_nb_user_prefer
5075 */
5076 bool ucfg_mlme_get_coex_unsafe_chan_nb_user_prefer(
5077 struct wlan_objmgr_psoc *psoc);
5078
5079 bool ucfg_mlme_get_coex_unsafe_chan_nb_user_prefer_for_sap(
5080 struct wlan_objmgr_psoc *psoc);
5081
5082 /**
5083 * ucfg_mlme_get_coex_unsafe_chan_reg_disable() - get reg disable cap for
5084 * coex unsafe channels support
5085 * @psoc: pointer to psoc object
5086 *
5087 * Return: coex_unsafe_chan_reg_disable
5088 */
5089 bool ucfg_mlme_get_coex_unsafe_chan_reg_disable(
5090 struct wlan_objmgr_psoc *psoc);
5091 #else
5092 static inline
ucfg_mlme_get_coex_unsafe_chan_nb_user_prefer(struct wlan_objmgr_psoc * psoc)5093 bool ucfg_mlme_get_coex_unsafe_chan_nb_user_prefer(
5094 struct wlan_objmgr_psoc *psoc)
5095 {
5096 return false;
5097 }
5098
5099 static inline
ucfg_mlme_get_coex_unsafe_chan_nb_user_prefer_for_sap(struct wlan_objmgr_psoc * psoc)5100 bool ucfg_mlme_get_coex_unsafe_chan_nb_user_prefer_for_sap(
5101 struct wlan_objmgr_psoc *psoc)
5102 {
5103 return false;
5104 }
5105
5106 static inline
ucfg_mlme_get_coex_unsafe_chan_reg_disable(struct wlan_objmgr_psoc * psoc)5107 bool ucfg_mlme_get_coex_unsafe_chan_reg_disable(
5108 struct wlan_objmgr_psoc *psoc)
5109 {
5110 return false;
5111 }
5112 #endif
5113
5114 /**
5115 * ucfg_set_ratemask_params() - Set ratemask config
5116 * @vdev: pointer to vdev object
5117 * @num_ratemask: number of ratemask params
5118 * @rate_params: ratemask params
5119 *
5120 * Return: QDF_STATUS
5121 */
5122 static inline QDF_STATUS
ucfg_set_ratemask_params(struct wlan_objmgr_vdev * vdev,uint8_t num_ratemask,struct config_ratemask_params * rate_params)5123 ucfg_set_ratemask_params(struct wlan_objmgr_vdev *vdev,
5124 uint8_t num_ratemask,
5125 struct config_ratemask_params *rate_params)
5126 {
5127 return wlan_mlme_update_ratemask_params(vdev, num_ratemask,
5128 rate_params);
5129 }
5130
5131 /*
5132 * ucfg_mlme_set_user_mcc_quota() - Set the user set mcc quota in mlme
5133 * value
5134 * @psoc: pointer to psoc object
5135 * @quota: pointer to user mcc quota object
5136 *
5137 * Return: QDF Status
5138 */
5139 static inline
ucfg_mlme_set_user_mcc_quota(struct wlan_objmgr_psoc * psoc,struct wlan_user_mcc_quota * quota)5140 QDF_STATUS ucfg_mlme_set_user_mcc_quota(struct wlan_objmgr_psoc *psoc,
5141 struct wlan_user_mcc_quota *quota)
5142 {
5143 return wlan_mlme_set_user_mcc_quota(psoc, quota);
5144 }
5145
5146 /**
5147 * ucfg_mlme_get_user_mcc_quota() - Get the user set mcc quota from mlme
5148 * value
5149 * @psoc: pointer to psoc object
5150 * @quota: pointer to user mcc quota object
5151 *
5152 * Return: QDF Status
5153 */
5154 static inline
ucfg_mlme_get_user_mcc_quota(struct wlan_objmgr_psoc * psoc,struct wlan_user_mcc_quota * quota)5155 QDF_STATUS ucfg_mlme_get_user_mcc_quota(struct wlan_objmgr_psoc *psoc,
5156 struct wlan_user_mcc_quota *quota)
5157 {
5158 return wlan_mlme_get_user_mcc_quota(psoc, quota);
5159 }
5160
5161 /**
5162 * ucfg_mlme_get_user_mcc_quota_percentage() - Get user mcc quota percentage
5163 * duty-cycle for a i/f type or mode
5164 * @psoc: pointer to psoc object
5165 *
5166 * MCC duty-cycle value in below format
5167 * ******************************************************
5168 * |bit 31-24 | bit 23-16 | bits 15-8 |bits 7-0 |
5169 * | Unused | Quota for | chan. # for |chan. # for|
5170 * | | 1st chan | 1st chan. |2nd chan. |
5171 * *****************************************************
5172 *
5173 * Return: primary iface MCC duty-cycle value
5174 */
5175 static inline
ucfg_mlme_get_user_mcc_quota_percentage(struct wlan_objmgr_psoc * psoc)5176 uint32_t ucfg_mlme_get_user_mcc_quota_percentage(struct wlan_objmgr_psoc *psoc)
5177 {
5178 return wlan_mlme_get_user_mcc_duty_cycle_percentage(psoc);
5179 }
5180
5181 /**
5182 * ucfg_mlme_get_wds_mode() - Get the configured WDS mode
5183 * @psoc: pointer to psoc object
5184 *
5185 * Return: supported wds mode from enum wlan_wds_mode
5186 */
5187 static inline uint32_t
ucfg_mlme_get_wds_mode(struct wlan_objmgr_psoc * psoc)5188 ucfg_mlme_get_wds_mode(struct wlan_objmgr_psoc *psoc)
5189 {
5190 return wlan_mlme_get_wds_mode(psoc);
5191 }
5192
5193 /**
5194 * ucfg_mlme_set_wds_mode() - Set the configured WDS mode
5195 * @psoc: pointer to psoc object
5196 * @mode: wds mode to set
5197 *
5198 * Return: void
5199 */
5200 static inline void
ucfg_mlme_set_wds_mode(struct wlan_objmgr_psoc * psoc,uint32_t mode)5201 ucfg_mlme_set_wds_mode(struct wlan_objmgr_psoc *psoc, uint32_t mode)
5202 {
5203 wlan_mlme_set_wds_mode(psoc, mode);
5204 }
5205
5206 #ifdef WLAN_FEATURE_SON
5207 /**
5208 * ucfg_mlme_get_vdev_max_mcs_idx() - Get max mcs idx of given vdev
5209 * @vdev: pointer to vdev object
5210 *
5211 * Return: max mcs idx of given vdev
5212 */
5213 static inline uint8_t
ucfg_mlme_get_vdev_max_mcs_idx(struct wlan_objmgr_vdev * vdev)5214 ucfg_mlme_get_vdev_max_mcs_idx(struct wlan_objmgr_vdev *vdev)
5215 {
5216 return mlme_get_vdev_max_mcs_idx(vdev);
5217 }
5218 #endif /* WLAN_FEATURE_SON */
5219
5220 #if defined(CONFIG_AFC_SUPPORT) && defined(CONFIG_BAND_6GHZ)
5221 /**
5222 * ucfg_mlme_get_enable_6ghz_sp_mode_support() - Get 6 GHz SP mode support cfg
5223 * @psoc: pointer to psoc object
5224 * @value: value to be set
5225 *
5226 * Return: QDF Status
5227 */
5228 QDF_STATUS
5229 ucfg_mlme_get_enable_6ghz_sp_mode_support(struct wlan_objmgr_psoc *psoc,
5230 bool *value);
5231
5232 /**
5233 * ucfg_mlme_get_afc_disable_timer_check() - Get AFC timer check cfg
5234 * @psoc: pointer to psoc object
5235 * @value: value to be set
5236 *
5237 * Return: QDF Status
5238 */
5239 QDF_STATUS
5240 ucfg_mlme_get_afc_disable_timer_check(struct wlan_objmgr_psoc *psoc,
5241 bool *value);
5242 /**
5243 * ucfg_mlme_get_afc_disable_request_id_check() - Get AFC request id check cfg
5244 * @psoc: pointer to psoc object
5245 * @value: value to be set
5246 *
5247 * Return: QDF Status
5248 */
5249 QDF_STATUS
5250 ucfg_mlme_get_afc_disable_request_id_check(struct wlan_objmgr_psoc *psoc,
5251 bool *value);
5252
5253 /**
5254 * ucfg_mlme_get_afc_reg_noaction() - Get AFC no action cfg
5255 * @psoc: pointer to psoc object
5256 * @value: value to be set
5257 *
5258 * Return: QDF Status
5259 */
5260 QDF_STATUS
5261 ucfg_mlme_get_afc_reg_noaction(struct wlan_objmgr_psoc *psoc, bool *value);
5262 #else
5263 static inline QDF_STATUS
ucfg_mlme_get_enable_6ghz_sp_mode_support(struct wlan_objmgr_psoc * psoc,bool * value)5264 ucfg_mlme_get_enable_6ghz_sp_mode_support(struct wlan_objmgr_psoc *psoc,
5265 bool *value)
5266 {
5267 return QDF_STATUS_E_NOSUPPORT;
5268 }
5269
5270 static inline QDF_STATUS
ucfg_mlme_get_afc_disable_timer_check(struct wlan_objmgr_psoc * psoc,bool * value)5271 ucfg_mlme_get_afc_disable_timer_check(struct wlan_objmgr_psoc *psoc,
5272 bool *value)
5273 {
5274 return QDF_STATUS_E_NOSUPPORT;
5275 }
5276
5277 static inline QDF_STATUS
ucfg_mlme_get_afc_disable_request_id_check(struct wlan_objmgr_psoc * psoc,bool * value)5278 ucfg_mlme_get_afc_disable_request_id_check(struct wlan_objmgr_psoc *psoc,
5279 bool *value)
5280 {
5281 return QDF_STATUS_E_NOSUPPORT;
5282 }
5283
5284 static inline QDF_STATUS
ucfg_mlme_get_afc_reg_noaction(struct wlan_objmgr_psoc * psoc,bool * value)5285 ucfg_mlme_get_afc_reg_noaction(struct wlan_objmgr_psoc *psoc, bool *value)
5286 {
5287 return QDF_STATUS_E_NOSUPPORT;
5288 }
5289 #endif
5290
5291 #ifdef CONNECTION_ROAMING_CFG
5292 /**
5293 * ucfg_mlme_set_connection_roaming_ini_present() - Set connection roaming ini
5294 * present
5295 * @psoc: pointer to psoc object
5296 * @value: Value to be set
5297 *
5298 * Return: QDF Status
5299 */
5300 QDF_STATUS
5301 ucfg_mlme_set_connection_roaming_ini_present(struct wlan_objmgr_psoc *psoc,
5302 bool value);
5303
5304 /**
5305 * ucfg_mlme_get_connection_roaming_ini_present() - Get connection roaming ini
5306 * present
5307 * @psoc: pointer to psoc object
5308 * @value: Value to be get
5309 *
5310 * Return: QDF Status
5311 */
5312 QDF_STATUS
5313 ucfg_mlme_get_connection_roaming_ini_present(struct wlan_objmgr_psoc *psoc,
5314 bool *value);
5315 #else
5316 static inline QDF_STATUS
ucfg_mlme_set_connection_roaming_ini_present(struct wlan_objmgr_psoc * psoc,bool value)5317 ucfg_mlme_set_connection_roaming_ini_present(struct wlan_objmgr_psoc *psoc,
5318 bool value)
5319 {
5320 return QDF_STATUS_E_NOSUPPORT;
5321 }
5322
5323 static inline QDF_STATUS
ucfg_mlme_get_connection_roaming_ini_present(struct wlan_objmgr_psoc * psoc,bool * value)5324 ucfg_mlme_get_connection_roaming_ini_present(struct wlan_objmgr_psoc *psoc,
5325 bool *value)
5326 {
5327 return QDF_STATUS_E_NOSUPPORT;
5328 }
5329 #endif /* CONNECTION_ROAMING_CFG */
5330
5331 /**
5332 * ucfg_mlme_get_ch_width_from_phymode() - Convert phymode to ch_width
5333 * @phy_mode: phy mode
5334 *
5335 * Return: enum phy_ch_width
5336 */
5337 static inline enum phy_ch_width
ucfg_mlme_get_ch_width_from_phymode(enum wlan_phymode phy_mode)5338 ucfg_mlme_get_ch_width_from_phymode(enum wlan_phymode phy_mode)
5339 {
5340 return wlan_mlme_get_ch_width_from_phymode(phy_mode);
5341 }
5342
5343 /**
5344 * ucfg_mlme_get_peer_ch_width() - get ch_width of the given peer
5345 * @psoc: pointer to psoc object
5346 * @mac: peer mac
5347 *
5348 * Return: enum phy_ch_width
5349 */
5350 static inline enum phy_ch_width
ucfg_mlme_get_peer_ch_width(struct wlan_objmgr_psoc * psoc,uint8_t * mac)5351 ucfg_mlme_get_peer_ch_width(struct wlan_objmgr_psoc *psoc, uint8_t *mac)
5352 {
5353 return wlan_mlme_get_peer_ch_width(psoc, mac);
5354 }
5355
5356 /**
5357 * ucfg_mlme_get_vdev_phy_mode() - Get phymode of a vdev
5358 * @psoc: pointer to psoc object
5359 * @vdev_id: vdev id
5360 *
5361 * Return: enum wlan_phymode
5362 */
5363 enum wlan_phymode
5364 ucfg_mlme_get_vdev_phy_mode(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id);
5365
5366 #if defined(WLAN_FEATURE_SR)
5367 /**
5368 * ucfg_mlme_get_sr_enable_modes() - check for which mode SR is enabled
5369 *
5370 * @psoc: pointer to psoc object
5371 * @val: SR(Spatial Reuse) enable modes
5372 *
5373 * Return: void
5374 */
5375 static inline void
ucfg_mlme_get_sr_enable_modes(struct wlan_objmgr_psoc * psoc,uint8_t * val)5376 ucfg_mlme_get_sr_enable_modes(struct wlan_objmgr_psoc *psoc,
5377 uint8_t *val)
5378 {
5379 wlan_mlme_get_sr_enable_modes(psoc, val);
5380 }
5381 #else
5382 static inline void
ucfg_mlme_get_sr_enable_modes(struct wlan_objmgr_psoc * psoc,uint8_t * val)5383 ucfg_mlme_get_sr_enable_modes(struct wlan_objmgr_psoc *psoc,
5384 uint8_t *val)
5385 {
5386 *val = 0;
5387 }
5388 #endif
5389
5390 /**
5391 * ucfg_mlme_get_valid_channels - get valid channels for
5392 * current regulatory domain
5393 * @psoc: pointer to psoc object
5394 * @ch_freq_list: list of the valid channel frequencies
5395 * @list_len: length of the channel list
5396 *
5397 * This function will get valid channels for current regulatory domain
5398 *
5399 * Return: QDF_STATUS_SUCCESS or non-zero on failure
5400 */
5401 QDF_STATUS
5402 ucfg_mlme_get_valid_channels(struct wlan_objmgr_psoc *psoc,
5403 uint32_t *ch_freq_list, uint32_t *list_len);
5404
5405 /**
5406 * ucfg_mlme_set_ul_mu_config - set ul mu config
5407 * @psoc: pointer to psoc object
5408 * @vdev_id : vdev ID
5409 * @ulmu_disable: ul mu value
5410 *
5411 * Inline UCFG API to be used by HDD/OSIF callers
5412 *
5413 * Return: QDF_STATUS_SUCCESS or non-zero on failure
5414 */
5415 static inline
ucfg_mlme_set_ul_mu_config(struct wlan_objmgr_psoc * psoc,uint8_t vdev_id,uint8_t ulmu_disable)5416 QDF_STATUS ucfg_mlme_set_ul_mu_config(struct wlan_objmgr_psoc *psoc,
5417 uint8_t vdev_id,
5418 uint8_t ulmu_disable)
5419 {
5420 return wlan_mlme_set_ul_mu_config(psoc, vdev_id, ulmu_disable);
5421 }
5422
5423 /**
5424 * ucfg_mlme_assemble_rate_code - assemble rate code to be sent to FW
5425 * @preamble: rate preamble
5426 * @nss: number of spatial streams
5427 * @rate: rate index
5428 *
5429 * Rate code assembling is different for targets which are 11ax capable.
5430 * Check for the target support and assemble the rate code accordingly.
5431 *
5432 * Return: assembled rate code
5433 */
5434 static inline uint32_t
ucfg_mlme_assemble_rate_code(uint8_t preamble,uint8_t nss,uint8_t rate)5435 ucfg_mlme_assemble_rate_code(uint8_t preamble, uint8_t nss, uint8_t rate)
5436 {
5437 return wlan_mlme_assemble_rate_code(preamble, nss, rate);
5438 }
5439
5440 /**
5441 * ucfg_mlme_get_keepalive_period() - Get keep alive period
5442 * @vdev: VDEV object
5443 *
5444 * Return: Keep alive period.
5445 */
5446 static inline
ucfg_mlme_get_keepalive_period(struct wlan_objmgr_vdev * vdev)5447 uint16_t ucfg_mlme_get_keepalive_period(struct wlan_objmgr_vdev *vdev)
5448 {
5449 return wlan_mlme_get_keepalive_period(vdev);
5450 }
5451 #endif /* _WLAN_MLME_UCFG_API_H_ */
5452