1 /*
2  * Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
3  * Copyright (c) 2022-2023 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 internal API related to the fwol component
21  */
22 
23 #ifndef _WLAN_FWOL_UCFG_API_H_
24 #define _WLAN_FWOL_UCFG_API_H_
25 
26 #include <wlan_objmgr_psoc_obj.h>
27 #include <wlan_objmgr_global_obj.h>
28 #include <wlan_cmn.h>
29 #include "wlan_fw_offload_main.h"
30 #include "wlan_fwol_public_structs.h"
31 
32 #ifdef WLAN_FW_OFFLOAD
33 /**
34  * ucfg_fwol_psoc_open() - FWOL component Open
35  * @psoc: pointer to psoc object
36  *
37  * Open the FWOL component and initialize the FWOL structure
38  *
39  * Return: QDF Status
40  */
41 QDF_STATUS ucfg_fwol_psoc_open(struct wlan_objmgr_psoc *psoc);
42 
43 /**
44  * ucfg_fwol_psoc_close() - FWOL component close
45  * @psoc: pointer to psoc object
46  *
47  * Close the FWOL component and clear the FWOL structures
48  *
49  * Return: None
50  */
51 void ucfg_fwol_psoc_close(struct wlan_objmgr_psoc *psoc);
52 
53 /**
54  * ucfg_fwol_psoc_enable() - FWOL component enable
55  * @psoc: pointer to psoc object
56  *
57  * Return: QDF Status
58  */
59 QDF_STATUS ucfg_fwol_psoc_enable(struct wlan_objmgr_psoc *psoc);
60 
61 /**
62  * ucfg_fwol_psoc_disable() - FWOL component disable
63  * @psoc: pointer to psoc object
64  *
65  * Return: None
66  */
67 void ucfg_fwol_psoc_disable(struct wlan_objmgr_psoc *psoc);
68 
69 /**
70  * ucfg_fwol_init() - initialize fwol_ctx context.
71  *
72  * This function initializes the fwol context.
73  *
74  * Return: QDF_STATUS_SUCCESS - in case of success else return error
75  */
76 QDF_STATUS ucfg_fwol_init(void);
77 
78 /**
79  * ucfg_fwol_deinit() - De initialize fwol_ctx context.
80  *
81  * This function De initializes fwol context.
82  *
83  * Return: QDF_STATUS_SUCCESS - in case of success else return error
84  */
85 void ucfg_fwol_deinit(void);
86 
87 #ifdef FW_THERMAL_THROTTLE_SUPPORT
88 /**
89  * ucfg_fwol_thermal_register_callbacks() - Register thermal callbacks
90  * to be called by fwol thermal
91  * @psoc: psoc object
92  * @cb: callback functions
93  *
94  * Currently only one callback notify_thermal_throttle_handler can be
95  * registered to fwol thermal core. The client will be notified by the callback
96  * when new thermal throttle level is changed in target.
97  *
98  * Return: QDF_STATUS
99  */
100 QDF_STATUS ucfg_fwol_thermal_register_callbacks(
101 				struct wlan_objmgr_psoc *psoc,
102 				struct fwol_thermal_callbacks *cb);
103 
104 /**
105  * ucfg_fwol_thermal_unregister_callbacks() - unregister thermal callbacks
106  * @psoc: psoc object
107  *
108  * Return: QDF_STATUS
109  */
110 QDF_STATUS ucfg_fwol_thermal_unregister_callbacks(
111 				struct wlan_objmgr_psoc *psoc);
112 
113 /**
114  * ucfg_fwol_thermal_get_target_level() - get thermal level based on cached
115  *  target thermal throttle level
116  * @psoc: psoc object
117  * @level: target thermal throttle level info
118  *
119  * Return: QDF_STATUS
120  */
121 QDF_STATUS
122 ucfg_fwol_thermal_get_target_level(struct wlan_objmgr_psoc *psoc,
123 				   enum thermal_throttle_level *level);
124 #else
ucfg_fwol_thermal_register_callbacks(struct wlan_objmgr_psoc * psoc,struct fwol_thermal_callbacks * cb)125 static inline QDF_STATUS ucfg_fwol_thermal_register_callbacks(
126 				struct wlan_objmgr_psoc *psoc,
127 				struct fwol_thermal_callbacks *cb)
128 {
129 	return QDF_STATUS_SUCCESS;
130 }
131 
ucfg_fwol_thermal_unregister_callbacks(struct wlan_objmgr_psoc * psoc)132 static inline QDF_STATUS ucfg_fwol_thermal_unregister_callbacks(
133 				struct wlan_objmgr_psoc *psoc)
134 {
135 	return QDF_STATUS_SUCCESS;
136 }
137 
138 static inline QDF_STATUS
ucfg_fwol_thermal_get_target_level(struct wlan_objmgr_psoc * psoc,enum thermal_throttle_level * level)139 ucfg_fwol_thermal_get_target_level(struct wlan_objmgr_psoc *psoc,
140 				   enum thermal_throttle_level *level)
141 
142 {
143 	return QDF_STATUS_E_FAILURE;
144 }
145 #endif
146 
147 /**
148  * ucfg_fwol_get_coex_config_params() - Get coex config params
149  * @psoc: Pointer to psoc object
150  * @coex_config: Pointer to struct wlan_fwol_coex_config
151  *
152  * Return: QDF_STATUS
153  */
154 QDF_STATUS
155 ucfg_fwol_get_coex_config_params(struct wlan_objmgr_psoc *psoc,
156 				 struct wlan_fwol_coex_config *coex_config);
157 
158 /**
159  * ucfg_fwol_get_thermal_temp() - Get thermal temperature config params
160  * @psoc: Pointer to psoc object
161  * @thermal_temp: Pointer to struct wlan_fwol_thermal_temp
162  *
163  * Return: QDF Status
164  */
165 QDF_STATUS
166 ucfg_fwol_get_thermal_temp(struct wlan_objmgr_psoc *psoc,
167 			   struct wlan_fwol_thermal_temp *thermal_temp);
168 
169 /**
170  * ucfg_fwol_is_neighbor_report_req_supported() - Get neighbor report request
171  *                                                supported bit
172  * @psoc: Pointer to psoc object
173  * @neighbor_report_req: Pointer to return value
174  *
175  * Return: QDF Status
176  */
177 QDF_STATUS
178 ucfg_fwol_is_neighbor_report_req_supported(struct wlan_objmgr_psoc *psoc,
179 					   bool *neighbor_report_req);
180 
181 /**
182  * ucfg_fwol_get_ie_allowlist() - Get IE allowlist param value
183  * @psoc: Pointer to psoc object
184  * @ie_allowlist: Pointer to return the IE allowlist param value
185  *
186  * Return: QDF Status
187  */
188 QDF_STATUS
189 ucfg_fwol_get_ie_allowlist(struct wlan_objmgr_psoc *psoc, bool *ie_allowlist);
190 
191 /**
192  * ucfg_fwol_set_ie_allowlist() - Set IE allowlist param value
193  * @psoc: Pointer to psoc object
194  * @ie_allowlist: Value to set IE allowlist param
195  *
196  * Return: QDF Status
197  */
198 QDF_STATUS
199 ucfg_fwol_set_ie_allowlist(struct wlan_objmgr_psoc *psoc, bool ie_allowlist);
200 
201 /**
202  * ucfg_fwol_get_all_allowlist_params() - Get all IE allowlist param values
203  * @psoc: Pointer to psoc object
204  * @allowlist: Pointer to struct wlan_fwol_ie_allowlist
205  *
206  * Return: QDF Status
207  */
208 QDF_STATUS
209 ucfg_fwol_get_all_allowlist_params(struct wlan_objmgr_psoc *psoc,
210 				   struct wlan_fwol_ie_allowlist *allowlist);
211 
212 /**
213  * ucfg_fwol_get_ani_enabled() - Assigns the ani_enabled value
214  * @psoc: pointer to the psoc object
215  * @ani_enabled: pointer to return ani_enabled value
216  *
217  * Return: QDF Status
218  */
219 QDF_STATUS ucfg_fwol_get_ani_enabled(struct wlan_objmgr_psoc *psoc,
220 				     bool *ani_enabled);
221 
222 /**
223  * ucfg_fwol_get_pcie_config() - Assigns the pcie_config value
224  * @psoc: pointer to the psoc object
225  * @pcie_config: pointer to return pcie_config value
226  *
227  * Return: QDF Status
228  */
229 QDF_STATUS ucfg_fwol_get_pcie_config(struct wlan_objmgr_psoc *psoc,
230 				     uint8_t *pcie_config);
231 
232 /**
233  * ucfg_get_enable_rts_sifsbursting() - Assigns the enable_rts_sifsbursting
234  *                                      value
235  * @psoc: pointer to the psoc object
236  * @enable_rts_sifsbursting: pointer to return enable_rts_sifsbursting value
237  *
238  * Return: QDF Status
239  */
240 QDF_STATUS ucfg_get_enable_rts_sifsbursting(struct wlan_objmgr_psoc *psoc,
241 					    bool *enable_rts_sifsbursting);
242 
243 /**
244  * ucfg_get_enable_sifs_burst() - Get the enable_sifs_burst value
245  * @psoc: pointer to the psoc object
246  * @enable_sifs_burst: pointer to return enable_sifs_burst value
247  *
248  * Return: QDF Status
249  */
250 QDF_STATUS ucfg_get_enable_sifs_burst(struct wlan_objmgr_psoc *psoc,
251 				      uint8_t *enable_sifs_burst);
252 
253 /**
254  * ucfg_get_max_mpdus_inampdu() - Assigns the max_mpdus_inampdu value
255  * @psoc: pointer to the psoc object
256  * @max_mpdus_inampdu: pointer to return max_mpdus_inampdu value
257  *
258  * Return: QDF Status
259  */
260 QDF_STATUS ucfg_get_max_mpdus_inampdu(struct wlan_objmgr_psoc *psoc,
261 				      uint8_t *max_mpdus_inampdu);
262 
263 /**
264  * ucfg_get_enable_phy_reg_retention() - Assigns enable_phy_reg_retention value
265  * @psoc: pointer to the psoc object
266  * @enable_phy_reg_retention: pointer to return enable_phy_reg_retention value
267  *
268  * Return: QDF Status
269  */
270 QDF_STATUS ucfg_get_enable_phy_reg_retention(struct wlan_objmgr_psoc *psoc,
271 					     uint8_t *enable_phy_reg_retention);
272 
273 /**
274  * ucfg_get_upper_brssi_thresh() - Assigns upper_brssi_thresh value
275  * @psoc: pointer to the psoc object
276  * @upper_brssi_thresh: pointer to return upper_brssi_thresh value
277  *
278  * Return: QDF Status
279  */
280 QDF_STATUS ucfg_get_upper_brssi_thresh(struct wlan_objmgr_psoc *psoc,
281 				       uint16_t *upper_brssi_thresh);
282 
283 /**
284  * ucfg_get_lower_brssi_thresh() - Assigns lower_brssi_thresh value
285  * @psoc: pointer to the psoc object
286  * @lower_brssi_thresh: pointer to return lower_brssi_thresh value
287  *
288  * Return: QDF Status
289  */
290 QDF_STATUS ucfg_get_lower_brssi_thresh(struct wlan_objmgr_psoc *psoc,
291 				       uint16_t *lower_brssi_thresh);
292 
293 /**
294  * ucfg_get_enable_dtim_1chrx() - Assigns enable_dtim_1chrx value
295  * @psoc: pointer to the psoc object
296  * @enable_dtim_1chrx: pointer to return enable_dtim_1chrx value
297  *
298  * Return: QDF Status
299  */
300 QDF_STATUS ucfg_get_enable_dtim_1chrx(struct wlan_objmgr_psoc *psoc,
301 				      bool *enable_dtim_1chrx);
302 
303 /**
304  * ucfg_get_alternative_chainmask_enabled() - Assigns alt chainmask_enabled
305  *                                            value
306  * @psoc: pointer to the psoc object
307  * @alternative_chainmask_enabled: pointer to return
308  *                                 alternative_chainmask_enabled value
309  *
310  * Return: QDF Status
311  */
312 QDF_STATUS
313 ucfg_get_alternative_chainmask_enabled(struct wlan_objmgr_psoc *psoc,
314 				       bool *alternative_chainmask_enabled);
315 
316 /**
317  * ucfg_get_smart_chainmask_enabled() - Assigns smart_chainmask_enabled value
318  * @psoc: pointer to the psoc object
319  * @smart_chainmask_enabled: pointer to return smart_chainmask_enabled value
320  *
321  * Return: QDF Status
322  */
323 QDF_STATUS ucfg_get_smart_chainmask_enabled(struct wlan_objmgr_psoc *psoc,
324 					    bool *smart_chainmask_enabled);
325 
326 /**
327  * ucfg_fwol_get_rts_profile() - Assigns get_rts_profile value
328  * @psoc: pointer to the psoc object
329  * @get_rts_profile: pointer to return RTS profile value
330  *
331  * Return: QDF Status
332  */
333 QDF_STATUS ucfg_fwol_get_rts_profile(struct wlan_objmgr_psoc *psoc,
334 				     uint16_t *get_rts_profile);
335 
336 /**
337  * ucfg_fwol_get_enable_fw_log_level() - Assigns enable_fw_log_level value
338  * @psoc: pointer to the psoc object
339  * @enable_fw_log_level: pointer to return firmware log level enable bitmap
340  *
341  * Return: QDF Status
342  */
343 QDF_STATUS ucfg_fwol_get_enable_fw_log_level(struct wlan_objmgr_psoc *psoc,
344 					     uint16_t *enable_fw_log_level);
345 
346 /**
347  * ucfg_fwol_get_enable_fw_log_type() - Assigns enable_fw_log_type value
348  * @psoc: pointer to the psoc object
349  * @enable_fw_log_type: pointer to return firmware log type bitmap
350  *
351  * Return: QDF Status
352  */
353 QDF_STATUS ucfg_fwol_get_enable_fw_log_type(struct wlan_objmgr_psoc *psoc,
354 					    uint16_t *enable_fw_log_type);
355 
356 /**
357  * ucfg_fwol_get_enable_fw_module_log_level() - Assigns
358  * enable_fw_module_log_level string
359  * @psoc: pointer to the psoc object
360  * @enable_fw_module_log_level:
361  * pointer to enable_fw_module_log_level array
362  * @enable_fw_module_log_level_num:
363  * pointer to enable_fw_module_log_level array element num
364  *
365  * Return: QDF Status
366  */
367 QDF_STATUS ucfg_fwol_get_enable_fw_module_log_level(
368 				struct wlan_objmgr_psoc *psoc,
369 				uint8_t **enable_fw_module_log_level,
370 				uint8_t *enable_fw_module_log_level_num);
371 
372 /**
373  * ucfg_fwol_wow_get_enable_fw_module_log_level() - Assigns
374  * enable_fw_module_log_level string
375  *
376  * @psoc: pointer to the psoc object
377  * @enable_fw_wow_module_log_level:
378  * pointer to enable_fw_wow_module_log_level array
379  * @enable_fw_wow_module_log_level_num:
380  * pointer to enable_fw_wow_module_log_level array element num
381  *
382  * Return: QDF Status
383  */
384 QDF_STATUS ucfg_fwol_wow_get_enable_fw_module_log_level(
385 				struct wlan_objmgr_psoc *psoc,
386 				uint8_t **enable_fw_wow_module_log_level,
387 				uint8_t *enable_fw_wow_module_log_level_num);
388 
389 /**
390  * ucfg_fwol_get_sap_xlna_bypass() - Assigns sap_xlna_bypass value
391  * @psoc: pointer to the psoc object
392  * @sap_xlna_bypass: pointer to return sap_xlna_bypass bool
393  *
394  * Return: QDF Status
395  */
396 QDF_STATUS ucfg_fwol_get_sap_xlna_bypass(struct wlan_objmgr_psoc *psoc,
397 					 bool *sap_xlna_bypass);
398 
399 #ifdef FEATURE_WLAN_RA_FILTERING
400 /**
401  * ucfg_fwol_set_is_rate_limit_enabled() - Sets the is_rate_limit_enabled value
402  * @psoc: pointer to the psoc object
403  * @is_rate_limit_enabled: value to set rate limit enabled bool
404  *
405  * Return: QDF Status
406  */
407 QDF_STATUS ucfg_fwol_set_is_rate_limit_enabled(struct wlan_objmgr_psoc *psoc,
408 					       bool is_rate_limit_enabled);
409 
410 /**
411  * ucfg_fwol_get_is_rate_limit_enabled() - Assigns is_rate_limit_enabled value
412  * @psoc: pointer to the psoc object
413  * @is_rate_limit_enabled: pointer to return rate limit enabled bool
414  *
415  * Return: QDF Status
416  */
417 QDF_STATUS ucfg_fwol_get_is_rate_limit_enabled(struct wlan_objmgr_psoc *psoc,
418 					       bool *is_rate_limit_enabled);
419 
420 #endif /* FEATURE_WLAN_RA_FILTERING */
421 
422 /**
423  * ucfg_fwol_get_tsf_gpio_pin() - Assigns tsf_gpio_pin value
424  * @psoc: pointer to the psoc object
425  * @tsf_gpio_pin: pointer to return TSF GPIO pin value
426  *
427  * Return: QDF Status
428  */
429 
430 QDF_STATUS ucfg_fwol_get_tsf_gpio_pin(struct wlan_objmgr_psoc *psoc,
431 				      uint32_t *tsf_gpio_pin);
432 
433 #ifdef WLAN_FEATURE_TSF_PLUS_EXT_GPIO_IRQ
434 /**
435  * ucfg_fwol_get_tsf_irq_host_gpio_pin() - Assigns tsf_irq_host_gpio_pin value
436  * @psoc: pointer to the psoc object
437  * @tsf_irq_host_gpio_pin: pointer to return the TSF IRQ GPIO pin number
438  *
439  * Return: QDF Status
440  */
441 
442 QDF_STATUS
443 ucfg_fwol_get_tsf_irq_host_gpio_pin(struct wlan_objmgr_psoc *psoc,
444 				    uint32_t *tsf_irq_host_gpio_pin);
445 #endif
446 
447 #ifdef WLAN_FEATURE_TSF_PLUS_EXT_GPIO_SYNC
448 /**
449  * ucfg_fwol_get_tsf_sync_host_gpio_pin() - Assigns tsf_sync_host_gpio_pin value
450  * @psoc: pointer to the psoc object
451  * @tsf_irq_host_gpio_pin: pointer to return the TSF sync GPIO pin number
452  *
453  * Return: QDF Status
454  */
455 
456 QDF_STATUS
457 ucfg_fwol_get_tsf_sync_host_gpio_pin(struct wlan_objmgr_psoc *psoc,
458 				     uint32_t *tsf_irq_host_gpio_pin);
459 #endif
460 
461 #ifdef DHCP_SERVER_OFFLOAD
462 /**
463  * ucfg_fwol_get_enable_dhcp_server_offload()-Assign enable_dhcp_server_offload
464  * @psoc: pointer to the psoc object
465  * @enable_dhcp_server_offload: pointer to return enable_dhcp_server_offload
466  *                              value
467  *
468  * Return: QDF Status
469  */
470 QDF_STATUS
471 ucfg_fwol_get_enable_dhcp_server_offload(struct wlan_objmgr_psoc *psoc,
472 					 bool *enable_dhcp_server_offload);
473 
474 /**
475  * ucfg_fwol_get_dhcp_max_num_clients() - Assigns dhcp_max_num_clients value
476  * @psoc: pointer to the psoc object
477  * @dhcp_max_num_clients: pointer to return the max number of DHC clients value
478  *
479  * Return: QDF Status
480  */
481 QDF_STATUS ucfg_fwol_get_dhcp_max_num_clients(struct wlan_objmgr_psoc *psoc,
482 					      uint32_t *dhcp_max_num_clients);
483 #endif
484 
485 /**
486  * ucfg_fwol_get_tsf_sync_enable() - Get TSF sync enabled
487  * @psoc: pointer to the psoc object
488  * @tsf_sync_enable: Pointer to tsf sync enabled
489  *
490  * Return: QDF Status
491  */
492 QDF_STATUS ucfg_fwol_get_tsf_sync_enable(struct wlan_objmgr_psoc *psoc,
493 					 bool *tsf_sync_enable);
494 
495 #ifdef WLAN_FEATURE_TSF_ACCURACY
496 /**
497  * ucfg_fwol_get_tsf_accuracy_configs() - Get TSF accuracy configs
498  * @psoc: pointer to the psoc object
499  * @config: Pointer to hold TSF Accuracy Feature configs
500  *
501  * Return: QDF Status
502  */
503 QDF_STATUS ucfg_fwol_get_tsf_accuracy_configs(struct wlan_objmgr_psoc *psoc,
504 					      struct wlan_fwol_tsf_accuracy_configs **config);
505 #endif
506 
507 /**
508  * ucfg_fwol_get_tsf_ptp_options() - Get TSF Plus feature options
509  * @psoc: pointer to the psoc object
510  * @tsf_ptp_options: Pointer to return tsf ptp options
511  *
512  * Return: QDF Status
513  */
514 QDF_STATUS ucfg_fwol_get_tsf_ptp_options(struct wlan_objmgr_psoc *psoc,
515 					 uint32_t *tsf_ptp_options);
516 
517 /**
518  * ucfg_fwol_get_sae_enable() - Get SAE feature enable status
519  * @psoc: pointer to the psoc object
520  *
521  * Return: True if enabled else false
522  */
523 bool ucfg_fwol_get_sae_enable(struct wlan_objmgr_psoc *psoc);
524 
525 /**
526  * ucfg_fwol_get_gcmp_enable() - Get GCMP feature enable status
527  * @psoc: pointer to the psoc object
528  *
529  * Return: True if enabled else false
530  */
531 bool ucfg_fwol_get_gcmp_enable(struct wlan_objmgr_psoc *psoc);
532 
533 /**
534  * ucfg_fwol_get_enable_tx_sch_delay() - Get enable tx sch delay
535  * @psoc: pointer to the psoc object
536  * @enable_tx_sch_delay: Pointer to return enable_tx_sch_delay value
537  *
538  * Return: QDF Status
539  */
540 QDF_STATUS ucfg_fwol_get_enable_tx_sch_delay(struct wlan_objmgr_psoc *psoc,
541 					     uint8_t *enable_tx_sch_delay);
542 
543 #ifdef WLAN_FEATURE_OFDM_SCRAMBLER_SEED
544 /**
545  * ucfg_fwol_get_ofdm_scrambler_seed() - Assigns enable_ofdm_scrambler_seed
546  * @psoc: pointer to psoc object
547  * @enable_ofdm_scrambler_seed: Pointer to return enable_ofdm_scrambler_seed
548  * value
549  *
550  * Return: QDF_STATUS_SUCCESS - in case of success
551  */
552 QDF_STATUS ucfg_fwol_get_ofdm_scrambler_seed(struct wlan_objmgr_psoc *psoc,
553 					     bool *enable_ofdm_scrambler_seed);
554 #else
ucfg_fwol_get_ofdm_scrambler_seed(struct wlan_objmgr_psoc * psoc,bool * enable_ofdm_scrambler_seed)555 static inline QDF_STATUS ucfg_fwol_get_ofdm_scrambler_seed(
556 				struct wlan_objmgr_psoc *psoc,
557 				bool *enable_ofdm_scrambler_seed)
558 {
559 	return QDF_STATUS_E_NOSUPPORT;
560 }
561 #endif
562 
563 /**
564  * ucfg_fwol_get_enable_secondary_rate() - Get enable secondary rate
565  * @psoc: pointer to the psoc object
566  * @enable_secondary_rate: Pointer to return enable secondary rate value
567  *
568  * Return: QDF Status
569  */
570 QDF_STATUS ucfg_fwol_get_enable_secondary_rate(struct wlan_objmgr_psoc *psoc,
571 					       uint32_t *enable_secondary_rate);
572 /**
573  * ucfg_fwol_get_all_adaptive_dwelltime_params() - Get all adaptive
574  *						   dwelltime_params
575  * @psoc: Pointer to psoc object
576  * @dwelltime_params: Pointer to struct adaptive_dwelltime_params
577  *
578  * Return: QDF Status
579  */
580 QDF_STATUS
581 ucfg_fwol_get_all_adaptive_dwelltime_params(
582 			struct wlan_objmgr_psoc *psoc,
583 			struct adaptive_dwelltime_params *dwelltime_params);
584 /**
585  * ucfg_fwol_get_adaptive_dwell_mode_enabled() - API to globally disable/enable
586  *                                               the adaptive dwell config.
587  * Acceptable values for this:
588  * 0: Config is disabled
589  * 1: Config is enabled
590  *
591  * @psoc: pointer to psoc object
592  * @adaptive_dwell_mode_enabled: adaptive dwell mode enable/disable
593  *
594  * Return: QDF Status
595  */
596 QDF_STATUS
597 ucfg_fwol_get_adaptive_dwell_mode_enabled(struct wlan_objmgr_psoc *psoc,
598 					  bool *adaptive_dwell_mode_enabled);
599 
600 /**
601  * ucfg_fwol_get_global_adapt_dwelltime_mode() - API to set default
602  *                                               adaptive mode.
603  * It will be used if any of the scan dwell mode is set to default.
604  * For uses : see enum scan_dwelltime_adaptive_mode
605  *
606  * @psoc: pointer to psoc object
607  * @global_adapt_dwelltime_mode: global adaptive dwell mode value
608  *
609  * Return: QDF Status
610  */
611 QDF_STATUS
612 ucfg_fwol_get_global_adapt_dwelltime_mode(struct wlan_objmgr_psoc *psoc,
613 					  uint8_t *global_adapt_dwelltime_mode);
614 /**
615  * ucfg_fwol_get_adapt_dwell_lpf_weight() - API to get weight to calculate
616  *                       the average low pass filter for channel congestion
617  * @psoc: pointer to psoc object
618  * @adapt_dwell_lpf_weight: adaptive low pass filter weight
619  *
620  * Return: QDF Status
621  */
622 QDF_STATUS
623 ucfg_fwol_get_adapt_dwell_lpf_weight(struct wlan_objmgr_psoc *psoc,
624 				     uint8_t *adapt_dwell_lpf_weight);
625 
626 /**
627  * ucfg_fwol_get_adapt_dwell_passive_mon_intval() - API to get interval value
628  *                      for montitoring wifi activity in passive scan in msec.
629  * @psoc: pointer to psoc object
630  * @adapt_dwell_passive_mon_intval: adaptive monitor interval in passive scan
631  *
632  * Return: QDF Status
633  */
634 QDF_STATUS
635 ucfg_fwol_get_adapt_dwell_passive_mon_intval(
636 				struct wlan_objmgr_psoc *psoc,
637 				uint8_t *adapt_dwell_passive_mon_intval);
638 
639 /**
640  * ucfg_fwol_get_adapt_dwell_wifi_act_threshold - API to get % of wifi activity
641  *                                                used in passive scan
642  * @psoc: pointer to psoc object
643  * @adapt_dwell_wifi_act_threshold: percent of wifi activity in passive scan
644  *
645  * Return: QDF Status
646  */
647 QDF_STATUS ucfg_fwol_get_adapt_dwell_wifi_act_threshold(
648 				struct wlan_objmgr_psoc *psoc,
649 				uint8_t *adapt_dwell_wifi_act_threshold);
650 
651 /**
652  * ucfg_fwol_init_adapt_dwelltime_in_cfg - API to initialize adaptive
653  *                                         dwell params
654  * @psoc: pointer to psoc object
655  * @dwelltime_params: pointer to adaptive_dwelltime_params structure
656  *
657  * Return: QDF Status
658  */
659 static inline QDF_STATUS
ucfg_fwol_init_adapt_dwelltime_in_cfg(struct wlan_objmgr_psoc * psoc,struct adaptive_dwelltime_params * dwelltime_params)660 ucfg_fwol_init_adapt_dwelltime_in_cfg(
661 			struct wlan_objmgr_psoc *psoc,
662 			struct adaptive_dwelltime_params *dwelltime_params)
663 {
664 	return fwol_init_adapt_dwelltime_in_cfg(psoc, dwelltime_params);
665 }
666 
667 /**
668  * ucfg_fwol_set_adaptive_dwelltime_config - API to set adaptive
669  *                                           dwell params config
670  * @dwelltime_params: adaptive_dwelltime_params structure
671  *
672  * Return: QDF Status
673  */
674 static inline QDF_STATUS
ucfg_fwol_set_adaptive_dwelltime_config(struct adaptive_dwelltime_params * dwelltime_params)675 ucfg_fwol_set_adaptive_dwelltime_config(
676 			struct adaptive_dwelltime_params *dwelltime_params)
677 {
678 	return fwol_set_adaptive_dwelltime_config(dwelltime_params);
679 }
680 
681 #ifdef WLAN_FEATURE_ELNA
682 /**
683  * ucfg_fwol_set_elna_bypass() - send set eLNA bypass request
684  * @vdev: vdev handle
685  * @req: set eLNA bypass request
686  *
687  * Return: QDF_STATUS_SUCCESS on success
688  */
689 QDF_STATUS ucfg_fwol_set_elna_bypass(struct wlan_objmgr_vdev *vdev,
690 				     struct set_elna_bypass_request *req);
691 
692 /**
693  * ucfg_fwol_get_elna_bypass() - send get eLNA bypass request
694  * @vdev: vdev handle
695  * @req: get eLNA bypass request
696  * @callback: get eLNA bypass response callback
697  * @context: request manager context
698  *
699  * Return: QDF_STATUS_SUCCESS on success
700  */
701 QDF_STATUS ucfg_fwol_get_elna_bypass(struct wlan_objmgr_vdev *vdev,
702 				     struct get_elna_bypass_request *req,
703 				     void (*callback)(void *context,
704 				     struct get_elna_bypass_response *response),
705 				     void *context);
706 #endif /* WLAN_FEATURE_ELNA */
707 
708 #ifdef WLAN_SEND_DSCP_UP_MAP_TO_FW
709 /**
710  * ucfg_fwol_send_dscp_up_map_to_fw() - send dscp_up map to FW
711  * @vdev: vdev handle
712  * @dscp_to_up_map: DSCP to UP map array
713  *
714  * Return: QDF_STATUS_SUCCESS on success
715  */
716 QDF_STATUS ucfg_fwol_send_dscp_up_map_to_fw(
717 		struct wlan_objmgr_vdev *vdev,
718 		uint32_t *dscp_to_up_map);
719 #else
720 static inline
ucfg_fwol_send_dscp_up_map_to_fw(struct wlan_objmgr_vdev * vdev,uint32_t * dscp_to_up_map)721 QDF_STATUS ucfg_fwol_send_dscp_up_map_to_fw(
722 		struct wlan_objmgr_vdev *vdev,
723 		uint32_t *dscp_to_up_map)
724 {
725 	return QDF_STATUS_SUCCESS;
726 }
727 #endif
728 
729 #ifdef WLAN_FEATURE_MDNS_OFFLOAD
730 /**
731  * ucfg_fwol_set_mdns_config() - set mdns config
732  * @psoc: pointer to psoc object
733  * @mdns_info: mdns config info pointer
734  *
735  * Return: QDF_STATUS_SUCCESS on success
736  */
737 QDF_STATUS ucfg_fwol_set_mdns_config(struct wlan_objmgr_psoc *psoc,
738 				     struct mdns_config_info *mdns_info);
739 #endif /* WLAN_FEATURE_MDNS_OFFLOAD */
740 
741 /**
742  * ucfg_fwol_update_fw_cap_info - API to update fwol capability info
743  * @psoc: pointer to psoc object
744  * @caps: pointer to wlan_fwol_capability_info struct
745  *
746  * Used to update fwol capability info.
747  *
748  * Return: void
749  */
750 void ucfg_fwol_update_fw_cap_info(struct wlan_objmgr_psoc *psoc,
751 				  struct wlan_fwol_capability_info *caps);
752 
753 #ifdef THERMAL_STATS_SUPPORT
754 QDF_STATUS ucfg_fwol_send_get_thermal_stats_cmd(struct wlan_objmgr_psoc *psoc,
755 				      enum thermal_stats_request_type req_type,
756 				      void (*callback)(void *context,
757 				      struct thermal_throttle_info *response),
758 				      void *context);
759 #endif /* THERMAL_STATS_SUPPORT */
760 
761 /**
762  * ucfg_fwol_configure_global_params - API to configure global params
763  * @psoc: pointer to psoc object
764  * @pdev: pointer to pdev object
765  *
766  * Used to configure global firmware params. This is invoked from hdd during
767  * bootup.
768  *
769  * Return: QDF Status
770  */
771 QDF_STATUS ucfg_fwol_configure_global_params(struct wlan_objmgr_psoc *psoc,
772 					     struct wlan_objmgr_pdev *pdev);
773 
774 /**
775  * ucfg_fwol_set_ilp_config - API to configure Interface Low Power (ILP)
776  * @psoc: pointer to psoc object
777  * @pdev: pointer to pdev object
778  * @enable: enable
779  *
780  * This API is used to enable/disable Interface Low Power (IPL) feature.
781  *
782  * Return: QDF Status
783  */
784 QDF_STATUS ucfg_fwol_set_ilp_config(struct wlan_objmgr_psoc *psoc,
785 				    struct wlan_objmgr_pdev *pdev,
786 				    uint32_t enable);
787 
788 /**
789  * ucfg_fwol_configure_vdev_params - API to configure vdev specific params
790  * @psoc: pointer to psoc object
791  * @vdev: pointer to vdev object
792  *
793  * Used to configure per vdev firmware params based on device mode. This is
794  * invoked from hdd during vdev creation.
795  *
796  * Return: QDF Status
797  */
798 QDF_STATUS ucfg_fwol_configure_vdev_params(struct wlan_objmgr_psoc *psoc,
799 					   struct wlan_objmgr_vdev *vdev);
800 #else
ucfg_fwol_psoc_open(struct wlan_objmgr_psoc * psoc)801 static inline QDF_STATUS ucfg_fwol_psoc_open(struct wlan_objmgr_psoc *psoc)
802 {
803 	return QDF_STATUS_SUCCESS;
804 }
805 
ucfg_fwol_psoc_close(struct wlan_objmgr_psoc * psoc)806 static inline void ucfg_fwol_psoc_close(struct wlan_objmgr_psoc *psoc)
807 {
808 }
809 
ucfg_fwol_psoc_enable(struct wlan_objmgr_psoc * psoc)810 static inline QDF_STATUS ucfg_fwol_psoc_enable(struct wlan_objmgr_psoc *psoc)
811 {
812 	return QDF_STATUS_SUCCESS;
813 }
814 
ucfg_fwol_psoc_disable(struct wlan_objmgr_psoc * psoc)815 static inline void ucfg_fwol_psoc_disable(struct wlan_objmgr_psoc *psoc)
816 {
817 }
818 
ucfg_fwol_init(void)819 static inline QDF_STATUS ucfg_fwol_init(void)
820 {
821 	return QDF_STATUS_SUCCESS;
822 }
823 
ucfg_fwol_deinit(void)824 static inline void ucfg_fwol_deinit(void)
825 {
826 }
827 
ucfg_fwol_thermal_register_callbacks(struct wlan_objmgr_psoc * psoc,struct fwol_thermal_callbacks * cb)828 static inline QDF_STATUS ucfg_fwol_thermal_register_callbacks(
829 				struct wlan_objmgr_psoc *psoc,
830 				struct fwol_thermal_callbacks *cb)
831 {
832 	return QDF_STATUS_SUCCESS;
833 }
834 
ucfg_fwol_thermal_unregister_callbacks(struct wlan_objmgr_psoc * psoc)835 static inline QDF_STATUS ucfg_fwol_thermal_unregister_callbacks(
836 				struct wlan_objmgr_psoc *psoc)
837 {
838 	return QDF_STATUS_SUCCESS;
839 }
840 
841 static inline QDF_STATUS
ucfg_fwol_thermal_get_target_level(struct wlan_objmgr_psoc * psoc,enum thermal_throttle_level * level)842 ucfg_fwol_thermal_get_target_level(struct wlan_objmgr_psoc *psoc,
843 				   enum thermal_throttle_level *level)
844 {
845 	return QDF_STATUS_E_FAILURE;
846 }
847 
848 static inline QDF_STATUS
ucfg_fwol_get_coex_config_params(struct wlan_objmgr_psoc * psoc,struct wlan_fwol_coex_config * coex_config)849 ucfg_fwol_get_coex_config_params(struct wlan_objmgr_psoc *psoc,
850 				 struct wlan_fwol_coex_config *coex_config)
851 {
852 	return QDF_STATUS_E_FAILURE;
853 }
854 
855 static inline QDF_STATUS
ucfg_fwol_get_thermal_temp(struct wlan_objmgr_psoc * psoc,struct wlan_fwol_thermal_temp * thermal_temp)856 ucfg_fwol_get_thermal_temp(struct wlan_objmgr_psoc *psoc,
857 			   struct wlan_fwol_thermal_temp *thermal_temp)
858 {
859 	return QDF_STATUS_E_FAILURE;
860 }
861 
862 static inline QDF_STATUS
ucfg_fwol_is_neighbor_report_req_supported(struct wlan_objmgr_psoc * psoc,bool * neighbor_report_req)863 ucfg_fwol_is_neighbor_report_req_supported(struct wlan_objmgr_psoc *psoc,
864 					   bool *neighbor_report_req)
865 {
866 	return QDF_STATUS_E_FAILURE;
867 }
868 
869 static inline QDF_STATUS
ucfg_fwol_get_ie_allowlist(struct wlan_objmgr_psoc * psoc,bool * ie_allowlist)870 ucfg_fwol_get_ie_allowlist(struct wlan_objmgr_psoc *psoc, bool *ie_allowlist)
871 {
872 	return QDF_STATUS_E_FAILURE;
873 }
874 
875 static inline QDF_STATUS
ucfg_fwol_set_ie_allowlist(struct wlan_objmgr_psoc * psoc,bool ie_allowlist)876 ucfg_fwol_set_ie_allowlist(struct wlan_objmgr_psoc *psoc, bool ie_allowlist)
877 {
878 	return QDF_STATUS_E_FAILURE;
879 }
880 
881 static inline QDF_STATUS
ucfg_fwol_get_all_allowlist_params(struct wlan_objmgr_psoc * psoc,struct wlan_fwol_ie_allowlist * allowlist)882 ucfg_fwol_get_all_allowlist_params(struct wlan_objmgr_psoc *psoc,
883 				   struct wlan_fwol_ie_allowlist *allowlist)
884 {
885 	return QDF_STATUS_E_FAILURE;
886 }
887 
888 static inline QDF_STATUS
ucfg_fwol_get_ani_enabled(struct wlan_objmgr_psoc * psoc,bool * ani_enabled)889 ucfg_fwol_get_ani_enabled(struct wlan_objmgr_psoc *psoc,
890 			  bool *ani_enabled)
891 {
892 	return QDF_STATUS_E_FAILURE;
893 }
894 
895 static inline QDF_STATUS
ucfg_fwol_get_pcie_config(struct wlan_objmgr_psoc * psoc,uint8_t * pcie_config)896 ucfg_fwol_get_pcie_config(struct wlan_objmgr_psoc *psoc,
897 			  uint8_t *pcie_config)
898 {
899 	return QDF_STATUS_E_FAILURE;
900 }
901 
902 static inline QDF_STATUS
ucfg_get_enable_rts_sifsbursting(struct wlan_objmgr_psoc * psoc,bool * enable_rts_sifsbursting)903 ucfg_get_enable_rts_sifsbursting(struct wlan_objmgr_psoc *psoc,
904 				 bool *enable_rts_sifsbursting)
905 {
906 	return QDF_STATUS_E_FAILURE;
907 }
908 
909 static inline QDF_STATUS
ucfg_get_max_mpdus_inampdu(struct wlan_objmgr_psoc * psoc,uint8_t * max_mpdus_inampdu)910 ucfg_get_max_mpdus_inampdu(struct wlan_objmgr_psoc *psoc,
911 			   uint8_t *max_mpdus_inampdu)
912 {
913 	return QDF_STATUS_E_FAILURE;
914 }
915 
916 static inline QDF_STATUS
ucfg_get_enable_phy_reg_retention(struct wlan_objmgr_psoc * psoc,uint8_t * enable_phy_reg_retention)917 ucfg_get_enable_phy_reg_retention(struct wlan_objmgr_psoc *psoc,
918 				  uint8_t *enable_phy_reg_retention)
919 {
920 	return QDF_STATUS_E_FAILURE;
921 }
922 
923 static inline QDF_STATUS
ucfg_get_upper_brssi_thresh(struct wlan_objmgr_psoc * psoc,uint16_t * upper_brssi_thresh)924 ucfg_get_upper_brssi_thresh(struct wlan_objmgr_psoc *psoc,
925 			    uint16_t *upper_brssi_thresh)
926 {
927 	return QDF_STATUS_E_FAILURE;
928 }
929 
930 static inline QDF_STATUS
ucfg_get_lower_brssi_thresh(struct wlan_objmgr_psoc * psoc,uint16_t * lower_brssi_thresh)931 ucfg_get_lower_brssi_thresh(struct wlan_objmgr_psoc *psoc,
932 			    uint16_t *lower_brssi_thresh)
933 {
934 	return QDF_STATUS_E_FAILURE;
935 }
936 
937 static inline QDF_STATUS
ucfg_get_enable_dtim_1chrx(struct wlan_objmgr_psoc * psoc,bool * enable_dtim_1chrx)938 ucfg_get_enable_dtim_1chrx(struct wlan_objmgr_psoc *psoc,
939 			   bool *enable_dtim_1chrx)
940 {
941 	return QDF_STATUS_E_FAILURE;
942 }
943 
944 static inline QDF_STATUS
ucfg_get_alternative_chainmask_enabled(struct wlan_objmgr_psoc * psoc,bool * alternative_chainmask_enabled)945 ucfg_get_alternative_chainmask_enabled(struct wlan_objmgr_psoc *psoc,
946 				       bool *alternative_chainmask_enabled)
947 {
948 	return QDF_STATUS_E_FAILURE;
949 }
950 
951 static inline QDF_STATUS
ucfg_get_smart_chainmask_enabled(struct wlan_objmgr_psoc * psoc,bool * smart_chainmask_enabled)952 ucfg_get_smart_chainmask_enabled(struct wlan_objmgr_psoc *psoc,
953 				 bool *smart_chainmask_enabled)
954 {
955 	return QDF_STATUS_E_FAILURE;
956 }
957 
958 static inline QDF_STATUS
ucfg_fwol_get_rts_profile(struct wlan_objmgr_psoc * psoc,uint16_t * get_rts_profile)959 ucfg_fwol_get_rts_profile(struct wlan_objmgr_psoc *psoc,
960 			  uint16_t *get_rts_profile)
961 {
962 	return QDF_STATUS_E_FAILURE;
963 }
964 
965 static inline QDF_STATUS
ucfg_fwol_get_enable_fw_log_level(struct wlan_objmgr_psoc * psoc,uint16_t * enable_fw_log_level)966 ucfg_fwol_get_enable_fw_log_level(struct wlan_objmgr_psoc *psoc,
967 				  uint16_t *enable_fw_log_level)
968 {
969 	return QDF_STATUS_E_FAILURE;
970 }
971 
972 static inline QDF_STATUS
ucfg_fwol_get_enable_fw_log_type(struct wlan_objmgr_psoc * psoc,uint16_t * enable_fw_log_type)973 ucfg_fwol_get_enable_fw_log_type(struct wlan_objmgr_psoc *psoc,
974 				 uint16_t *enable_fw_log_type)
975 {
976 	return QDF_STATUS_E_FAILURE;
977 }
978 
979 static inline QDF_STATUS
ucfg_fwol_get_enable_fw_module_log_level(struct wlan_objmgr_psoc * psoc,uint8_t ** enable_fw_module_log_level,uint8_t * enable_fw_module_log_level_num)980 ucfg_fwol_get_enable_fw_module_log_level(
981 				struct wlan_objmgr_psoc *psoc,
982 				uint8_t **enable_fw_module_log_level,
983 				uint8_t *enable_fw_module_log_level_num)
984 {
985 	return QDF_STATUS_E_FAILURE;
986 }
987 
988 static inline QDF_STATUS
ucfg_fwol_get_sap_xlna_bypass(struct wlan_objmgr_psoc * psoc,uint8_t * sap_xlna_bypass)989 ucfg_fwol_get_sap_xlna_bypass(struct wlan_objmgr_psoc *psoc,
990 			      uint8_t *sap_xlna_bypass)
991 {
992 	return QDF_STATUS_E_FAILURE;
993 }
994 
995 static inline QDF_STATUS
ucfg_fwol_get_tsf_gpio_pin(struct wlan_objmgr_psoc * psoc,uint32_t * tsf_gpio_pin)996 ucfg_fwol_get_tsf_gpio_pin(struct wlan_objmgr_psoc *psoc,
997 			   uint32_t *tsf_gpio_pin)
998 {
999 	return QDF_STATUS_E_FAILURE;
1000 }
1001 
1002 static inline QDF_STATUS
ucfg_fwol_get_tsf_ptp_options(struct wlan_objmgr_psoc * psoc,uint32_t * tsf_ptp_options)1003 ucfg_fwol_get_tsf_ptp_options(struct wlan_objmgr_psoc *psoc,
1004 			      uint32_t *tsf_ptp_options)
1005 {
1006 	return QDF_STATUS_E_FAILURE;
1007 }
1008 
ucfg_fwol_get_sae_enable(struct wlan_objmgr_psoc * psoc)1009 static inline bool ucfg_fwol_get_sae_enable(struct wlan_objmgr_psoc *psoc)
1010 {
1011 	return false;
1012 }
1013 
ucfg_fwol_get_gcmp_enable(struct wlan_objmgr_psoc * psoc)1014 static inline bool ucfg_fwol_get_gcmp_enable(struct wlan_objmgr_psoc *psoc)
1015 {
1016 	return false;
1017 }
1018 
1019 static inline QDF_STATUS
ucfg_fwol_get_enable_tx_sch_delay(struct wlan_objmgr_psoc * psoc,uint8_t * enable_tx_sch_delay)1020 ucfg_fwol_get_enable_tx_sch_delay(struct wlan_objmgr_psoc *psoc,
1021 				  uint8_t *enable_tx_sch_delay)
1022 {
1023 	return QDF_STATUS_E_FAILURE;
1024 }
1025 
1026 static inline QDF_STATUS
ucfg_fwol_get_enable_secondary_rate(struct wlan_objmgr_psoc * psoc,uint32_t * enable_secondary_rate)1027 ucfg_fwol_get_enable_secondary_rate(struct wlan_objmgr_psoc *psoc,
1028 				    uint32_t *enable_secondary_rate)
1029 {
1030 	return QDF_STATUS_E_FAILURE;
1031 }
1032 
1033 static inline QDF_STATUS
ucfg_fwol_get_all_adaptive_dwelltime_params(struct wlan_objmgr_psoc * psoc,struct adaptive_dwelltime_params * dwelltime_params)1034 ucfg_fwol_get_all_adaptive_dwelltime_params(
1035 			struct wlan_objmgr_psoc *psoc,
1036 			struct adaptive_dwelltime_params *dwelltime_params)
1037 {
1038 	return QDF_STATUS_E_FAILURE;
1039 }
1040 
1041 static inline QDF_STATUS
ucfg_fwol_get_adaptive_dwell_mode_enabled(struct wlan_objmgr_psoc * psoc,bool * adaptive_dwell_mode_enabled)1042 ucfg_fwol_get_adaptive_dwell_mode_enabled(struct wlan_objmgr_psoc *psoc,
1043 					  bool *adaptive_dwell_mode_enabled)
1044 {
1045 	return QDF_STATUS_E_FAILURE;
1046 }
1047 
1048 static inline QDF_STATUS
ucfg_fwol_get_global_adapt_dwelltime_mode(struct wlan_objmgr_psoc * psoc,uint8_t * global_adapt_dwelltime_mode)1049 ucfg_fwol_get_global_adapt_dwelltime_mode(struct wlan_objmgr_psoc *psoc,
1050 					  uint8_t *global_adapt_dwelltime_mode)
1051 {
1052 	return QDF_STATUS_E_FAILURE;
1053 }
1054 
1055 static inline QDF_STATUS
ucfg_fwol_get_adapt_dwell_lpf_weight(struct wlan_objmgr_psoc * psoc,uint8_t * adapt_dwell_lpf_weight)1056 ucfg_fwol_get_adapt_dwell_lpf_weight(struct wlan_objmgr_psoc *psoc,
1057 				     uint8_t *adapt_dwell_lpf_weight)
1058 {
1059 	return QDF_STATUS_E_FAILURE;
1060 }
1061 
1062 static inline QDF_STATUS
ucfg_fwol_get_adapt_dwell_passive_mon_intval(struct wlan_objmgr_psoc * psoc,uint8_t * adapt_dwell_passive_mon_intval)1063 ucfg_fwol_get_adapt_dwell_passive_mon_intval(
1064 				struct wlan_objmgr_psoc *psoc,
1065 				uint8_t *adapt_dwell_passive_mon_intval)
1066 {
1067 	return QDF_STATUS_E_FAILURE;
1068 }
1069 
1070 static inline QDF_STATUS
ucfg_fwol_get_adapt_dwell_wifi_act_threshold(struct wlan_objmgr_psoc * psoc,uint8_t * adapt_dwell_wifi_act_threshold)1071 ucfg_fwol_get_adapt_dwell_wifi_act_threshold(
1072 				struct wlan_objmgr_psoc *psoc,
1073 				uint8_t *adapt_dwell_wifi_act_threshold)
1074 {
1075 	return QDF_STATUS_E_FAILURE;
1076 }
1077 
1078 static inline QDF_STATUS
ucfg_fwol_init_adapt_dwelltime_in_cfg(struct wlan_objmgr_psoc * psoc,struct adaptive_dwelltime_params * dwelltime_params)1079 ucfg_fwol_init_adapt_dwelltime_in_cfg(
1080 			struct wlan_objmgr_psoc *psoc,
1081 			struct adaptive_dwelltime_params *dwelltime_params)
1082 {
1083 	return QDF_STATUS_E_FAILURE;
1084 }
1085 
1086 static inline QDF_STATUS
ucfg_fwol_set_adaptive_dwelltime_config(struct adaptive_dwelltime_params * dwelltime_params)1087 ucfg_fwol_set_adaptive_dwelltime_config(
1088 			struct adaptive_dwelltime_params *dwelltime_params)
1089 {
1090 	return QDF_STATUS_E_FAILURE;
1091 }
1092 
1093 #ifdef FEATURE_WLAN_RA_FILTERING
1094 static inline QDF_STATUS
ucfg_fwol_set_is_rate_limit_enabled(struct wlan_objmgr_psoc * psoc,bool is_rate_limit_enabled)1095 ucfg_fwol_set_is_rate_limit_enabled(struct wlan_objmgr_psoc *psoc,
1096 				    bool is_rate_limit_enabled)
1097 {
1098 	return QDF_STATUS_E_FAILURE;
1099 }
1100 
1101 static inline QDF_STATUS
ucfg_fwol_get_is_rate_limit_enabled(struct wlan_objmgr_psoc * psoc,bool * is_rate_limit_enabled)1102 ucfg_fwol_get_is_rate_limit_enabled(struct wlan_objmgr_psoc *psoc,
1103 				    bool *is_rate_limit_enabled)
1104 {
1105 	return QDF_STATUS_E_FAILURE;
1106 }
1107 #endif /* FEATURE_WLAN_RA_FILTERING */
1108 
1109 static inline QDF_STATUS
ucfg_fwol_configure_global_params(struct wlan_objmgr_psoc * psoc,struct wlan_objmgr_pdev * pdev)1110 ucfg_fwol_configure_global_params(struct wlan_objmgr_psoc *psoc,
1111 				  struct wlan_objmgr_pdev *pdev)
1112 {
1113 	return QDF_STATUS_E_FAILURE;
1114 }
1115 
1116 static inline QDF_STATUS
ucfg_fwol_configure_vdev_params(struct wlan_objmgr_psoc * psoc,struct wlan_objmgr_vdev * vdev)1117 ucfg_fwol_configure_vdev_params(struct wlan_objmgr_psoc *psoc,
1118 				struct wlan_objmgr_vdev *vdev)
1119 {
1120 	return QDF_STATUS_E_FAILURE;
1121 }
1122 
1123 #endif /* WLAN_FW_OFFLOAD */
1124 
1125 #endif /* _WLAN_FWOL_UCFG_API_H_ */
1126