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