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