blob: c835073597231de23ae6fae1f165df5462d8e6bd [file] [log] [blame]
Sourav Mohapatra113685f2018-08-29 14:21:55 +05301/*
Harprit Chhabadad59ae762019-01-08 16:40:43 -08002 * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
Sourav Mohapatra113685f2018-08-29 14:21:55 +05303 *
4 * Permission to use, copy, modify, and/or distribute this software for
5 * any purpose with or without fee is hereby granted, provided that the
6 * above copyright notice and this permission notice appear in all
7 * copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16 * PERFORMANCE OF THIS SOFTWARE.
17 */
18/**
19 * DOC: declare internal API related to the fwol component
20 */
21
22#ifndef _WLAN_FWOL_UCFG_API_H_
23#define _WLAN_FWOL_UCFG_API_H_
24
25#include <wlan_objmgr_psoc_obj.h>
26#include <wlan_objmgr_global_obj.h>
27#include <wlan_cmn.h>
Dundi Raviteja47ac7092018-09-07 10:40:28 +053028#include "wlan_fw_offload_main.h"
Paul Zhangc9dbaee2019-06-23 22:07:31 +080029#include "wlan_fwol_public_structs.h"
Sourav Mohapatra113685f2018-08-29 14:21:55 +053030
Paul Zhangc9dbaee2019-06-23 22:07:31 +080031#ifdef WLAN_FW_OFFLOAD
Sourav Mohapatra113685f2018-08-29 14:21:55 +053032/**
33 * ucfg_fwol_psoc_open() - FWOL component Open
34 * @psoc: pointer to psoc object
35 *
36 * Open the FWOL component and initialize the FWOL structure
37 *
38 * Return: QDF Status
39 */
40QDF_STATUS ucfg_fwol_psoc_open(struct wlan_objmgr_psoc *psoc);
41
42/**
43 * ucfg_fwol_psoc_close() - FWOL component close
44 * @psoc: pointer to psoc object
45 *
46 * Close the FWOL component and clear the FWOL structures
47 *
48 * Return: None
49 */
50void ucfg_fwol_psoc_close(struct wlan_objmgr_psoc *psoc);
51
52/**
53 * ucfg_fwol_init() - initialize fwol_ctx context.
54 *
55 * This function initializes the fwol context.
56 *
57 * Return: QDF_STATUS_SUCCESS - in case of success else return error
58 */
59QDF_STATUS ucfg_fwol_init(void);
60
61/**
62 * ucfg_fwol_deinit() - De initialize fwol_ctx context.
63 *
64 * This function De initializes fwol contex.
65 *
66 * Return: QDF_STATUS_SUCCESS - in case of success else return error
67 */
68void ucfg_fwol_deinit(void);
69
Dundi Raviteja3b637092018-09-12 13:42:50 +053070/**
71 * ucfg_fwol_get_coex_config_params() - Get coex config params
72 * @psoc: Pointer to psoc object
73 * @coex_config: Pointer to struct wlan_fwol_coex_config
74 *
75 * Return: QDF_STATUS
76 */
77QDF_STATUS
78ucfg_fwol_get_coex_config_params(struct wlan_objmgr_psoc *psoc,
79 struct wlan_fwol_coex_config *coex_config);
80
Dundi Raviteja47ac7092018-09-07 10:40:28 +053081/**
82 * ucfg_fwol_get_thermal_temp() - Get thermal temperature config params
83 * @psoc: Pointer to psoc object
84 * @thermal_temp: Pointer to struct wlan_fwol_thermal_temp
85 *
86 * Return: QDF Status
87 */
88QDF_STATUS
89ucfg_fwol_get_thermal_temp(struct wlan_objmgr_psoc *psoc,
90 struct wlan_fwol_thermal_temp *thermal_temp);
91
Dundi Raviteja85a240a2018-09-10 15:03:07 +053092/**
Manikandan Mohan06d38d82018-11-26 18:36:58 -080093 * ucfg_fwol_get_neighbor_report_cfg() - Get neighbor report config params
94 * @psoc: Pointer to psoc object
95 * @fwol_neighbor_report_cfg: Pointer to return neighbor report config
96 *
97 * Return: QDF Status
98 */
99QDF_STATUS
100ucfg_fwol_get_neighbor_report_cfg(struct wlan_objmgr_psoc *psoc,
101 struct wlan_fwol_neighbor_report_cfg
102 *fwol_neighbor_report_cfg);
103
104/**
105 * ucfg_fwol_get_neighbor_report_req() - Get neighbor report request bit
106 * @psoc: Pointer to psoc object
107 * @neighbor_report_req: Pointer to return value
108 *
109 * Return: QDF Status
110 */
111QDF_STATUS
112ucfg_fwol_is_neighbor_report_req_supported(struct wlan_objmgr_psoc *psoc,
113 bool *neighbor_report_req);
114
115/**
Dundi Raviteja85a240a2018-09-10 15:03:07 +0530116 * ucfg_fwol_get_ie_whitelist() - Get IE whitelist param value
117 * @psoc: Pointer to psoc object
118 * @ie_whitelist: Pointer to return the IE whitelist param value
119 *
120 * Return: QDF Status
121 */
122QDF_STATUS
123ucfg_fwol_get_ie_whitelist(struct wlan_objmgr_psoc *psoc, bool *ie_whitelist);
124
125/**
126 * ucfg_fwol_set_ie_whitelist() - Set IE whitelist param value
127 * @psoc: Pointer to psoc object
128 * @ie_whitelist: Value to set IE whitelist param
129 *
130 * Return: QDF Status
131 */
132QDF_STATUS
133ucfg_fwol_set_ie_whitelist(struct wlan_objmgr_psoc *psoc, bool ie_whitelist);
134
135/**
Dundi Raviteja85a240a2018-09-10 15:03:07 +0530136 * ucfg_fwol_get_all_whitelist_params() - Get all IE whitelist param values
137 * @psoc: Pointer to psoc object
138 * @whitelist: Pointer to struct wlan_fwol_ie_whitelist
139 *
140 * Return: QDF Status
141 */
142QDF_STATUS
143ucfg_fwol_get_all_whitelist_params(struct wlan_objmgr_psoc *psoc,
144 struct wlan_fwol_ie_whitelist *whitelist);
145
Sourav Mohapatrad9387d82018-09-07 12:28:52 +0530146/** ucfg_fwol_get_ani_enabled() - Assigns the ani_enabled value
147 * @psoc: pointer to the psoc object
148 *
149 * Return: QDF Status
150 */
151QDF_STATUS ucfg_fwol_get_ani_enabled(struct wlan_objmgr_psoc *psoc,
152 bool *ani_enabled);
153
154/**
155 * ucfg_fwol_get_ani_enabled() - Assigns the enable_rts_sifsbursting value
156 * @psoc: pointer to the psoc object
157 *
158 * Return: QDF Status
159 */
160QDF_STATUS ucfg_get_enable_rts_sifsbursting(struct wlan_objmgr_psoc *psoc,
161 bool *enable_rts_sifsbursting);
162
163/**
Qun Zhang1b3c85c2019-08-27 16:31:49 +0800164 * ucfg_get_enable_sifs_burst() - Get the enable_sifs_burst value
165 * @psoc: pointer to the psoc object
166 * @enable_sifs_burst: pointer to return enable_sifs_burst value
167 *
168 * Return: QDF Status
169 */
170QDF_STATUS ucfg_get_enable_sifs_burst(struct wlan_objmgr_psoc *psoc,
171 uint8_t *enable_sifs_burst);
172
173/**
Sourav Mohapatrad9387d82018-09-07 12:28:52 +0530174 * ucfg_get_max_mpdus_inampdu() - Assigns the max_mpdus_inampdu value
175 * @psoc: pointer to the psoc object
176 *
177 * Return: QDF Status
178 */
179QDF_STATUS ucfg_get_max_mpdus_inampdu(struct wlan_objmgr_psoc *psoc,
180 uint8_t *max_mpdus_inampdu);
181
182/**
183 * ucfg_get_arp_ac_category() - Assigns the arp_ac_category value
184 * @psoc: pointer to the psoc object
185 *
186 * Return: QDF Status
187 */
188QDF_STATUS ucfg_get_arp_ac_category(struct wlan_objmgr_psoc *psoc,
189 uint32_t *arp_ac_category);
190
191/**
192 * ucfg_get_enable_phy_reg_retention() - Assigns enable_phy_reg_retention value
193 * @psoc: pointer to the psoc object
194 *
195 * Return: QDF Status
196 */
197QDF_STATUS ucfg_get_enable_phy_reg_retention(struct wlan_objmgr_psoc *psoc,
198 uint8_t *enable_phy_reg_retention);
199
200/**
201 * ucfg_get_upper_brssi_thresh() - Assigns upper_brssi_thresh value
202 * @psoc: pointer to the psoc object
203 *
204 * Return: QDF Status
205 */
206QDF_STATUS ucfg_get_upper_brssi_thresh(struct wlan_objmgr_psoc *psoc,
207 uint16_t *upper_brssi_thresh);
208
209/**
210 * ucfg_get_lower_brssi_thresh() - Assigns lower_brssi_thresh value
211 * @psoc: pointer to the psoc object
212 *
213 * Return: QDF Status
214 */
215QDF_STATUS ucfg_get_lower_brssi_thresh(struct wlan_objmgr_psoc *psoc,
216 uint16_t *lower_brssi_thresh);
217
218/**
219 * ucfg_get_enable_dtim_1chrx() - Assigns enable_dtim_1chrx value
220 * @psoc: pointer to the psoc object
221 *
222 * Return: QDF Status
223 */
224QDF_STATUS ucfg_get_enable_dtim_1chrx(struct wlan_objmgr_psoc *psoc,
225 bool *enable_dtim_1chrx);
226
227/**
228 * ucfg_get_alternate_chainmask_enabled() - Assigns alt chainmask_enabled value
229 * @psoc: pointer to the psoc object
230 *
231 * Return: QDF Status
232 */
233QDF_STATUS
234ucfg_get_alternative_chainmask_enabled(struct wlan_objmgr_psoc *psoc,
235 bool *alternative_chainmask_enabled);
236
Sourav Mohapatra0f3b8572018-09-12 10:03:51 +0530237/**
238 * ucfg_get_smart_chainmask_enabled() - Assigns smart_chainmask_enabled value
239 * @psoc: pointer to the psoc object
240 *
241 * Return: QDF Status
242 */
243QDF_STATUS ucfg_get_smart_chainmask_enabled(struct wlan_objmgr_psoc *psoc,
244 bool *smart_chainmask_enabled);
245
246/**
247 * ucfg_fwol_get_rts_profile() - Assigns get_rts_profile value
248 * @psoc: pointer to the psoc object
249 *
250 * Return: QDF Status
251 */
252QDF_STATUS ucfg_fwol_get_rts_profile(struct wlan_objmgr_psoc *psoc,
253 uint16_t *get_rts_profile);
254
255/**
256 * ucfg_fwol_get_enable_fw_log_level() - Assigns enable_fw_log_level value
257 * @psoc: pointer to the psoc object
258 *
259 * Return: QDF Status
260 */
261QDF_STATUS ucfg_fwol_get_enable_fw_log_level(struct wlan_objmgr_psoc *psoc,
262 uint16_t *enable_fw_log_level);
263
264/**
265 * ucfg_fwol_get_enable_fw_log_type() - Assigns enable_fw_log_type value
266 * @psoc: pointer to the psoc object
267 *
268 * Return: QDF Status
269 */
270QDF_STATUS ucfg_fwol_get_enable_fw_log_type(struct wlan_objmgr_psoc *psoc,
271 uint16_t *enable_fw_log_type);
lifengfaa83cb2018-11-24 01:53:56 +0800272/**
273 * ucfg_fwol_get_enable_fw_module_log_level() - Assigns
274 * enable_fw_module_log_level string
275 * @psoc: pointer to the psoc object
276 * @enable_fw_module_log_level:
277 * pointer to enable_fw_module_log_level array
278 * @enable_fw_module_log_level_num:
279 * pointer to enable_fw_module_log_leve array element num
280 *
281 * Return: QDF Status
282 */
283QDF_STATUS ucfg_fwol_get_enable_fw_module_log_level(
284 struct wlan_objmgr_psoc *psoc,
285 uint8_t **enable_fw_module_log_level,
286 uint8_t *enable_fw_module_log_level_num);
Sourav Mohapatra0f3b8572018-09-12 10:03:51 +0530287
288#ifdef FEATURE_WLAN_RA_FILTERING
289/**
290 * ucfg_fwol_set_is_rate_limit_enabled() - Sets the is_rate_limit_enabled value
291 * @psoc: pointer to the psoc object
292 *
293 * Return: QDF Status
294 */
295QDF_STATUS ucfg_fwol_set_is_rate_limit_enabled(struct wlan_objmgr_psoc *psoc,
296 bool is_rate_limit_enabled);
297
298/**
299 * ucfg_fwol_get_is_rate_limit_enabled() - Assigns is_rate_limit_enabled value
300 * @psoc: pointer to the psoc object
301 *
302 * Return: QDF Status
303 */
304QDF_STATUS ucfg_fwol_get_is_rate_limit_enabled(struct wlan_objmgr_psoc *psoc,
305 bool *is_rate_limit_enabled);
306
307#endif /* FEATURE_WLAN_RA_FILTERING */
308
309/**
310 * ucfg_fwol_get_tsf_gpio_pin() - Assigns tsf_gpio_pin value
311 * @psoc: pointer to the psoc object
312 *
313 * Return: QDF Status
314 */
315
316QDF_STATUS ucfg_fwol_get_tsf_gpio_pin(struct wlan_objmgr_psoc *psoc,
317 uint32_t *tsf_gpio_pin);
318
Subrat Dash5f36fbe2019-02-12 16:28:14 +0530319#ifdef WLAN_FEATURE_TSF_PLUS_EXT_GPIO_IRQ
320/**
321 * ucfg_fwol_get_tsf_irq_host_gpio_pin() - Assigns tsf_irq_host_gpio_pin value
322 * @psoc: pointer to the psoc object
323 *
324 * Return: QDF Status
325 */
326
327QDF_STATUS
328ucfg_fwol_get_tsf_irq_host_gpio_pin(struct wlan_objmgr_psoc *psoc,
329 uint32_t *tsf_irq_host_gpio_pin);
330#endif
331
Subrat Dashb1e61b22019-07-22 14:09:34 +0530332#ifdef WLAN_FEATURE_TSF_PLUS_EXT_GPIO_SYNC
333/**
334 * ucfg_fwol_get_tsf_sync_host_gpio_pin() - Assigns tsf_sync_host_gpio_pin value
335 * @psoc: pointer to the psoc object
336 *
337 * Return: QDF Status
338 */
339
340QDF_STATUS
341ucfg_fwol_get_tsf_sync_host_gpio_pin(struct wlan_objmgr_psoc *psoc,
342 uint32_t *tsf_irq_host_gpio_pin);
343#endif
344
Sourav Mohapatra0f3b8572018-09-12 10:03:51 +0530345#ifdef DHCP_SERVER_OFFLOAD
346/**
347 * ucfg_fwol_get_enable_dhcp_server_offload()-Assign enable_dhcp_server_offload
348 * @psoc: pointer to the psoc object
349 *
350 * Return: QDF Status
351 */
352QDF_STATUS
353ucfg_fwol_get_enable_dhcp_server_offload(struct wlan_objmgr_psoc *psoc,
354 bool *enable_dhcp_server_offload);
355
356/**
357 * ucfg_fwol_get_dhcp_max_num_clients() - Assigns dhcp_max_num_clients value
358 * @psoc: pointer to the psoc object
359 *
360 * Return: QDF Status
361 */
362QDF_STATUS ucfg_fwol_get_dhcp_max_num_clients(struct wlan_objmgr_psoc *psoc,
363 uint32_t *dhcp_max_num_clients);
Sourav Mohapatra0f3b8572018-09-12 10:03:51 +0530364#endif
Manikandan Mohand350c192018-11-29 14:01:12 -0800365
366/**
367 * ucfg_fwol_get_tsf_ptp_options() - Get TSF Plus feature options
368 * @psoc: pointer to the psoc object
369 * @tsf_ptp_options: Pointer to return tsf ptp options
370 *
371 * Return: QDF Status
372 */
373QDF_STATUS ucfg_fwol_get_tsf_ptp_options(struct wlan_objmgr_psoc *psoc,
374 uint32_t *tsf_ptp_options);
375/**
376 * ucfg_fwol_get_lprx_enable() - Get LPRx feature enable status
377 * @psoc: pointer to the psoc object
378 * @lprx_enable: Pointer to return LPRX feature enable status
379 *
380 * Return: QDF Status
381 */
382QDF_STATUS ucfg_fwol_get_lprx_enable(struct wlan_objmgr_psoc *psoc,
383 bool *lprx_enable);
384
385/**
386 * ucfg_fwol_get_sae_enable() - Get SAE feature enable status
387 * @psoc: pointer to the psoc object
Manikandan Mohand350c192018-11-29 14:01:12 -0800388 *
Manikandan Mohan66df7fc2019-01-08 17:57:05 -0800389 * Return: True if enabled else false
Manikandan Mohand350c192018-11-29 14:01:12 -0800390 */
Manikandan Mohan66df7fc2019-01-08 17:57:05 -0800391bool ucfg_fwol_get_sae_enable(struct wlan_objmgr_psoc *psoc);
Manikandan Mohand350c192018-11-29 14:01:12 -0800392
393/**
394 * ucfg_fwol_get_gcmp_enable() - Get GCMP feature enable status
395 * @psoc: pointer to the psoc object
Manikandan Mohand350c192018-11-29 14:01:12 -0800396 *
Manikandan Mohan66df7fc2019-01-08 17:57:05 -0800397 * Return: True if enabled else false
Manikandan Mohand350c192018-11-29 14:01:12 -0800398 */
Manikandan Mohan66df7fc2019-01-08 17:57:05 -0800399bool ucfg_fwol_get_gcmp_enable(struct wlan_objmgr_psoc *psoc);
Manikandan Mohand350c192018-11-29 14:01:12 -0800400
401/**
402 * ucfg_fwol_get_enable_tx_sch_delay() - Get enable tx sch delay
403 * @psoc: pointer to the psoc object
404 * @enable_tx_sch_delay: Pointer to return enable_tx_sch_delay value
405 *
406 * Return: QDF Status
407 */
408QDF_STATUS ucfg_fwol_get_enable_tx_sch_delay(struct wlan_objmgr_psoc *psoc,
409 uint8_t *enable_tx_sch_delay);
410
411/**
412 * ucfg_fwol_get_enable_secondary_rate() - Get enable secondary rate
413 * @psoc: pointer to the psoc object
414 * @enable_tx_sch_delay: Pointer to return enable secondary rate value
415 *
416 * Return: QDF Status
417 */
418QDF_STATUS ucfg_fwol_get_enable_secondary_rate(struct wlan_objmgr_psoc *psoc,
419 uint32_t *enable_secondary_rate);
Harprit Chhabadad59ae762019-01-08 16:40:43 -0800420/**
421 * ucfg_fwol_get_all_adaptive_dwelltime_params() - Get all adaptive
422 dwelltime_params
423 * @psoc: Pointer to psoc object
424 * @dwelltime_params: Pointer to struct adaptive_dwelltime_params
425 *
426 * Return: QDF Status
427 */
428QDF_STATUS
429ucfg_fwol_get_all_adaptive_dwelltime_params(
430 struct wlan_objmgr_psoc *psoc,
431 struct adaptive_dwelltime_params *dwelltime_params);
432/**
433 * ucfg_fwol_get_adaptive_dwell_mode_enabled() - API to globally disable/enable
434 * the adaptive dwell config.
435 * Acceptable values for this:
436 * 0: Config is disabled
437 * 1: Config is enabled
438 *
439 * @psoc: pointer to psoc object
440 * @adaptive_dwell_mode_enabled: adaptive dwell mode enable/disable
441 *
442 * Return: QDF Status
443 */
444QDF_STATUS
445ucfg_fwol_get_adaptive_dwell_mode_enabled(struct wlan_objmgr_psoc *psoc,
446 bool *adaptive_dwell_mode_enabled);
447
448/**
449 * ucfg_fwol_get_global_adapt_dwelltime_mode() - API to set default
450 * adaptive mode.
451 * It will be used if any of the scan dwell mode is set to default.
452 * For uses : see enum scan_dwelltime_adaptive_mode
453 *
454 * @psoc: pointer to psoc object
455 * global_adapt_dwelltime_mode@: global adaptive dwell mode value
456 *
457 * Return: QDF Status
458 */
459QDF_STATUS
460ucfg_fwol_get_global_adapt_dwelltime_mode(struct wlan_objmgr_psoc *psoc,
461 uint8_t *global_adapt_dwelltime_mode);
462/**
463 * ucfg_fwol_get_adapt_dwell_lpf_weight() - API to get weight to calculate
464 * the average low pass filter for channel congestion
465 * @psoc: pointer to psoc object
466 * @adapt_dwell_lpf_weight: adaptive low pass filter weight
467 *
468 * Return: QDF Status
469 */
470QDF_STATUS
471ucfg_fwol_get_adapt_dwell_lpf_weight(struct wlan_objmgr_psoc *psoc,
472 uint8_t *adapt_dwell_lpf_weight);
473
474/**
475 * ucfg_fwol_get_adapt_dwell_passive_mon_intval() - API to get interval value
476 * for montitoring wifi activity in passive scan in msec.
477 * @psoc: pointer to psoc object
478 * @adapt_dwell_passive_mon_intval: adaptive monitor interval in passive scan
479 *
480 * Return: QDF Status
481 */
482QDF_STATUS
483ucfg_fwol_get_adapt_dwell_passive_mon_intval(
484 struct wlan_objmgr_psoc *psoc,
485 uint8_t *adapt_dwell_passive_mon_intval);
486
487/**
488 * ucfg_fwol_get_adapt_dwell_wifi_act_threshold - API to get % of wifi activity
489 * used in passive scan
490 * @psoc: pointer to psoc object
491 * @adapt_dwell_wifi_act_threshold: percent of wifi activity in passive scan
492 *
493 * Return: QDF Status
494 */
495QDF_STATUS ucfg_fwol_get_adapt_dwell_wifi_act_threshold(
496 struct wlan_objmgr_psoc *psoc,
497 uint8_t *adapt_dwell_wifi_act_threshold);
498
499/**
500 * ucfg_fwol_init_adapt_dwelltime_in_cfg - API to initialize adaptive
501 * dwell params
502 * @psoc: pointer to psoc object
503 * @adaptive_dwelltime_params: pointer to adaptive_dwelltime_params structure
504 *
505 * Return: QDF Status
506 */
507static inline QDF_STATUS
508ucfg_fwol_init_adapt_dwelltime_in_cfg(
509 struct wlan_objmgr_psoc *psoc,
510 struct adaptive_dwelltime_params *dwelltime_params)
511{
512 return fwol_init_adapt_dwelltime_in_cfg(psoc, dwelltime_params);
513}
514
515/**
516 * ucfg_fwol_set_adaptive_dwelltime_config - API to set adaptive
517 * dwell params config
518 * @adaptive_dwelltime_params: adaptive_dwelltime_params structure
519 *
520 * Return: QDF Status
521 */
522static inline QDF_STATUS
523ucfg_fwol_set_adaptive_dwelltime_config(
524 struct adaptive_dwelltime_params *dwelltime_params)
525{
526 return fwol_set_adaptive_dwelltime_config(dwelltime_params);
527}
Paul Zhangc9dbaee2019-06-23 22:07:31 +0800528
529#ifdef WLAN_FEATURE_ELNA
530/**
531 * ucfg_fwol_set_elna_bypass() - send set eLNA bypass request
532 * @vdev: vdev handle
533 * @req: set eLNA bypass request
534 *
535 * Return: QDF_STATUS_SUCCESS on success
536 */
537QDF_STATUS ucfg_fwol_set_elna_bypass(struct wlan_objmgr_vdev *vdev,
538 struct set_elna_bypass_request *req);
539
540/**
541 * ucfg_fwol_get_elna_bypass() - send get eLNA bypass request
542 * @vdev: vdev handle
543 * @req: get eLNA bypass request
544 * @callback: get eLNA bypass response callback
545 * @context: request manager context
546 *
547 * Return: QDF_STATUS_SUCCESS on success
548 */
549QDF_STATUS ucfg_fwol_get_elna_bypass(struct wlan_objmgr_vdev *vdev,
550 struct get_elna_bypass_request *req,
551 void (*callback)(void *context,
552 struct get_elna_bypass_response *response),
553 void *context);
554#endif /* WLAN_FEATURE_ELNA */
555#else
556static inline QDF_STATUS ucfg_fwol_psoc_open(struct wlan_objmgr_psoc *psoc)
557{
558 return QDF_STATUS_SUCCESS;
559}
560
561static inline void ucfg_fwol_psoc_close(struct wlan_objmgr_psoc *psoc)
562{
563}
564
565static inline QDF_STATUS ucfg_fwol_init(void)
566{
567 return QDF_STATUS_SUCCESS;
568}
569
570static inline void ucfg_fwol_deinit(void)
571{
572}
573
574static inline QDF_STATUS
575ucfg_fwol_get_coex_config_params(struct wlan_objmgr_psoc *psoc,
576 struct wlan_fwol_coex_config *coex_config)
577{
578 return QDF_STATUS_E_FAILURE;
579}
580
581static inline QDF_STATUS
582ucfg_fwol_get_thermal_temp(struct wlan_objmgr_psoc *psoc,
583 struct wlan_fwol_thermal_temp *thermal_temp)
584{
585 return QDF_STATUS_E_FAILURE;
586}
587
588static inline QDF_STATUS
589ucfg_fwol_get_neighbor_report_cfg(struct wlan_objmgr_psoc *psoc,
590 struct wlan_fwol_neighbor_report_cfg
591 *fwol_neighbor_report_cfg)
592{
593 return QDF_STATUS_E_FAILURE;
594}
595
596static inline QDF_STATUS
597ucfg_fwol_is_neighbor_report_req_supported(struct wlan_objmgr_psoc *psoc,
598 bool *neighbor_report_req)
599{
600 return QDF_STATUS_E_FAILURE;
601}
602
603static inline QDF_STATUS
604ucfg_fwol_get_ie_whitelist(struct wlan_objmgr_psoc *psoc, bool *ie_whitelist)
605{
606 return QDF_STATUS_E_FAILURE;
607}
608
609static inline QDF_STATUS
610ucfg_fwol_set_ie_whitelist(struct wlan_objmgr_psoc *psoc, bool ie_whitelist)
611{
612 return QDF_STATUS_E_FAILURE;
613}
614
615static inline QDF_STATUS
616ucfg_fwol_get_all_whitelist_params(struct wlan_objmgr_psoc *psoc,
617 struct wlan_fwol_ie_whitelist *whitelist)
618{
619 return QDF_STATUS_E_FAILURE;
620}
621
622static inline QDF_STATUS
623ucfg_fwol_get_ani_enabled(struct wlan_objmgr_psoc *psoc,
624 bool *ani_enabled)
625{
626 return QDF_STATUS_E_FAILURE;
627}
628
629static inline QDF_STATUS
630ucfg_get_enable_rts_sifsbursting(struct wlan_objmgr_psoc *psoc,
631 bool *enable_rts_sifsbursting)
632{
633 return QDF_STATUS_E_FAILURE;
634}
635
636static inline QDF_STATUS
637ucfg_get_max_mpdus_inampdu(struct wlan_objmgr_psoc *psoc,
638 uint8_t *max_mpdus_inampdu)
639{
640 return QDF_STATUS_E_FAILURE;
641}
642
643static inline QDF_STATUS
644ucfg_get_arp_ac_category(struct wlan_objmgr_psoc *psoc,
645 uint32_t *arp_ac_category)
646{
647 return QDF_STATUS_E_FAILURE;
648}
649
650static inline QDF_STATUS
651ucfg_get_enable_phy_reg_retention(struct wlan_objmgr_psoc *psoc,
652 uint8_t *enable_phy_reg_retention)
653{
654 return QDF_STATUS_E_FAILURE;
655}
656
657static inline QDF_STATUS
658ucfg_get_upper_brssi_thresh(struct wlan_objmgr_psoc *psoc,
659 uint16_t *upper_brssi_thresh)
660{
661 return QDF_STATUS_E_FAILURE;
662}
663
664static inline QDF_STATUS
665ucfg_get_lower_brssi_thresh(struct wlan_objmgr_psoc *psoc,
666 uint16_t *lower_brssi_thresh)
667{
668 return QDF_STATUS_E_FAILURE;
669}
670
671static inline QDF_STATUS
672ucfg_get_enable_dtim_1chrx(struct wlan_objmgr_psoc *psoc,
673 bool *enable_dtim_1chrx)
674{
675 return QDF_STATUS_E_FAILURE;
676}
677
678static inline QDF_STATUS
679ucfg_get_alternative_chainmask_enabled(struct wlan_objmgr_psoc *psoc,
680 bool *alternative_chainmask_enabled)
681{
682 return QDF_STATUS_E_FAILURE;
683}
684
685static inline QDF_STATUS
686ucfg_get_smart_chainmask_enabled(struct wlan_objmgr_psoc *psoc,
687 bool *smart_chainmask_enabled)
688{
689 return QDF_STATUS_E_FAILURE;
690}
691
692static inline QDF_STATUS
693ucfg_fwol_get_rts_profile(struct wlan_objmgr_psoc *psoc,
694 uint16_t *get_rts_profile)
695{
696 return QDF_STATUS_E_FAILURE;
697}
698
699static inline QDF_STATUS
700ucfg_fwol_get_enable_fw_log_level(struct wlan_objmgr_psoc *psoc,
701 uint16_t *enable_fw_log_level)
702{
703 return QDF_STATUS_E_FAILURE;
704}
705
706static inline QDF_STATUS
707ucfg_fwol_get_enable_fw_log_type(struct wlan_objmgr_psoc *psoc,
708 uint16_t *enable_fw_log_type)
709{
710 return QDF_STATUS_E_FAILURE;
711}
712
713static inline QDF_STATUS
714ucfg_fwol_get_enable_fw_module_log_level(
715 struct wlan_objmgr_psoc *psoc,
716 uint8_t **enable_fw_module_log_level,
717 uint8_t *enable_fw_module_log_level_num)
718{
719 return QDF_STATUS_E_FAILURE;
720}
721
722static inline QDF_STATUS
723ucfg_fwol_get_tsf_gpio_pin(struct wlan_objmgr_psoc *psoc,
724 uint32_t *tsf_gpio_pin)
725{
726 return QDF_STATUS_E_FAILURE;
727}
728
729static inline QDF_STATUS
730ucfg_fwol_get_tsf_ptp_options(struct wlan_objmgr_psoc *psoc,
731 uint32_t *tsf_ptp_options)
732{
733 return QDF_STATUS_E_FAILURE;
734}
735
736static inline QDF_STATUS
737ucfg_fwol_get_lprx_enable(struct wlan_objmgr_psoc *psoc,
738 bool *lprx_enable)
739{
740 return QDF_STATUS_E_FAILURE;
741}
742
743static inline bool ucfg_fwol_get_sae_enable(struct wlan_objmgr_psoc *psoc)
744{
745 return false;
746}
747
748static inline bool ucfg_fwol_get_gcmp_enable(struct wlan_objmgr_psoc *psoc)
749{
750 return false;
751}
752
753static inline QDF_STATUS
754ucfg_fwol_get_enable_tx_sch_delay(struct wlan_objmgr_psoc *psoc,
755 uint8_t *enable_tx_sch_delay)
756{
757 return QDF_STATUS_E_FAILURE;
758}
759
760static inline QDF_STATUS
761ucfg_fwol_get_enable_secondary_rate(struct wlan_objmgr_psoc *psoc,
762 uint32_t *enable_secondary_rate)
763{
764 return QDF_STATUS_E_FAILURE;
765}
766
767static inline QDF_STATUS
768ucfg_fwol_get_all_adaptive_dwelltime_params(
769 struct wlan_objmgr_psoc *psoc,
770 struct adaptive_dwelltime_params *dwelltime_params)
771{
772 return QDF_STATUS_E_FAILURE;
773}
774
775static inline QDF_STATUS
776ucfg_fwol_get_adaptive_dwell_mode_enabled(struct wlan_objmgr_psoc *psoc,
777 bool *adaptive_dwell_mode_enabled)
778{
779 return QDF_STATUS_E_FAILURE;
780}
781
782static inline QDF_STATUS
783ucfg_fwol_get_global_adapt_dwelltime_mode(struct wlan_objmgr_psoc *psoc,
784 uint8_t *global_adapt_dwelltime_mode)
785{
786 return QDF_STATUS_E_FAILURE;
787}
788
789static inline QDF_STATUS
790ucfg_fwol_get_adapt_dwell_lpf_weight(struct wlan_objmgr_psoc *psoc,
791 uint8_t *adapt_dwell_lpf_weight)
792{
793 return QDF_STATUS_E_FAILURE;
794}
795
796static inline QDF_STATUS
797ucfg_fwol_get_adapt_dwell_passive_mon_intval(
798 struct wlan_objmgr_psoc *psoc,
799 uint8_t *adapt_dwell_passive_mon_intval)
800{
801 return QDF_STATUS_E_FAILURE;
802}
803
804static inline QDF_STATUS
805ucfg_fwol_get_adapt_dwell_wifi_act_threshold(
806 struct wlan_objmgr_psoc *psoc,
807 uint8_t *adapt_dwell_wifi_act_threshold)
808{
809 return QDF_STATUS_E_FAILURE;
810}
811
812static inline QDF_STATUS
813ucfg_fwol_init_adapt_dwelltime_in_cfg(
814 struct wlan_objmgr_psoc *psoc,
815 struct adaptive_dwelltime_params *dwelltime_params)
816{
817 return QDF_STATUS_E_FAILURE;
818}
819
820static inline QDF_STATUS
821ucfg_fwol_set_adaptive_dwelltime_config(
822 struct adaptive_dwelltime_params *dwelltime_params)
823{
824 return QDF_STATUS_E_FAILURE;
825}
826
827#ifdef FEATURE_WLAN_RA_FILTERING
828static inline QDF_STATUS
829ucfg_fwol_set_is_rate_limit_enabled(struct wlan_objmgr_psoc *psoc,
830 bool is_rate_limit_enabled)
831{
832 return QDF_STATUS_E_FAILURE;
833}
834
835static inline QDF_STATUS
836ucfg_fwol_get_is_rate_limit_enabled(struct wlan_objmgr_psoc *psoc,
837 bool *is_rate_limit_enabled)
838{
839 return QDF_STATUS_E_FAILURE;
840}
841#endif /* FEATURE_WLAN_RA_FILTERING */
842
843#endif /* WLAN_FW_OFFLOAD */
844
Sourav Mohapatra113685f2018-08-29 14:21:55 +0530845#endif /* _WLAN_FWOL_UCFG_API_H_ */