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