Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 1 | /* |
Paul Zhang | e79e7db | 2017-01-04 16:37:05 +0800 | [diff] [blame] | 2 | * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved. |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 3 | * |
| 4 | * Previously licensed under the ISC license by Qualcomm Atheros, Inc. |
| 5 | * |
| 6 | * |
| 7 | * Permission to use, copy, modify, and/or distribute this software for |
| 8 | * any purpose with or without fee is hereby granted, provided that the |
| 9 | * above copyright notice and this permission notice appear in all |
| 10 | * copies. |
| 11 | * |
| 12 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL |
| 13 | * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED |
| 14 | * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE |
| 15 | * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL |
| 16 | * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR |
| 17 | * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER |
| 18 | * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR |
| 19 | * PERFORMANCE OF THIS SOFTWARE. |
| 20 | */ |
| 21 | |
| 22 | /* |
| 23 | * This file was originally distributed by Qualcomm Atheros, Inc. |
| 24 | * under proprietary terms before Copyright ownership was assigned |
| 25 | * to the Linux Foundation. |
| 26 | */ |
| 27 | |
| 28 | #ifndef WMA_API_H |
| 29 | #define WMA_API_H |
| 30 | |
| 31 | #include "osdep.h" |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 32 | #include "ani_global.h" |
| 33 | #include "a_types.h" |
Govind Singh | 5b48620 | 2016-06-09 18:29:42 +0530 | [diff] [blame] | 34 | #include "osapi_linux.h" |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 35 | #include "wmi_unified.h" |
| 36 | #ifdef NOT_YET |
| 37 | #include "htc_api.h" |
| 38 | #endif |
| 39 | #include "lim_global.h" |
Krunal Soni | 0193b6f | 2016-08-15 15:53:43 -0700 | [diff] [blame] | 40 | #include "cds_concurrency.h" |
| 41 | #include "cds_utils.h" |
Krunal Soni | d32c6bc | 2016-10-18 18:00:21 -0700 | [diff] [blame] | 42 | #include "scheduler_api.h" |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 43 | |
| 44 | typedef void *WMA_HANDLE; |
| 45 | |
| 46 | /** |
| 47 | * enum GEN_PARAM - general parameters |
| 48 | * @GEN_VDEV_PARAM_AMPDU: Set ampdu size |
| 49 | * @GEN_VDEV_PARAM_AMSDU: Set amsdu size |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 50 | * @GEN_PARAM_CRASH_INJECT: inject crash |
Rajeev Kumar | f4390fa | 2016-12-22 13:17:33 -0800 | [diff] [blame] | 51 | * @GEN_PARAM_MODULATED_DTIM: moduled dtim |
| 52 | * @GEN_PARAM_CAPTURE_TSF: read tsf |
| 53 | * @GEN_PARAM_RESET_TSF_GPIO: reset tsf gpio |
| 54 | * @GEN_VDEV_ROAM_SYNCH_DELAY: roam sync delay |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 55 | */ |
| 56 | typedef enum { |
| 57 | GEN_VDEV_PARAM_AMPDU = 0x1, |
| 58 | GEN_VDEV_PARAM_AMSDU, |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 59 | GEN_PARAM_CRASH_INJECT, |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 60 | GEN_PARAM_MODULATED_DTIM, |
Manikandan Mohan | dcc21ba | 2016-03-15 14:31:56 -0700 | [diff] [blame] | 61 | GEN_PARAM_CAPTURE_TSF, |
| 62 | GEN_PARAM_RESET_TSF_GPIO, |
Varun Reddy Yeturu | 5ab4746 | 2016-05-08 18:08:11 -0700 | [diff] [blame] | 63 | GEN_VDEV_ROAM_SYNCH_DELAY, |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 64 | } GEN_PARAM; |
| 65 | |
Krunal Soni | 0193b6f | 2016-08-15 15:53:43 -0700 | [diff] [blame] | 66 | /** |
| 67 | * struct wma_caps_per_phy - various caps per phy |
| 68 | * @ht_2g: entire HT cap for 2G band in terms of 32 bit flag |
| 69 | * @ht_5g: entire HT cap for 5G band in terms of 32 bit flag |
| 70 | * @vht_2g: entire VHT cap for 2G band in terms of 32 bit flag |
| 71 | * @vht_5g: entire VHT cap for 5G band in terms of 32 bit flag |
| 72 | * @he_2g: entire HE cap for 2G band in terms of 32 bit flag |
| 73 | * @he_5g: entire HE cap for 5G band in terms of 32 bit flag |
| 74 | */ |
| 75 | struct wma_caps_per_phy { |
| 76 | uint32_t ht_2g; |
| 77 | uint32_t ht_5g; |
| 78 | uint32_t vht_2g; |
| 79 | uint32_t vht_5g; |
| 80 | uint32_t he_2g; |
| 81 | uint32_t he_5g; |
| 82 | }; |
| 83 | |
| 84 | |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 85 | #define VDEV_CMD 1 |
| 86 | #define PDEV_CMD 2 |
| 87 | #define GEN_CMD 3 |
| 88 | #define DBG_CMD 4 |
| 89 | #define PPS_CMD 5 |
| 90 | #define QPOWER_CMD 6 |
| 91 | #define GTX_CMD 7 |
| 92 | |
| 93 | typedef void (*wma_peer_authorized_fp) (uint32_t vdev_id); |
| 94 | |
| 95 | |
Anurag Chouhan | fb54ab0 | 2016-02-18 18:00:46 +0530 | [diff] [blame] | 96 | QDF_STATUS wma_pre_start(void *cds_context); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 97 | |
Rajeev Kumar | b60abe4 | 2017-01-21 15:39:31 -0800 | [diff] [blame] | 98 | QDF_STATUS wma_mc_process_msg(void *cds_context, struct scheduler_msg *msg); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 99 | |
Krunal Soni | d32c6bc | 2016-10-18 18:00:21 -0700 | [diff] [blame] | 100 | QDF_STATUS wma_mc_process_handler(struct scheduler_msg *msg); |
Krunal Soni | d32c6bc | 2016-10-18 18:00:21 -0700 | [diff] [blame] | 101 | |
Anurag Chouhan | fb54ab0 | 2016-02-18 18:00:46 +0530 | [diff] [blame] | 102 | QDF_STATUS wma_start(void *cds_context); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 103 | |
Anurag Chouhan | fb54ab0 | 2016-02-18 18:00:46 +0530 | [diff] [blame] | 104 | QDF_STATUS wma_stop(void *cds_context, uint8_t reason); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 105 | |
Anurag Chouhan | fb54ab0 | 2016-02-18 18:00:46 +0530 | [diff] [blame] | 106 | QDF_STATUS wma_close(void *cds_context); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 107 | |
Anurag Chouhan | fb54ab0 | 2016-02-18 18:00:46 +0530 | [diff] [blame] | 108 | QDF_STATUS wma_wmi_service_close(void *cds_context); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 109 | |
Anurag Chouhan | fb54ab0 | 2016-02-18 18:00:46 +0530 | [diff] [blame] | 110 | QDF_STATUS wma_wmi_work_close(void *cds_context); |
Xun Luo | a858a47 | 2015-11-10 08:24:45 -0800 | [diff] [blame] | 111 | |
Govind Singh | d76a5b0 | 2016-03-08 15:12:14 +0530 | [diff] [blame] | 112 | int wma_rx_ready_event(void *handle, uint8_t *ev, uint32_t len); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 113 | |
Govind Singh | d76a5b0 | 2016-03-08 15:12:14 +0530 | [diff] [blame] | 114 | int wma_rx_service_ready_event(void *handle, uint8_t *ev, uint32_t len); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 115 | |
Govind Singh | d76a5b0 | 2016-03-08 15:12:14 +0530 | [diff] [blame] | 116 | int wma_rx_service_ready_ext_event(void *handle, uint8_t *ev, uint32_t len); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 117 | |
| 118 | void wma_setneedshutdown(void *cds_context); |
| 119 | |
| 120 | bool wma_needshutdown(void *cds_context); |
| 121 | |
Anurag Chouhan | fb54ab0 | 2016-02-18 18:00:46 +0530 | [diff] [blame] | 122 | QDF_STATUS wma_wait_for_ready_event(WMA_HANDLE handle); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 123 | |
| 124 | uint8_t wma_map_channel(uint8_t mapChannel); |
| 125 | |
| 126 | int wma_cli_get_command(int vdev_id, int param_id, int vpdev); |
| 127 | int wma_cli_set_command(int vdev_id, int param_id, int sval, int vpdev); |
| 128 | int wma_cli_set2_command(int vdev_id, int param_id, int sval1, |
| 129 | int sval2, int vpdev); |
| 130 | |
Anurag Chouhan | fb54ab0 | 2016-02-18 18:00:46 +0530 | [diff] [blame] | 131 | QDF_STATUS wma_set_htconfig(uint8_t vdev_id, uint16_t ht_capab, int value); |
| 132 | QDF_STATUS wma_set_reg_domain(void *clientCtxt, v_REGDOMAIN_t regId); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 133 | |
Anurag Chouhan | fb54ab0 | 2016-02-18 18:00:46 +0530 | [diff] [blame] | 134 | QDF_STATUS wma_get_wcnss_software_version(void *p_cds_gctx, |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 135 | uint8_t *pVersion, |
| 136 | uint32_t versionBufferSize); |
Dustin Brown | 5409643 | 2017-02-23 13:00:44 -0800 | [diff] [blame] | 137 | |
| 138 | int wma_runtime_suspend(struct wow_enable_params wow_params); |
Houston Hoffman | a76591b | 2015-11-10 16:52:05 -0800 | [diff] [blame] | 139 | int wma_runtime_resume(void); |
Dustin Brown | 5409643 | 2017-02-23 13:00:44 -0800 | [diff] [blame] | 140 | |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 141 | bool wma_check_scan_in_progress(WMA_HANDLE handle); |
| 142 | void wma_set_peer_authorized_cb(void *wma_ctx, wma_peer_authorized_fp auth_cb); |
Govind Singh | d76a5b0 | 2016-03-08 15:12:14 +0530 | [diff] [blame] | 143 | QDF_STATUS wma_set_peer_param(void *wma_ctx, uint8_t *peer_addr, |
| 144 | uint32_t param_id, |
| 145 | uint32_t param_value, uint32_t vdev_id); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 146 | #ifdef NOT_YET |
Anurag Chouhan | fb54ab0 | 2016-02-18 18:00:46 +0530 | [diff] [blame] | 147 | QDF_STATUS wma_update_channel_list(WMA_HANDLE handle, void *scan_chan_info); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 148 | #endif |
| 149 | |
| 150 | uint8_t *wma_get_vdev_address_by_vdev_id(uint8_t vdev_id); |
| 151 | struct wma_txrx_node *wma_get_interface_by_vdev_id(uint8_t vdev_id); |
| 152 | bool wma_is_vdev_up(uint8_t vdev_id); |
| 153 | |
| 154 | void *wma_get_beacon_buffer_by_vdev_id(uint8_t vdev_id, uint32_t *buffer_size); |
| 155 | |
Krishna Kumaar Natarajan | d0bbb3c | 2017-03-13 17:04:58 -0700 | [diff] [blame] | 156 | bool wma_get_fw_wlan_feat_caps(enum cap_bitmap feature); |
| 157 | void wma_set_fw_wlan_feat_caps(enum cap_bitmap feature); |
Rajeev Kumar | feb9638 | 2017-01-22 19:42:09 -0800 | [diff] [blame] | 158 | tSirRetStatus wma_post_ctrl_msg(tpAniSirGlobal pMac, |
| 159 | struct scheduler_msg *pMsg); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 160 | |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 161 | void wma_register_wow_wakeup_events(WMA_HANDLE handle, uint8_t vdev_id, |
| 162 | uint8_t vdev_type, uint8_t sub_type); |
| 163 | void wma_register_wow_default_patterns(WMA_HANDLE handle, uint8_t vdev_id); |
| 164 | int8_t wma_get_hw_mode_idx_from_dbs_hw_list(enum hw_mode_ss_config mac0_ss, |
| 165 | enum hw_mode_bandwidth mac0_bw, |
| 166 | enum hw_mode_ss_config mac1_ss, |
| 167 | enum hw_mode_bandwidth mac1_bw, |
| 168 | enum hw_mode_dbs_capab dbs, |
Nitesh Shah | 5b7bae0 | 2016-09-28 18:58:33 +0530 | [diff] [blame] | 169 | enum hw_mode_agile_dfs_capab dfs, |
| 170 | enum hw_mode_sbs_capab sbs); |
Anurag Chouhan | fb54ab0 | 2016-02-18 18:00:46 +0530 | [diff] [blame] | 171 | QDF_STATUS wma_get_hw_mode_from_idx(uint32_t idx, |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 172 | struct sir_hw_mode_params *hw_mode); |
| 173 | int8_t wma_get_num_dbs_hw_modes(void); |
| 174 | bool wma_is_hw_dbs_capable(void); |
Aravind Narasimhan | 5b7c2cd | 2016-12-08 21:04:26 -0800 | [diff] [blame] | 175 | bool wma_is_hw_sbs_capable(void); |
| 176 | bool wma_is_hw_dbs_2x2_capable(void); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 177 | int8_t wma_get_mac_id_of_vdev(uint32_t vdev_id); |
| 178 | void wma_update_intf_hw_mode_params(uint32_t vdev_id, uint32_t mac_id, |
| 179 | uint32_t cfgd_hw_mode_index); |
Anurag Chouhan | fb54ab0 | 2016-02-18 18:00:46 +0530 | [diff] [blame] | 180 | QDF_STATUS wma_get_old_and_new_hw_index(uint32_t *old_hw_mode_index, |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 181 | uint32_t *new_hw_mode_index); |
| 182 | void wma_set_dbs_capability_ut(uint32_t dbs); |
Anurag Chouhan | fb54ab0 | 2016-02-18 18:00:46 +0530 | [diff] [blame] | 183 | QDF_STATUS wma_get_dbs_hw_modes(bool *one_by_one_dbs, bool *two_by_two_dbs); |
| 184 | QDF_STATUS wma_get_current_hw_mode(struct sir_hw_mode_params *hw_mode); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 185 | bool wma_is_dbs_enable(void); |
Nitesh Shah | a3dfea3 | 2017-02-09 19:18:57 +0530 | [diff] [blame] | 186 | enum cds_hw_mode_change |
| 187 | wma_get_cds_hw_mode_change_from_hw_mode_index(uint32_t hw_mode_index); |
| 188 | |
Anurag Chouhan | fb54ab0 | 2016-02-18 18:00:46 +0530 | [diff] [blame] | 189 | QDF_STATUS wma_get_updated_scan_config(uint32_t *scan_config, |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 190 | bool dbs_scan, |
| 191 | bool dbs_plus_agile_scan, |
| 192 | bool single_mac_scan_with_dfs); |
Anurag Chouhan | fb54ab0 | 2016-02-18 18:00:46 +0530 | [diff] [blame] | 193 | QDF_STATUS wma_get_updated_fw_mode_config(uint32_t *fw_mode_config, |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 194 | bool dbs, |
| 195 | bool agile_dfs); |
| 196 | bool wma_get_dbs_scan_config(void); |
| 197 | bool wma_get_dbs_plus_agile_scan_config(void); |
| 198 | bool wma_get_single_mac_scan_with_dfs_config(void); |
| 199 | bool wma_get_dbs_config(void); |
| 200 | bool wma_get_agile_dfs_config(void); |
| 201 | bool wma_is_dual_mac_disabled_in_ini(void); |
| 202 | bool wma_get_prev_dbs_config(void); |
| 203 | bool wma_get_prev_agile_dfs_config(void); |
| 204 | bool wma_get_prev_dbs_scan_config(void); |
| 205 | bool wma_get_prev_dbs_plus_agile_scan_config(void); |
| 206 | bool wma_get_prev_single_mac_scan_with_dfs_config(void); |
Krunal Soni | 0193b6f | 2016-08-15 15:53:43 -0700 | [diff] [blame] | 207 | QDF_STATUS wma_get_caps_for_phyidx_hwmode(struct wma_caps_per_phy *caps_per_phy, |
| 208 | enum hw_mode_dbs_capab hw_mode, enum cds_band_type band); |
| 209 | bool wma_is_rx_ldpc_supported_for_channel(uint32_t channel); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 210 | |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 211 | #if defined(FEATURE_LRO) |
Dhanashri Atre | 09828f1 | 2016-11-13 10:36:58 -0800 | [diff] [blame] | 212 | int wma_lro_init(struct cdp_lro_hash_config *lro_config); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 213 | #endif |
| 214 | bool wma_is_scan_simultaneous_capable(void); |
Ryan Hsu | 3c8f79f | 2015-12-02 16:45:09 -0800 | [diff] [blame] | 215 | |
Gupta, Kapil | 4cb1d7d | 2016-04-16 18:16:25 -0700 | [diff] [blame] | 216 | QDF_STATUS wma_remove_beacon_filter(WMA_HANDLE wma, |
| 217 | struct beacon_filter_param *filter_params); |
| 218 | |
| 219 | QDF_STATUS wma_add_beacon_filter(WMA_HANDLE wma, |
| 220 | struct beacon_filter_param *filter_params); |
Gupta, Kapil | 96c7f2f | 2016-04-25 19:13:41 +0530 | [diff] [blame] | 221 | QDF_STATUS wma_send_adapt_dwelltime_params(WMA_HANDLE handle, |
| 222 | struct adaptive_dwelltime_params *dwelltime_params); |
Ryan Hsu | 3c8f79f | 2015-12-02 16:45:09 -0800 | [diff] [blame] | 223 | #ifdef FEATURE_GREEN_AP |
| 224 | void wma_setup_egap_support(struct wma_tgt_cfg *tgt_cfg, WMA_HANDLE handle); |
| 225 | void wma_register_egap_event_handle(WMA_HANDLE handle); |
Anurag Chouhan | fb54ab0 | 2016-02-18 18:00:46 +0530 | [diff] [blame] | 226 | QDF_STATUS wma_send_egap_conf_params(WMA_HANDLE handle, |
Ryan Hsu | 3c8f79f | 2015-12-02 16:45:09 -0800 | [diff] [blame] | 227 | struct egap_conf_params *egap_params); |
| 228 | #else |
| 229 | static inline void wma_setup_egap_support(struct wma_tgt_cfg *tgt_cfg, |
| 230 | WMA_HANDLE handle) {} |
| 231 | static inline void wma_register_egap_event_handle(WMA_HANDLE handle) {} |
Anurag Chouhan | fb54ab0 | 2016-02-18 18:00:46 +0530 | [diff] [blame] | 232 | static inline QDF_STATUS wma_send_egap_conf_params(WMA_HANDLE handle, |
Ryan Hsu | 3c8f79f | 2015-12-02 16:45:09 -0800 | [diff] [blame] | 233 | struct egap_conf_params *egap_params) |
| 234 | { |
Anurag Chouhan | fb54ab0 | 2016-02-18 18:00:46 +0530 | [diff] [blame] | 235 | return QDF_STATUS_E_NOSUPPORT; |
Ryan Hsu | 3c8f79f | 2015-12-02 16:45:09 -0800 | [diff] [blame] | 236 | } |
| 237 | #endif |
Anurag Chouhan | fb54ab0 | 2016-02-18 18:00:46 +0530 | [diff] [blame] | 238 | QDF_STATUS wma_set_tx_power_scale(uint8_t vdev_id, int value); |
| 239 | QDF_STATUS wma_set_tx_power_scale_decr_db(uint8_t vdev_id, int value); |
Naveen Rawat | 0fc3f69 | 2016-06-22 14:30:54 -0700 | [diff] [blame] | 240 | |
| 241 | #ifdef WLAN_FEATURE_NAN_DATAPATH |
| 242 | QDF_STATUS wma_register_ndp_cb(QDF_STATUS (*pe_ndp_event_handler) |
| 243 | (tpAniSirGlobal mac_ctx, |
Rajeev Kumar | b60abe4 | 2017-01-21 15:39:31 -0800 | [diff] [blame] | 244 | struct scheduler_msg *msg)); |
Naveen Rawat | 0fc3f69 | 2016-06-22 14:30:54 -0700 | [diff] [blame] | 245 | #else |
| 246 | static inline QDF_STATUS wma_register_ndp_cb(QDF_STATUS (*pe_ndp_event_handler) |
| 247 | (tpAniSirGlobal mac_ctx, |
Rajeev Kumar | b60abe4 | 2017-01-21 15:39:31 -0800 | [diff] [blame] | 248 | struct scheduler_msg *msg)) |
Naveen Rawat | 0fc3f69 | 2016-06-22 14:30:54 -0700 | [diff] [blame] | 249 | { |
| 250 | return QDF_STATUS_SUCCESS; |
| 251 | } |
| 252 | #endif |
| 253 | |
Peng Xu | 8fdaa49 | 2016-06-22 10:20:47 -0700 | [diff] [blame] | 254 | bool wma_is_p2p_lo_capable(void); |
| 255 | QDF_STATUS wma_p2p_lo_start(struct sir_p2p_lo_start *params); |
| 256 | QDF_STATUS wma_p2p_lo_stop(u_int32_t vdev_id); |
Padma, Santhosh Kumar | 5e33beb | 2016-08-08 19:07:06 +0530 | [diff] [blame] | 257 | QDF_STATUS wma_get_wakelock_stats(struct sir_wake_lock_stats *wake_lock_stats); |
Naveen Rawat | 8cc23b0 | 2016-07-14 12:22:56 -0700 | [diff] [blame] | 258 | void wma_process_pdev_hw_mode_trans_ind(void *wma, |
| 259 | wmi_pdev_hw_mode_transition_event_fixed_param *fixed_param, |
| 260 | wmi_pdev_set_hw_mode_response_vdev_mac_entry *vdev_mac_entry, |
| 261 | struct sir_hw_mode_trans_ind *hw_mode_trans_ind); |
Padma, Santhosh Kumar | 72e7aec | 2016-10-12 17:23:44 +0530 | [diff] [blame] | 262 | |
| 263 | #ifdef WLAN_FEATURE_DISA |
Padma, Santhosh Kumar | d7cc079 | 2016-06-28 18:54:12 +0530 | [diff] [blame] | 264 | QDF_STATUS wma_encrypt_decrypt_msg(WMA_HANDLE wma, |
| 265 | struct encrypt_decrypt_req_params *encrypt_decrypt_params); |
Padma, Santhosh Kumar | 72e7aec | 2016-10-12 17:23:44 +0530 | [diff] [blame] | 266 | #else |
| 267 | static inline QDF_STATUS wma_encrypt_decrypt_msg(WMA_HANDLE wma, |
| 268 | struct encrypt_decrypt_req_params *encrypt_decrypt_params) |
| 269 | { |
| 270 | return 0; |
| 271 | } |
| 272 | #endif |
Agrawal Ashish | b2d1a45 | 2016-05-05 12:23:58 +0530 | [diff] [blame] | 273 | |
| 274 | /** |
| 275 | * wma_set_cts2self_for_p2p_go() - set CTS2SELF command for P2P GO. |
| 276 | * @wma_handle: pointer to wma handle. |
| 277 | * @cts2self_for_p2p_go: value needs to set to firmware. |
| 278 | * |
| 279 | * At the time of driver startup, inform about ini parma to FW that |
| 280 | * if legacy client connects to P2P GO, stop using NOA for P2P GO. |
| 281 | * |
| 282 | * Return: QDF_STATUS. |
| 283 | */ |
| 284 | QDF_STATUS wma_set_cts2self_for_p2p_go(void *wma_handle, |
| 285 | uint32_t cts2self_for_p2p_go); |
Padma, Santhosh Kumar | a711967 | 2016-08-16 16:05:14 +0530 | [diff] [blame] | 286 | QDF_STATUS wma_set_tx_rx_aggregation_size |
| 287 | (struct sir_set_tx_rx_aggregation_size *tx_rx_aggregation_size); |
Kabilan Kannan | 3c0a735 | 2016-12-02 18:49:38 -0800 | [diff] [blame] | 288 | /** |
| 289 | * wma_set_sar_limit() - set sar limits in the target |
| 290 | * @handle: wma handle |
| 291 | * @sar_limit_cmd_params: sar limit cmd params |
| 292 | * |
| 293 | * This function sends WMI command to set SAR limits. |
| 294 | * |
| 295 | * Return: QDF_STATUS enumeration |
| 296 | */ |
| 297 | QDF_STATUS wma_set_sar_limit(WMA_HANDLE handle, |
| 298 | struct sar_limit_cmd_params *sar_limit_params); |
Dustin Brown | 10a7b71 | 2016-10-07 10:31:16 -0700 | [diff] [blame] | 299 | /** |
| 300 | * wma_set_qpower_config() - update qpower config in wma |
| 301 | * @vdev_id: the Id of the vdev to configure |
| 302 | * @qpower: new qpower value |
| 303 | * |
| 304 | * Return: QDF_STATUS_SUCCESS on success, error number otherwise |
| 305 | */ |
| 306 | QDF_STATUS wma_set_qpower_config(uint8_t vdev_id, uint8_t qpower); |
Krishna Kumaar Natarajan | 0103ef8 | 2017-02-17 18:15:56 -0800 | [diff] [blame^] | 307 | |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 308 | #endif |