blob: 7108b298876c471b8970c3b84c7c2083f8c5ef58 [file] [log] [blame]
Govind Singhd475ea92016-03-06 19:55:02 +05301/*
2 * Copyright (c) 2013-2016 The Linux Foundation. All rights reserved.
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/*
Govind Singh6ad6ada2016-02-04 18:42:30 +053029 * This file contains the API definitions for the Unified Wireless Module
30 * Interface (WMI).
Govind Singhd475ea92016-03-06 19:55:02 +053031 */
32
33#ifndef _WMI_UNIFIED_API_H_
34#define _WMI_UNIFIED_API_H_
35
36#include <osdep.h>
37#include "a_types.h"
38#include "ol_defines.h"
Himanshu Agarwal56c292f2016-07-19 15:41:51 +053039#ifdef CONFIG_MCL
Govind Singhd475ea92016-03-06 19:55:02 +053040#include "wmi.h"
Himanshu Agarwal56c292f2016-07-19 15:41:51 +053041#endif
Govind Singhd475ea92016-03-06 19:55:02 +053042#include "htc_api.h"
Govind Singh3ddda1f2016-03-09 11:34:12 +053043#include "wmi_unified_param.h"
Govind Singhd475ea92016-03-06 19:55:02 +053044
Govind Singhd7468a52016-03-09 14:32:57 +053045typedef qdf_nbuf_t wmi_buf_t;
46#define wmi_buf_data(_buf) qdf_nbuf_data(_buf)
47
48#define WMI_LOGD(args ...) \
49 QDF_TRACE(QDF_MODULE_ID_WMI, QDF_TRACE_LEVEL_DEBUG, ## args)
50#define WMI_LOGI(args ...) \
51 QDF_TRACE(QDF_MODULE_ID_WMI, QDF_TRACE_LEVEL_INFO, ## args)
52#define WMI_LOGW(args ...) \
53 QDF_TRACE(QDF_MODULE_ID_WMI, QDF_TRACE_LEVEL_WARN, ## args)
54#define WMI_LOGE(args ...) \
55 QDF_TRACE(QDF_MODULE_ID_WMI, QDF_TRACE_LEVEL_ERROR, ## args)
56#define WMI_LOGP(args ...) \
57 QDF_TRACE(QDF_MODULE_ID_WMI, QDF_TRACE_LEVEL_FATAL, ## args)
58
59#define WMI_DEBUG_ALWAYS
60
61#ifdef WMI_DEBUG_ALWAYS
62#define WMI_LOGA(args ...) \
63 QDF_TRACE(QDF_MODULE_ID_WMI, QDF_TRACE_LEVEL_FATAL, ## args)
64#else
65#define WMI_LOGA(args ...)
66#endif
Govind Singhd475ea92016-03-06 19:55:02 +053067
68/**
Govind Singh6ad6ada2016-02-04 18:42:30 +053069 * struct wmi_ops - service callbacks to upper layer
70 * @service_ready_cbk: service ready callback
71 * @service_ready_ext_cbk: service ready ext callback
72 * @ready_cbk: ready calback
73 * @wma_process_fw_event_handler_cbk: generic event handler callback
74 */
Govind Singh3ddda1f2016-03-09 11:34:12 +053075struct wmi_rx_ops {
Govind Singh4ec6ff92016-03-09 12:03:29 +053076
Govind Singh6ad6ada2016-02-04 18:42:30 +053077 int (*wma_process_fw_event_handler_cbk)(void *ctx,
Govind Singh4ec6ff92016-03-09 12:03:29 +053078 void *ev, uint8_t rx_ctx);
Govind Singh6ad6ada2016-02-04 18:42:30 +053079};
80
81/**
82 * enum wmi_target_type - type of supported wmi command
83 * @WMI_TLV_TARGET: tlv based target
84 * @WMI_NON_TLV_TARGET: non-tlv based target
85 *
86 */
87enum wmi_target_type {
88 WMI_TLV_TARGET,
89 WMI_NON_TLV_TARGET
90};
91
92/**
Govind Singh4ec6ff92016-03-09 12:03:29 +053093 * enum wmi_rx_exec_ctx - wmi rx execution context
94 * @WMI_RX_WORK_CTX: work queue context execution provided by WMI layer
95 * @WMI_RX_UMAC_CTX: execution context provided by umac layer
96 *
97 */
98enum wmi_rx_exec_ctx {
99 WMI_RX_WORK_CTX,
100 WMI_RX_UMAC_CTX
101};
102
103/**
Govind Singhd475ea92016-03-06 19:55:02 +0530104 * attach for unified WMI
105 *
106 * @param scn_handle : handle to SCN.
Govind Singh89727882016-04-15 13:58:27 +0530107 * @param target_type : type of supported wmi command
108 * @param use_cookie : flag to indicate cookie based allocation
109 * @param ops : handle to wmi ops
Govind Singhd475ea92016-03-06 19:55:02 +0530110 * @return opaque handle.
111 */
112void *wmi_unified_attach(void *scn_handle,
Govind Singh6ad6ada2016-02-04 18:42:30 +0530113 osdev_t osdev, enum wmi_target_type target_type,
Govind Singh3ddda1f2016-03-09 11:34:12 +0530114 bool use_cookie, struct wmi_rx_ops *ops);
Govind Singh6ad6ada2016-02-04 18:42:30 +0530115
Sandeep Puligilla38a294f2016-06-13 15:42:55 -0700116
Sandeep Puligilla20fb76b2016-07-19 13:20:57 -0700117/**
118 * wmi_mgmt_cmd_record() - Wrapper function for mgmt command logging macro
119 *
120 * @wmi_handle: wmi handle
121 * @cmd: mgmt command
122 * @header: pointer to 802.11 header
123 * @vdev_id: vdev id
124 * @chanfreq: channel frequency
125 *
126 * Return: none
127 */
Himanshu Agarwal56c292f2016-07-19 15:41:51 +0530128void wmi_mgmt_cmd_record(wmi_unified_t wmi_handle, uint32_t cmd,
Sandeep Puligilla20fb76b2016-07-19 13:20:57 -0700129 void *header, uint32_t vdev_id, uint32_t chanfreq);
Sandeep Puligilla38a294f2016-06-13 15:42:55 -0700130
Govind Singhd475ea92016-03-06 19:55:02 +0530131/**
132 * detach for unified WMI
133 *
134 * @param wmi_handle : handle to WMI.
135 * @return void.
136 */
137void wmi_unified_detach(struct wmi_unified *wmi_handle);
138
139void
140wmi_unified_remove_work(struct wmi_unified *wmi_handle);
141
142/**
143 * generic function to allocate WMI buffer
144 *
145 * @param wmi_handle : handle to WMI.
146 * @param len : length of the buffer
147 * @return wmi_buf_t.
148 */
149#ifdef MEMORY_DEBUG
150#define wmi_buf_alloc(h, l) wmi_buf_alloc_debug(h, l, __FILE__, __LINE__)
151wmi_buf_t
152wmi_buf_alloc_debug(wmi_unified_t wmi_handle, uint16_t len,
153 uint8_t *file_name, uint32_t line_num);
154#else
155wmi_buf_t wmi_buf_alloc(wmi_unified_t wmi_handle, uint16_t len);
156#endif
157
158/**
159 * generic function frees WMI net buffer
160 *
161 * @param net_buf : Pointer ot net_buf to be freed
162 */
163void wmi_buf_free(wmi_buf_t net_buf);
164
165/**
166 * generic function to send unified WMI command
167 *
168 * @param wmi_handle : handle to WMI.
169 * @param buf : wmi command buffer
170 * @param buflen : wmi command buffer length
Govind Singh89727882016-04-15 13:58:27 +0530171 * @param cmd_id : WMI cmd id
Govind Singhd475ea92016-03-06 19:55:02 +0530172 * @return 0 on success and -ve on failure.
173 */
174int
Govind Singh6ad6ada2016-02-04 18:42:30 +0530175wmi_unified_cmd_send(wmi_unified_t wmi_handle, wmi_buf_t buf, uint32_t buflen,
Himanshu Agarwal56c292f2016-07-19 15:41:51 +0530176 uint32_t cmd_id);
Govind Singhd475ea92016-03-06 19:55:02 +0530177
178/**
Govind Singh4ec6ff92016-03-09 12:03:29 +0530179 * wmi_unified_register_event_handler() - WMI event handler
180 * registration function
Govind Singhd475ea92016-03-06 19:55:02 +0530181 *
Govind Singh4ec6ff92016-03-09 12:03:29 +0530182 * @wmi_handle: handle to WMI.
183 * @event_id: WMI event ID
184 * @handler_func: Event handler call back function
185 * @rx_ctx: rx event processing context
186 *
Govind Singhd475ea92016-03-06 19:55:02 +0530187 * @return 0 on success and -ve on failure.
188 */
189int
190wmi_unified_register_event_handler(wmi_unified_t wmi_handle,
Govind Singh89727882016-04-15 13:58:27 +0530191 uint32_t event_id,
Govind Singh4ec6ff92016-03-09 12:03:29 +0530192 wmi_unified_event_handler handler_func,
193 uint8_t rx_ctx);
Govind Singhd475ea92016-03-06 19:55:02 +0530194
195/**
196 * WMI event handler unregister function
197 *
198 * @param wmi_handle : handle to WMI.
199 * @param event_id : WMI event ID
200 * @return 0 on success and -ve on failure.
201 */
202int
203wmi_unified_unregister_event_handler(wmi_unified_t wmi_handle,
Govind Singh89727882016-04-15 13:58:27 +0530204 uint32_t event_id);
Govind Singhd475ea92016-03-06 19:55:02 +0530205
206/**
207 * request wmi to connet its htc service.
208 * @param wmi_handle : handle to WMI.
Govind Singh89727882016-04-15 13:58:27 +0530209 * @param htc_handle : handle to HTC.
Govind Singhd475ea92016-03-06 19:55:02 +0530210 * @return void
211 */
212int
213wmi_unified_connect_htc_service(struct wmi_unified *wmi_handle,
214 void *htc_handle);
215
216/*
217 * WMI API to verify the host has enough credits to suspend
Govind Singh89727882016-04-15 13:58:27 +0530218 * @param wmi_handle : handle to WMI.
Govind Singhd475ea92016-03-06 19:55:02 +0530219 */
220
221int wmi_is_suspend_ready(wmi_unified_t wmi_handle);
222
223/**
Govind Singh89727882016-04-15 13:58:27 +0530224 * WMI API to get updated host_credits
225 * @param wmi_handle : handle to WMI.
Govind Singhd475ea92016-03-06 19:55:02 +0530226 */
227
228int wmi_get_host_credits(wmi_unified_t wmi_handle);
229
230/**
Govind Singh89727882016-04-15 13:58:27 +0530231 * WMI API to get WMI Pending Commands in the HTC queue
232 * @param wmi_handle : handle to WMI.
Govind Singhd475ea92016-03-06 19:55:02 +0530233 */
234
235int wmi_get_pending_cmds(wmi_unified_t wmi_handle);
236
237/**
Govind Singh89727882016-04-15 13:58:27 +0530238 * WMI API to set target suspend state
239 * @param wmi_handle : handle to WMI.
240 * @param val : suspend state boolean
Govind Singhd475ea92016-03-06 19:55:02 +0530241 */
Govind Singhd475ea92016-03-06 19:55:02 +0530242void wmi_set_target_suspend(wmi_unified_t wmi_handle, bool val);
243
Govind Singh89727882016-04-15 13:58:27 +0530244/**
245 * generic function to block unified WMI command
246 * @param wmi_handle : handle to WMI.
247 * @return 0 on success and -ve on failure.
248 */
249int
250wmi_stop(wmi_unified_t wmi_handle);
251
252/**
253 * API to flush all the previous packets associated with the wmi endpoint
254 *
255 * @param wmi_handle : handle to WMI.
256 */
257void
258wmi_flush_endpoint(wmi_unified_t wmi_handle);
259
260/**
261 * API to handle wmi rx event after UMAC has taken care of execution
262 * context
263 *
264 * @param wmi_handle : handle to WMI.
265 * @param evt_buf : wmi event buffer
266 */
267void __wmi_control_rx(struct wmi_unified *wmi_handle, wmi_buf_t evt_buf);
Govind Singhd475ea92016-03-06 19:55:02 +0530268#ifdef FEATURE_RUNTIME_PM
269void
270wmi_set_runtime_pm_inprogress(wmi_unified_t wmi_handle, bool val);
271bool wmi_get_runtime_pm_inprogress(wmi_unified_t wmi_handle);
272#else
273static inline void
274wmi_set_runtime_pm_inprogress(wmi_unified_t wmi_handle, bool val)
275{
276 return;
277}
278static inline bool wmi_get_runtime_pm_inprogress(wmi_unified_t wmi_handle)
279{
280 return false;
281}
282#endif
283
Govind Singh4ec6ff92016-03-09 12:03:29 +0530284
Govind Singhd475ea92016-03-06 19:55:02 +0530285/**
Govind Singhd7468a52016-03-09 14:32:57 +0530286 * UMAC Callback to process fw event.
Govind Singh89727882016-04-15 13:58:27 +0530287 * @param wmi_handle : handle to WMI.
288 * @param evt_buf : wmi event buffer
Govind Singhd475ea92016-03-06 19:55:02 +0530289 */
Govind Singhd475ea92016-03-06 19:55:02 +0530290void wmi_process_fw_event(struct wmi_unified *wmi_handle, wmi_buf_t evt_buf);
291uint16_t wmi_get_max_msg_len(wmi_unified_t wmi_handle);
Govind Singh3ddda1f2016-03-09 11:34:12 +0530292
293
Govind Singhd7468a52016-03-09 14:32:57 +0530294QDF_STATUS wmi_unified_vdev_create_send(void *wmi_hdl,
Govind Singh3ddda1f2016-03-09 11:34:12 +0530295 uint8_t macaddr[IEEE80211_ADDR_LEN],
296 struct vdev_create_params *param);
297
Govind Singhd7468a52016-03-09 14:32:57 +0530298QDF_STATUS wmi_unified_vdev_delete_send(void *wmi_hdl,
Govind Singh3ddda1f2016-03-09 11:34:12 +0530299 uint8_t if_id);
300
Govind Singhd7468a52016-03-09 14:32:57 +0530301QDF_STATUS wmi_unified_vdev_restart_send(void *wmi_hdl,
Govind Singh3ddda1f2016-03-09 11:34:12 +0530302 uint8_t macaddr[IEEE80211_ADDR_LEN],
303 struct vdev_start_params *param);
304
Govind Singhd7468a52016-03-09 14:32:57 +0530305QDF_STATUS wmi_unified_vdev_stop_send(void *wmi_hdl,
Govind Singh3ddda1f2016-03-09 11:34:12 +0530306 uint8_t vdev_id);
307
Govind Singhd7468a52016-03-09 14:32:57 +0530308QDF_STATUS wmi_unified_vdev_up_send(void *wmi_hdl,
Govind Singh3ddda1f2016-03-09 11:34:12 +0530309 uint8_t bssid[IEEE80211_ADDR_LEN],
310 struct vdev_up_params *params);
311
Govind Singhd7468a52016-03-09 14:32:57 +0530312QDF_STATUS wmi_unified_vdev_down_send(void *wmi_hdl,
Govind Singh3ddda1f2016-03-09 11:34:12 +0530313 uint8_t vdev_id);
314
Himanshu Agarwal7e4f4bc2016-03-09 16:49:38 +0530315QDF_STATUS wmi_unified_vdev_start_send(void *wmi_hdl,
316 struct vdev_start_params *req);
317
318QDF_STATUS wmi_unified_hidden_ssid_vdev_restart_send(void *wmi_hdl,
319 struct hidden_ssid_vdev_restart_params *restart_params);
320
Govind Singhd7468a52016-03-09 14:32:57 +0530321QDF_STATUS wmi_unified_vdev_set_param_send(void *wmi_hdl,
Govind Singh3ddda1f2016-03-09 11:34:12 +0530322 struct vdev_set_params *param);
323
Govind Singhd7468a52016-03-09 14:32:57 +0530324QDF_STATUS wmi_unified_peer_delete_send(void *wmi_hdl,
Govind Singh3ddda1f2016-03-09 11:34:12 +0530325 uint8_t
326 peer_addr[IEEE80211_ADDR_LEN],
327 uint8_t vdev_id);
328
Govind Singhd7468a52016-03-09 14:32:57 +0530329QDF_STATUS wmi_unified_peer_flush_tids_send(void *wmi_hdl,
Govind Singh3ddda1f2016-03-09 11:34:12 +0530330 uint8_t peer_addr[IEEE80211_ADDR_LEN],
331 struct peer_flush_params *param);
332
Govind Singhd7468a52016-03-09 14:32:57 +0530333QDF_STATUS wmi_set_peer_param_send(void *wmi_hdl,
Govind Singh3ddda1f2016-03-09 11:34:12 +0530334 uint8_t peer_addr[IEEE80211_ADDR_LEN],
335 struct peer_set_params *param);
336
Govind Singhd7468a52016-03-09 14:32:57 +0530337QDF_STATUS wmi_unified_peer_create_send(void *wmi_hdl,
Govind Singh3ddda1f2016-03-09 11:34:12 +0530338 struct peer_create_params *param);
339
Govind Singhd7468a52016-03-09 14:32:57 +0530340QDF_STATUS wmi_unified_stats_request_send(void *wmi_hdl,
Govind Singh3ddda1f2016-03-09 11:34:12 +0530341 uint8_t macaddr[IEEE80211_ADDR_LEN],
342 struct stats_request_params *param);
343
Govind Singhd7468a52016-03-09 14:32:57 +0530344QDF_STATUS wmi_unified_green_ap_ps_send(void *wmi_hdl,
Govind Singh3ddda1f2016-03-09 11:34:12 +0530345 uint32_t value, uint8_t mac_id);
346
347
Govind Singhd7468a52016-03-09 14:32:57 +0530348QDF_STATUS wmi_unified_wow_enable_send(void *wmi_hdl,
Govind Singh3ddda1f2016-03-09 11:34:12 +0530349 struct wow_cmd_params *param,
350 uint8_t mac_id);
351
Govind Singh89727882016-04-15 13:58:27 +0530352#ifdef WMI_NON_TLV_SUPPORT
353QDF_STATUS wmi_unified_packet_log_enable_send(void *wmi_hdl,
354 WMI_HOST_PKTLOG_EVENT PKTLOG_EVENT);
355#else
Govind Singhd7468a52016-03-09 14:32:57 +0530356QDF_STATUS wmi_unified_packet_log_enable_send(void *wmi_hdl,
Govind Singh3ddda1f2016-03-09 11:34:12 +0530357 uint8_t macaddr[IEEE80211_ADDR_LEN],
358 struct packet_enable_params *param);
Govind Singh89727882016-04-15 13:58:27 +0530359#endif
Govind Singh3ddda1f2016-03-09 11:34:12 +0530360
Govind Singh89727882016-04-15 13:58:27 +0530361QDF_STATUS wmi_unified_packet_log_disable_send(void *wmi_hdl);
Govind Singh3ddda1f2016-03-09 11:34:12 +0530362
Govind Singhd7468a52016-03-09 14:32:57 +0530363QDF_STATUS wmi_unified_suspend_send(void *wmi_hdl,
Govind Singh3ddda1f2016-03-09 11:34:12 +0530364 struct suspend_params *param,
365 uint8_t mac_id);
366
Govind Singhd7468a52016-03-09 14:32:57 +0530367QDF_STATUS wmi_unified_resume_send(void *wmi_hdl,
Govind Singh3ddda1f2016-03-09 11:34:12 +0530368 uint8_t mac_id);
369
Govind Singhd7468a52016-03-09 14:32:57 +0530370QDF_STATUS
Govind Singh3ddda1f2016-03-09 11:34:12 +0530371wmi_unified_pdev_param_send(void *wmi_hdl,
372 struct pdev_params *param,
373 uint8_t mac_id);
374
Govind Singh89727882016-04-15 13:58:27 +0530375QDF_STATUS wmi_unified_beacon_tmpl_send_cmd(void *wmi_hdl,
376 struct beacon_tmpl_params *param);
377
378
Govind Singhd7468a52016-03-09 14:32:57 +0530379QDF_STATUS wmi_unified_beacon_send_cmd(void *wmi_hdl,
Govind Singh3ddda1f2016-03-09 11:34:12 +0530380 struct beacon_params *param);
381
Govind Singhd7468a52016-03-09 14:32:57 +0530382QDF_STATUS wmi_unified_peer_assoc_send(void *wmi_hdl,
Govind Singh3ddda1f2016-03-09 11:34:12 +0530383 struct peer_assoc_params *param);
384
Govind Singhd7468a52016-03-09 14:32:57 +0530385QDF_STATUS wmi_unified_sta_ps_cmd_send(void *wmi_hdl,
Govind Singh3ddda1f2016-03-09 11:34:12 +0530386 struct sta_ps_params *param);
387
Govind Singhd7468a52016-03-09 14:32:57 +0530388QDF_STATUS wmi_unified_ap_ps_cmd_send(void *wmi_hdl,
Govind Singh3ddda1f2016-03-09 11:34:12 +0530389 uint8_t macaddr[IEEE80211_ADDR_LEN],
390 struct ap_ps_params *param);
391
Govind Singhd7468a52016-03-09 14:32:57 +0530392QDF_STATUS wmi_unified_scan_start_cmd_send(void *wmi_hdl,
Govind Singh3ddda1f2016-03-09 11:34:12 +0530393 struct scan_start_params *param);
394
Govind Singhd7468a52016-03-09 14:32:57 +0530395QDF_STATUS wmi_unified_scan_stop_cmd_send(void *wmi_hdl,
Govind Singh3ddda1f2016-03-09 11:34:12 +0530396 struct scan_stop_params *param);
397
Govind Singhd7468a52016-03-09 14:32:57 +0530398QDF_STATUS wmi_unified_scan_chan_list_cmd_send(void *wmi_hdl,
Govind Singh3ddda1f2016-03-09 11:34:12 +0530399 struct scan_chan_list_params *param);
400
401
Govind Singhd7468a52016-03-09 14:32:57 +0530402QDF_STATUS wmi_crash_inject(void *wmi_hdl,
Govind Singh3ddda1f2016-03-09 11:34:12 +0530403 struct crash_inject *param);
404
Govind Singhd7468a52016-03-09 14:32:57 +0530405QDF_STATUS wmi_unified_pdev_utf_cmd_send(void *wmi_hdl,
Govind Singh3ddda1f2016-03-09 11:34:12 +0530406 struct pdev_utf_params *param,
407 uint8_t mac_id);
408
Govind Singhd7468a52016-03-09 14:32:57 +0530409QDF_STATUS wmi_unified_dbglog_cmd_send(void *wmi_hdl,
Govind Singh3ddda1f2016-03-09 11:34:12 +0530410 struct dbglog_params *param);
411
Govind Singhd7468a52016-03-09 14:32:57 +0530412QDF_STATUS wmi_mgmt_unified_cmd_send(void *wmi_hdl,
Govind Singh50988cc2016-02-26 18:09:36 +0530413 struct wmi_mgmt_params *param);
414
Govind Singhd7468a52016-03-09 14:32:57 +0530415QDF_STATUS wmi_unified_modem_power_state(void *wmi_hdl,
Govind Singh50988cc2016-02-26 18:09:36 +0530416 uint32_t param_value);
417
Govind Singhd7468a52016-03-09 14:32:57 +0530418QDF_STATUS wmi_unified_set_sta_ps_mode(void *wmi_hdl,
Govind Singh50988cc2016-02-26 18:09:36 +0530419 uint32_t vdev_id, uint8_t val);
Govind Singhd7468a52016-03-09 14:32:57 +0530420QDF_STATUS
Govind Singh50988cc2016-02-26 18:09:36 +0530421wmi_unified_set_sta_uapsd_auto_trig_cmd(void *wmi_hdl,
422 struct sta_uapsd_trig_params *param);
423
Govind Singhd7468a52016-03-09 14:32:57 +0530424QDF_STATUS wmi_unified_get_temperature(void *wmi_hdl);
Govind Singh50988cc2016-02-26 18:09:36 +0530425
Govind Singhd7468a52016-03-09 14:32:57 +0530426QDF_STATUS wmi_unified_set_p2pgo_oppps_req(void *wmi_hdl,
Govind Singh50988cc2016-02-26 18:09:36 +0530427 struct p2p_ps_params *oppps);
428
Govind Singhd7468a52016-03-09 14:32:57 +0530429QDF_STATUS wmi_unified_set_p2pgo_noa_req_cmd(void *wmi_hdl,
Govind Singh50988cc2016-02-26 18:09:36 +0530430 struct p2p_ps_params *noa);
431
Govind Singhd7468a52016-03-09 14:32:57 +0530432QDF_STATUS wmi_unified_set_smps_params(void *wmi_hdl, uint8_t vdev_id,
Govind Singh50988cc2016-02-26 18:09:36 +0530433 int value);
434
Govind Singhd7468a52016-03-09 14:32:57 +0530435QDF_STATUS wmi_unified_set_mimops(void *wmi_hdl, uint8_t vdev_id, int value);
Govind Singhe7b800c2016-03-01 15:30:53 +0530436
Govind Singhd7468a52016-03-09 14:32:57 +0530437QDF_STATUS wmi_unified_ocb_set_utc_time(void *wmi_hdl,
Govind Singhe7b800c2016-03-01 15:30:53 +0530438 struct ocb_utc_param *utc);
439
Govind Singhd7468a52016-03-09 14:32:57 +0530440QDF_STATUS wmi_unified_ocb_start_timing_advert(void *wmi_hdl,
Govind Singhe7b800c2016-03-01 15:30:53 +0530441 struct ocb_timing_advert_param *timing_advert);
442
Govind Singhd7468a52016-03-09 14:32:57 +0530443QDF_STATUS wmi_unified_ocb_stop_timing_advert(void *wmi_hdl,
Govind Singhe7b800c2016-03-01 15:30:53 +0530444 struct ocb_timing_advert_param *timing_advert);
445
Govind Singhd7468a52016-03-09 14:32:57 +0530446QDF_STATUS wmi_unified_ocb_set_config(void *wmi_hdl,
Govind Singhe7b800c2016-03-01 15:30:53 +0530447 struct ocb_config_param *config, uint32_t *ch_mhz);
448
Govind Singhd7468a52016-03-09 14:32:57 +0530449QDF_STATUS wmi_unified_ocb_get_tsf_timer(void *wmi_hdl,
Govind Singhe7b800c2016-03-01 15:30:53 +0530450 uint8_t vdev_id);
451
Govind Singhd7468a52016-03-09 14:32:57 +0530452QDF_STATUS wmi_unified_lro_config_cmd(void *wmi_hdl,
Govind Singh9bad0002016-03-01 15:54:59 +0530453 struct wmi_lro_config_cmd_t *wmi_lro_cmd);
454
Govind Singhd7468a52016-03-09 14:32:57 +0530455QDF_STATUS wmi_unified_set_thermal_mgmt_cmd(void *wmi_hdl,
Govind Singh9bad0002016-03-01 15:54:59 +0530456 struct thermal_cmd_params *thermal_info);
457
Poddar, Siddarth794b9962016-04-28 15:49:11 +0530458QDF_STATUS wmi_unified_peer_rate_report_cmd(void *wmi_hdl,
459 struct wmi_peer_rate_report_params *rate_report_params);
460
Govind Singhd7468a52016-03-09 14:32:57 +0530461QDF_STATUS wmi_unified_set_mcc_channel_time_quota_cmd
Govind Singh9bad0002016-03-01 15:54:59 +0530462 (void *wmi_hdl,
463 uint32_t adapter_1_chan_freq,
464 uint32_t adapter_1_quota, uint32_t adapter_2_chan_freq);
465
Govind Singhd7468a52016-03-09 14:32:57 +0530466QDF_STATUS wmi_unified_set_mcc_channel_time_latency_cmd
Govind Singh9bad0002016-03-01 15:54:59 +0530467 (void *wmi_hdl,
468 uint32_t mcc_channel_freq, uint32_t mcc_channel_time_latency);
469
Govind Singhd7468a52016-03-09 14:32:57 +0530470QDF_STATUS wmi_unified_set_enable_disable_mcc_adaptive_scheduler_cmd(
Govind Singh608e8892016-04-16 19:24:23 -0700471 void *wmi_hdl, uint32_t mcc_adaptive_scheduler,
472 uint32_t pdev_id);
Govind Singhae855362016-03-07 14:24:22 +0530473
Govind Singh89727882016-04-15 13:58:27 +0530474#ifndef WMI_NON_TLV_SUPPORT
Govind Singhd7468a52016-03-09 14:32:57 +0530475QDF_STATUS wmi_unified_bcn_buf_ll_cmd(void *wmi_hdl,
Govind Singhae855362016-03-07 14:24:22 +0530476 wmi_bcn_send_from_host_cmd_fixed_param *param);
Govind Singh89727882016-04-15 13:58:27 +0530477#endif
Govind Singhae855362016-03-07 14:24:22 +0530478
Govind Singhd7468a52016-03-09 14:32:57 +0530479QDF_STATUS wmi_unified_set_sta_sa_query_param_cmd(void *wmi_hdl,
Govind Singhae855362016-03-07 14:24:22 +0530480 uint8_t vdev_id, uint32_t max_retries,
481 uint32_t retry_interval);
482
483
Govind Singhd7468a52016-03-09 14:32:57 +0530484QDF_STATUS wmi_unified_set_sta_keep_alive_cmd(void *wmi_hdl,
Govind Singhae855362016-03-07 14:24:22 +0530485 struct sta_params *params);
486
Govind Singhd7468a52016-03-09 14:32:57 +0530487QDF_STATUS wmi_unified_vdev_set_gtx_cfg_cmd(void *wmi_hdl, uint32_t if_id,
Govind Singhae855362016-03-07 14:24:22 +0530488 struct wmi_gtx_config *gtx_info);
489
Govind Singh89727882016-04-15 13:58:27 +0530490#ifndef WMI_NON_TLV_SUPPORT
Govind Singhd7468a52016-03-09 14:32:57 +0530491QDF_STATUS wmi_unified_process_update_edca_param(void *wmi_hdl,
Govind Singhae855362016-03-07 14:24:22 +0530492 uint8_t vdev_id,
493 wmi_wmm_vparams gwmm_param[WMI_MAX_NUM_AC]);
Govind Singh89727882016-04-15 13:58:27 +0530494#endif
Govind Singhae855362016-03-07 14:24:22 +0530495
496
Govind Singhd7468a52016-03-09 14:32:57 +0530497QDF_STATUS wmi_unified_probe_rsp_tmpl_send_cmd(void *wmi_hdl,
Govind Singhae855362016-03-07 14:24:22 +0530498 uint8_t vdev_id,
499 struct wmi_probe_resp_params *probe_rsp_info,
500 uint8_t *frm);
501
Himanshu Agarwal9efd9bf2016-03-09 18:49:18 +0530502QDF_STATUS wmi_unified_setup_install_key_cmd(void *wmi_hdl,
503 struct set_key_params *key_params);
504
Govind Singhd7468a52016-03-09 14:32:57 +0530505QDF_STATUS wmi_unified_p2p_go_set_beacon_ie_cmd(void *wmi_hdl,
Govind Singhae855362016-03-07 14:24:22 +0530506 A_UINT32 vdev_id, uint8_t *p2p_ie);
507
508
Govind Singhd7468a52016-03-09 14:32:57 +0530509QDF_STATUS wmi_unified_set_gateway_params_cmd(void *wmi_hdl,
Govind Singhae855362016-03-07 14:24:22 +0530510 struct gateway_update_req_param *req);
511
Govind Singhd7468a52016-03-09 14:32:57 +0530512QDF_STATUS wmi_unified_set_rssi_monitoring_cmd(void *wmi_hdl,
Govind Singhae855362016-03-07 14:24:22 +0530513 struct rssi_monitor_param *req);
514
Govind Singhd7468a52016-03-09 14:32:57 +0530515QDF_STATUS wmi_unified_scan_probe_setoui_cmd(void *wmi_hdl,
Govind Singhae855362016-03-07 14:24:22 +0530516 struct scan_mac_oui *psetoui);
517
Govind Singhd7468a52016-03-09 14:32:57 +0530518QDF_STATUS wmi_unified_reset_passpoint_network_list_cmd(void *wmi_hdl,
Govind Singhae855362016-03-07 14:24:22 +0530519 struct wifi_passpoint_req_param *req);
520
Govind Singhd7468a52016-03-09 14:32:57 +0530521QDF_STATUS wmi_unified_set_passpoint_network_list_cmd(void *wmi_hdl,
Govind Singhae855362016-03-07 14:24:22 +0530522 struct wifi_passpoint_req_param *req);
523
Govind Singh89727882016-04-15 13:58:27 +0530524#ifndef WMI_NON_TLV_SUPPORT
Himanshu Agarwal5f2d0482016-03-09 15:25:44 +0530525QDF_STATUS wmi_unified_roam_scan_offload_mode_cmd(void *wmi_hdl,
526 wmi_start_scan_cmd_fixed_param *scan_cmd_fp,
527 struct roam_offload_scan_params *roam_req);
Govind Singh89727882016-04-15 13:58:27 +0530528#endif
Himanshu Agarwal5f2d0482016-03-09 15:25:44 +0530529
530QDF_STATUS wmi_unified_roam_scan_offload_rssi_thresh_cmd(void *wmi_hdl,
531 struct roam_offload_scan_rssi_params *roam_req);
532
533QDF_STATUS wmi_unified_roam_scan_filter_cmd(void *wmi_hdl,
534 struct roam_scan_filter_params *roam_req);
535
Govind Singhd7468a52016-03-09 14:32:57 +0530536QDF_STATUS wmi_unified_set_epno_network_list_cmd(void *wmi_hdl,
Govind Singhae855362016-03-07 14:24:22 +0530537 struct wifi_enhanched_pno_params *req);
538
Govind Singhd7468a52016-03-09 14:32:57 +0530539QDF_STATUS wmi_unified_ipa_offload_control_cmd(void *wmi_hdl,
Govind Singhae855362016-03-07 14:24:22 +0530540 struct ipa_offload_control_params *ipa_offload);
541
Govind Singhd7468a52016-03-09 14:32:57 +0530542QDF_STATUS wmi_unified_extscan_get_capabilities_cmd(void *wmi_hdl,
Govind Singhae855362016-03-07 14:24:22 +0530543 struct extscan_capabilities_params *pgetcapab);
544
Govind Singhd7468a52016-03-09 14:32:57 +0530545QDF_STATUS wmi_unified_extscan_get_cached_results_cmd(void *wmi_hdl,
Govind Singhae855362016-03-07 14:24:22 +0530546 struct extscan_cached_result_params *pcached_results);
547
548
Govind Singhd7468a52016-03-09 14:32:57 +0530549QDF_STATUS wmi_unified_extscan_stop_change_monitor_cmd(void *wmi_hdl,
Govind Singhae855362016-03-07 14:24:22 +0530550 struct extscan_capabilities_reset_params *reset_req);
551
552
Govind Singhd7468a52016-03-09 14:32:57 +0530553QDF_STATUS wmi_unified_extscan_start_change_monitor_cmd(void *wmi_hdl,
Govind Singhae855362016-03-07 14:24:22 +0530554 struct extscan_set_sig_changereq_params *
555 psigchange);
556
Govind Singhd7468a52016-03-09 14:32:57 +0530557QDF_STATUS wmi_unified_extscan_stop_hotlist_monitor_cmd(void *wmi_hdl,
Govind Singhae855362016-03-07 14:24:22 +0530558 struct extscan_bssid_hotlist_reset_params *photlist_reset);
559
Govind Singhd7468a52016-03-09 14:32:57 +0530560QDF_STATUS wmi_unified_stop_extscan_cmd(void *wmi_hdl,
Govind Singhae855362016-03-07 14:24:22 +0530561 struct extscan_stop_req_params *pstopcmd);
562
Govind Singhd7468a52016-03-09 14:32:57 +0530563QDF_STATUS wmi_unified_start_extscan_cmd(void *wmi_hdl,
Govind Singhae855362016-03-07 14:24:22 +0530564 struct wifi_scan_cmd_req_params *pstart);
565
Govind Singhd7468a52016-03-09 14:32:57 +0530566QDF_STATUS wmi_unified_plm_stop_cmd(void *wmi_hdl,
Govind Singhae855362016-03-07 14:24:22 +0530567 const struct plm_req_params *plm);
568
Govind Singhd7468a52016-03-09 14:32:57 +0530569QDF_STATUS wmi_unified_plm_start_cmd(void *wmi_hdl,
Govind Singhae855362016-03-07 14:24:22 +0530570 const struct plm_req_params *plm,
571 uint32_t *gchannel_list);
572
Govind Singhd7468a52016-03-09 14:32:57 +0530573QDF_STATUS wmi_unified_pno_stop_cmd(void *wmi_hdl, uint8_t vdev_id);
Govind Singhae855362016-03-07 14:24:22 +0530574
Govind Singh89727882016-04-15 13:58:27 +0530575#ifdef FEATURE_WLAN_SCAN_PNO
Govind Singhd7468a52016-03-09 14:32:57 +0530576QDF_STATUS wmi_unified_pno_start_cmd(void *wmi_hdl,
Govind Singhae855362016-03-07 14:24:22 +0530577 struct pno_scan_req_params *pno,
578 uint32_t *gchannel_freq_list);
Govind Singh89727882016-04-15 13:58:27 +0530579#endif
Govind Singhae855362016-03-07 14:24:22 +0530580
Govind Singhd7468a52016-03-09 14:32:57 +0530581QDF_STATUS wmi_unified_set_ric_req_cmd(void *wmi_hdl, void *msg,
Govind Singhae855362016-03-07 14:24:22 +0530582 uint8_t is_add_ts);
583
Govind Singhd7468a52016-03-09 14:32:57 +0530584QDF_STATUS wmi_unified_process_ll_stats_clear_cmd
Govind Singhae855362016-03-07 14:24:22 +0530585 (void *wmi_hdl, const struct ll_stats_clear_params *clear_req,
586 uint8_t addr[IEEE80211_ADDR_LEN]);
587
Govind Singhd7468a52016-03-09 14:32:57 +0530588QDF_STATUS wmi_unified_process_ll_stats_set_cmd
Govind Singhae855362016-03-07 14:24:22 +0530589 (void *wmi_hdl, const struct ll_stats_set_params *set_req);
590
Govind Singhd7468a52016-03-09 14:32:57 +0530591QDF_STATUS wmi_unified_process_ll_stats_get_cmd
Govind Singhae855362016-03-07 14:24:22 +0530592 (void *wmi_hdl, const struct ll_stats_get_params *get_req,
593 uint8_t addr[IEEE80211_ADDR_LEN]);
594
Govind Singhd7468a52016-03-09 14:32:57 +0530595QDF_STATUS wmi_unified_get_stats_cmd(void *wmi_hdl,
Govind Singhae855362016-03-07 14:24:22 +0530596 struct pe_stats_req *get_stats_param,
597 uint8_t addr[IEEE80211_ADDR_LEN]);
598
Govind Singhd7468a52016-03-09 14:32:57 +0530599QDF_STATUS wmi_unified_snr_request_cmd(void *wmi_hdl);
Govind Singh229bc0d2016-03-07 15:33:31 +0530600
Govind Singhd7468a52016-03-09 14:32:57 +0530601QDF_STATUS wmi_unified_snr_cmd(void *wmi_hdl, uint8_t vdev_id);
Govind Singh229bc0d2016-03-07 15:33:31 +0530602
Govind Singhd7468a52016-03-09 14:32:57 +0530603QDF_STATUS wmi_unified_link_status_req_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530604 struct link_status_params *link_status);
605
Govind Singh89727882016-04-15 13:58:27 +0530606#ifndef WMI_NON_TLV_SUPPORT
Govind Singhd7468a52016-03-09 14:32:57 +0530607QDF_STATUS wmi_unified_lphb_config_hbenable_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530608 wmi_hb_set_enable_cmd_fixed_param *params);
609
Govind Singhd7468a52016-03-09 14:32:57 +0530610QDF_STATUS wmi_unified_lphb_config_tcp_params_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530611 wmi_hb_set_tcp_params_cmd_fixed_param *lphb_conf_req);
612
Govind Singhd7468a52016-03-09 14:32:57 +0530613QDF_STATUS wmi_unified_lphb_config_tcp_pkt_filter_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530614 wmi_hb_set_tcp_pkt_filter_cmd_fixed_param *g_hb_tcp_filter_fp);
615
Govind Singhd7468a52016-03-09 14:32:57 +0530616QDF_STATUS wmi_unified_lphb_config_udp_params_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530617 wmi_hb_set_udp_params_cmd_fixed_param *lphb_conf_req);
618
Govind Singhd7468a52016-03-09 14:32:57 +0530619QDF_STATUS wmi_unified_lphb_config_udp_pkt_filter_cmd(void *wmi_hdl,
Govind Singh89727882016-04-15 13:58:27 +0530620 wmi_hb_set_udp_pkt_filter_cmd_fixed_param *lphb_conf_req);
Govind Singh229bc0d2016-03-07 15:33:31 +0530621
Govind Singhd7468a52016-03-09 14:32:57 +0530622QDF_STATUS wmi_unified_process_dhcp_ind(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530623 wmi_peer_set_param_cmd_fixed_param *ta_dhcp_ind);
624
Govind Singhd7468a52016-03-09 14:32:57 +0530625QDF_STATUS wmi_unified_get_link_speed_cmd(void *wmi_hdl,
Govind Singh89727882016-04-15 13:58:27 +0530626 wmi_mac_addr peer_macaddr);
Govind Singh229bc0d2016-03-07 15:33:31 +0530627
Govind Singhd7468a52016-03-09 14:32:57 +0530628QDF_STATUS wmi_unified_egap_conf_params_cmd(void *wmi_hdl,
Govind Singh89727882016-04-15 13:58:27 +0530629 wmi_ap_ps_egap_param_cmd_fixed_param *egap_params);
630#endif
Govind Singh229bc0d2016-03-07 15:33:31 +0530631
Govind Singhd7468a52016-03-09 14:32:57 +0530632QDF_STATUS wmi_unified_fw_profiling_data_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530633 uint32_t cmd, uint32_t value1, uint32_t value2);
634
Govind Singhd7468a52016-03-09 14:32:57 +0530635QDF_STATUS wmi_unified_wow_sta_ra_filter_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530636 uint8_t vdev_id, uint8_t default_pattern,
637 uint16_t rate_limit_interval);
638
Govind Singhd7468a52016-03-09 14:32:57 +0530639QDF_STATUS wmi_unified_nat_keepalive_en_cmd(void *wmi_hdl, uint8_t vdev_id);
Govind Singh229bc0d2016-03-07 15:33:31 +0530640
Govind Singhd7468a52016-03-09 14:32:57 +0530641QDF_STATUS wmi_unified_csa_offload_enable(void *wmi_hdl, uint8_t vdev_id);
Govind Singh229bc0d2016-03-07 15:33:31 +0530642
Govind Singhd7468a52016-03-09 14:32:57 +0530643QDF_STATUS wmi_unified_start_oem_data_cmd(void *wmi_hdl,
Krishna Kumaar Natarajan7a59ca02016-07-21 15:02:44 -0700644 uint32_t data_len,
Govind Singh229bc0d2016-03-07 15:33:31 +0530645 uint8_t *data);
646
Govind Singhd7468a52016-03-09 14:32:57 +0530647QDF_STATUS wmi_unified_dfs_phyerr_filter_offload_en_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530648 bool dfs_phyerr_filter_offload);
649
Govind Singh89727882016-04-15 13:58:27 +0530650#ifndef WMI_NON_TLV_SUPPORT
Govind Singhd7468a52016-03-09 14:32:57 +0530651QDF_STATUS wmi_unified_pktlog_wmi_send_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530652 WMI_PKTLOG_EVENT pktlog_event,
Nirav Shah9d1f1ac2016-07-27 19:06:13 +0530653 uint32_t cmd_id,
654 uint8_t user_triggered);
Govind Singh89727882016-04-15 13:58:27 +0530655#endif
Govind Singh229bc0d2016-03-07 15:33:31 +0530656
Govind Singhd7468a52016-03-09 14:32:57 +0530657QDF_STATUS wmi_unified_add_wow_wakeup_event_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530658 uint32_t vdev_id,
659 uint32_t bitmap,
660 bool enable);
661
Govind Singhd7468a52016-03-09 14:32:57 +0530662QDF_STATUS wmi_unified_wow_patterns_to_fw_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530663 uint8_t vdev_id, uint8_t ptrn_id,
664 const uint8_t *ptrn, uint8_t ptrn_len,
665 uint8_t ptrn_offset, const uint8_t *mask,
666 uint8_t mask_len, bool user,
667 uint8_t default_patterns);
668
Govind Singhd7468a52016-03-09 14:32:57 +0530669QDF_STATUS wmi_unified_wow_delete_pattern_cmd(void *wmi_hdl, uint8_t ptrn_id,
Govind Singh229bc0d2016-03-07 15:33:31 +0530670 uint8_t vdev_id);
671
Govind Singhd7468a52016-03-09 14:32:57 +0530672QDF_STATUS wmi_unified_host_wakeup_ind_to_fw_cmd(void *wmi_hdl);
673QDF_STATUS wmi_unified_del_ts_cmd(void *wmi_hdl, uint8_t vdev_id,
Govind Singh229bc0d2016-03-07 15:33:31 +0530674 uint8_t ac);
675
Govind Singhd7468a52016-03-09 14:32:57 +0530676QDF_STATUS wmi_unified_aggr_qos_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530677 struct aggr_add_ts_param *aggr_qos_rsp_msg);
678
Govind Singhd7468a52016-03-09 14:32:57 +0530679QDF_STATUS wmi_unified_add_ts_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530680 struct add_ts_param *msg);
681
Govind Singhd7468a52016-03-09 14:32:57 +0530682QDF_STATUS wmi_unified_enable_disable_packet_filter_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530683 uint8_t vdev_id, bool enable);
684
Govind Singhd7468a52016-03-09 14:32:57 +0530685QDF_STATUS wmi_unified_config_packet_filter_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530686 uint8_t vdev_id, struct rcv_pkt_filter_config *rcv_filter_param,
687 uint8_t filter_id, bool enable);
688
Govind Singhd7468a52016-03-09 14:32:57 +0530689QDF_STATUS wmi_unified_add_clear_mcbc_filter_cmd(void *wmi_hdl,
Govind Singh89727882016-04-15 13:58:27 +0530690 uint8_t vdev_id,
691 struct qdf_mac_addr multicast_addr,
692 bool clearList);
Govind Singh229bc0d2016-03-07 15:33:31 +0530693
Govind Singhd7468a52016-03-09 14:32:57 +0530694QDF_STATUS wmi_unified_send_gtk_offload_cmd(void *wmi_hdl, uint8_t vdev_id,
Govind Singh229bc0d2016-03-07 15:33:31 +0530695 struct gtk_offload_params *params,
696 bool enable_offload,
697 uint32_t gtk_offload_opcode);
698
Govind Singhd7468a52016-03-09 14:32:57 +0530699QDF_STATUS wmi_unified_process_gtk_offload_getinfo_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530700 uint8_t vdev_id,
701 uint64_t offload_req_opcode);
702
Govind Singhd7468a52016-03-09 14:32:57 +0530703QDF_STATUS wmi_unified_process_add_periodic_tx_ptrn_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530704 struct periodic_tx_pattern *
705 pAddPeriodicTxPtrnParams,
706 uint8_t vdev_id);
707
Govind Singhd7468a52016-03-09 14:32:57 +0530708QDF_STATUS wmi_unified_process_del_periodic_tx_ptrn_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530709 uint8_t vdev_id,
710 uint8_t pattern_id);
711
Govind Singhd7468a52016-03-09 14:32:57 +0530712QDF_STATUS wmi_unified_stats_ext_req_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530713 struct stats_ext_params *preq);
714
Govind Singhd7468a52016-03-09 14:32:57 +0530715QDF_STATUS wmi_unified_enable_ext_wow_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530716 struct ext_wow_params *params);
717
Govind Singhd7468a52016-03-09 14:32:57 +0530718QDF_STATUS wmi_unified_set_app_type2_params_in_fw_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530719 struct app_type2_params *appType2Params);
720
Govind Singhd7468a52016-03-09 14:32:57 +0530721QDF_STATUS wmi_unified_set_auto_shutdown_timer_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530722 uint32_t timer_val);
723
Govind Singhd7468a52016-03-09 14:32:57 +0530724QDF_STATUS wmi_unified_nan_req_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530725 struct nan_req_params *nan_req);
726
Govind Singhd7468a52016-03-09 14:32:57 +0530727QDF_STATUS wmi_unified_process_dhcpserver_offload_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530728 struct dhcp_offload_info_params *pDhcpSrvOffloadInfo);
729
Govind Singhd7468a52016-03-09 14:32:57 +0530730QDF_STATUS wmi_unified_process_ch_avoid_update_cmd(void *wmi_hdl);
Govind Singh229bc0d2016-03-07 15:33:31 +0530731
Govind Singhd7468a52016-03-09 14:32:57 +0530732QDF_STATUS wmi_unified_send_regdomain_info_to_fw_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530733 uint32_t reg_dmn, uint16_t regdmn2G,
734 uint16_t regdmn5G, int8_t ctl2G,
735 int8_t ctl5G);
736
Govind Singhd7468a52016-03-09 14:32:57 +0530737QDF_STATUS wmi_unified_set_tdls_offchan_mode_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530738 struct tdls_channel_switch_params *chan_switch_params);
739
Govind Singhd7468a52016-03-09 14:32:57 +0530740QDF_STATUS wmi_unified_update_fw_tdls_state_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530741 void *tdls_param, uint8_t tdls_state);
742
Govind Singhd7468a52016-03-09 14:32:57 +0530743QDF_STATUS wmi_unified_update_tdls_peer_state_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530744 struct tdls_peer_state_params *peerStateParams,
745 uint32_t *ch_mhz);
746
Govind Singhd7468a52016-03-09 14:32:57 +0530747QDF_STATUS wmi_unified_process_fw_mem_dump_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530748 struct fw_dump_req_param *mem_dump_req);
749
Govind Singhd7468a52016-03-09 14:32:57 +0530750QDF_STATUS wmi_unified_process_set_ie_info_cmd(void *wmi_hdl,
Govind Singh229bc0d2016-03-07 15:33:31 +0530751 struct vdev_ie_info_param *ie_info);
752
Govind Singhd7468a52016-03-09 14:32:57 +0530753QDF_STATUS wmi_unified_ocb_set_utc_time_cmd(void *wmi_hdl,
Govind Singhe7b800c2016-03-01 15:30:53 +0530754 struct ocb_utc_param *utc);
Govind Singhae855362016-03-07 14:24:22 +0530755
Govind Singhd7468a52016-03-09 14:32:57 +0530756QDF_STATUS wmi_unified_dcc_get_stats_cmd(void *wmi_hdl,
Govind Singhe7b800c2016-03-01 15:30:53 +0530757 struct dcc_get_stats_param *get_stats_param);
Govind Singhae855362016-03-07 14:24:22 +0530758
Govind Singhd7468a52016-03-09 14:32:57 +0530759QDF_STATUS wmi_unified_dcc_clear_stats(void *wmi_hdl,
Govind Singhe7b800c2016-03-01 15:30:53 +0530760 uint32_t vdev_id, uint32_t dcc_stats_bitmap);
Govind Singh229bc0d2016-03-07 15:33:31 +0530761
Govind Singhd7468a52016-03-09 14:32:57 +0530762QDF_STATUS wmi_unified_dcc_update_ndl(void *wmi_hdl,
Govind Singhe7b800c2016-03-01 15:30:53 +0530763 struct dcc_update_ndl_param *update_ndl_param);
Govind Singh71ee2d72016-03-07 16:30:32 +0530764
Govind Singhd7468a52016-03-09 14:32:57 +0530765QDF_STATUS wmi_unified_save_fw_version_cmd(void *wmi_hdl,
Govind Singh71ee2d72016-03-07 16:30:32 +0530766 void *evt_buf);
767
Himanshu Agarwal56c292f2016-07-19 15:41:51 +0530768#ifdef CONFIG_MCL
Govind Singhd7468a52016-03-09 14:32:57 +0530769QDF_STATUS wmi_unified_send_init_cmd(void *wmi_hdl,
Govind Singh71ee2d72016-03-07 16:30:32 +0530770 wmi_resource_config *res_cfg,
771 uint8_t num_mem_chunks, struct wmi_host_mem_chunk *mem_chunk,
772 bool action);
Himanshu Agarwal56c292f2016-07-19 15:41:51 +0530773#endif
Govind Singh71ee2d72016-03-07 16:30:32 +0530774
Govind Singhd7468a52016-03-09 14:32:57 +0530775QDF_STATUS wmi_unified_send_saved_init_cmd(void *wmi_hdl);
Govind Singh2ae94372016-03-07 16:45:38 +0530776
Govind Singhd7468a52016-03-09 14:32:57 +0530777QDF_STATUS wmi_unified_set_base_macaddr_indicate_cmd(void *wmi_hdl,
Govind Singh2ae94372016-03-07 16:45:38 +0530778 uint8_t *custom_addr);
779
Govind Singhd7468a52016-03-09 14:32:57 +0530780QDF_STATUS wmi_unified_log_supported_evt_cmd(void *wmi_hdl,
Govind Singh2ae94372016-03-07 16:45:38 +0530781 uint8_t *event,
782 uint32_t len);
783
Govind Singhd7468a52016-03-09 14:32:57 +0530784QDF_STATUS wmi_unified_enable_specific_fw_logs_cmd(void *wmi_hdl,
Govind Singh2ae94372016-03-07 16:45:38 +0530785 struct wmi_wifi_start_log *start_log);
786
Govind Singhd7468a52016-03-09 14:32:57 +0530787QDF_STATUS wmi_unified_flush_logs_to_fw_cmd(void *wmi_hdl);
Govind Singh2ae94372016-03-07 16:45:38 +0530788
Manishekar Chandrasekaranb8c59382016-04-21 19:16:32 +0530789QDF_STATUS wmi_unified_pdev_set_pcl_cmd(void *wmi_hdl,
790 struct wmi_pcl_chan_weights *msg);
Govind Singh2ae94372016-03-07 16:45:38 +0530791
Govind Singhd7468a52016-03-09 14:32:57 +0530792QDF_STATUS wmi_unified_soc_set_hw_mode_cmd(void *wmi_hdl,
Govind Singh2ae94372016-03-07 16:45:38 +0530793 uint32_t hw_mode_index);
794
Manishekar Chandrasekaran81d7aaa2016-04-27 12:52:51 +0530795QDF_STATUS wmi_unified_pdev_set_dual_mac_config_cmd(void *wmi_hdl,
Govind Singh2ae94372016-03-07 16:45:38 +0530796 struct wmi_dual_mac_config *msg);
797
Govind Singhd7468a52016-03-09 14:32:57 +0530798QDF_STATUS wmi_unified_enable_arp_ns_offload_cmd(void *wmi_hdl,
Govind Singh2ae94372016-03-07 16:45:38 +0530799 struct host_offload_req_param *param, bool arp_only,
800 uint8_t vdev_id);
801
Govind Singhd7468a52016-03-09 14:32:57 +0530802QDF_STATUS wmi_unified_set_led_flashing_cmd(void *wmi_hdl,
Govind Singh2ae94372016-03-07 16:45:38 +0530803 struct flashing_req_params *flashing);
804
Govind Singhd7468a52016-03-09 14:32:57 +0530805QDF_STATUS wmi_unified_app_type1_params_in_fw_cmd(void *wmi_hdl,
Govind Singh2ae94372016-03-07 16:45:38 +0530806 struct app_type1_params *app_type1_params);
807
Govind Singhd7468a52016-03-09 14:32:57 +0530808QDF_STATUS wmi_unified_set_ssid_hotlist_cmd(void *wmi_hdl,
Govind Singh2ae94372016-03-07 16:45:38 +0530809 struct ssid_hotlist_request_params *request);
810
Govind Singhd7468a52016-03-09 14:32:57 +0530811QDF_STATUS wmi_unified_roam_synch_complete_cmd(void *wmi_hdl,
Govind Singh2ae94372016-03-07 16:45:38 +0530812 uint8_t vdev_id);
813
Govind Singhd7468a52016-03-09 14:32:57 +0530814QDF_STATUS wmi_unified_unit_test_cmd(void *wmi_hdl,
Govind Singh2ae94372016-03-07 16:45:38 +0530815 struct wmi_unit_test_cmd *wmi_utest);
816
Govind Singhd7468a52016-03-09 14:32:57 +0530817QDF_STATUS wmi_unified_roam_invoke_cmd(void *wmi_hdl,
Govind Singh2ae94372016-03-07 16:45:38 +0530818 struct wmi_roam_invoke_cmd *roaminvoke,
819 uint32_t ch_hz);
820
Govind Singhd7468a52016-03-09 14:32:57 +0530821QDF_STATUS wmi_unified_roam_scan_offload_cmd(void *wmi_hdl,
Govind Singh2ae94372016-03-07 16:45:38 +0530822 uint32_t command, uint32_t vdev_id);
823
Govind Singh89727882016-04-15 13:58:27 +0530824#ifndef WMI_NON_TLV_SUPPORT
Govind Singhd7468a52016-03-09 14:32:57 +0530825QDF_STATUS wmi_unified_send_roam_scan_offload_ap_cmd(void *wmi_hdl,
Govind Singh2ae94372016-03-07 16:45:38 +0530826 wmi_ap_profile *ap_profile_p,
827 uint32_t vdev_id);
Govind Singh89727882016-04-15 13:58:27 +0530828#endif
Govind Singh2ae94372016-03-07 16:45:38 +0530829
Govind Singhd7468a52016-03-09 14:32:57 +0530830QDF_STATUS wmi_unified_roam_scan_offload_scan_period(void *wmi_hdl,
Govind Singh2ae94372016-03-07 16:45:38 +0530831 uint32_t scan_period,
832 uint32_t scan_age,
833 uint32_t vdev_id);
834
Govind Singhd7468a52016-03-09 14:32:57 +0530835QDF_STATUS wmi_unified_roam_scan_offload_chan_list_cmd(void *wmi_hdl,
Govind Singh2ae94372016-03-07 16:45:38 +0530836 uint8_t chan_count,
Varun Reddy Yeturub47fa402016-07-07 17:42:49 -0700837 uint32_t *chan_list,
Govind Singh2ae94372016-03-07 16:45:38 +0530838 uint8_t list_type, uint32_t vdev_id);
839
Govind Singhd7468a52016-03-09 14:32:57 +0530840QDF_STATUS wmi_unified_roam_scan_offload_rssi_change_cmd(void *wmi_hdl,
Govind Singh2ae94372016-03-07 16:45:38 +0530841 uint32_t vdev_id,
842 int32_t rssi_change_thresh,
843 uint32_t bcn_rssi_weight,
844 uint32_t hirssi_delay_btw_scans);
845
Govind Singhd7468a52016-03-09 14:32:57 +0530846QDF_STATUS wmi_unified_get_buf_extscan_hotlist_cmd(void *wmi_hdl,
Govind Singh2ae94372016-03-07 16:45:38 +0530847 struct ext_scan_setbssi_hotlist_params *
848 photlist, int *buf_len);
Govind Singh89727882016-04-15 13:58:27 +0530849
850QDF_STATUS wmi_unified_stats_request_send(void *wmi_hdl,
851 uint8_t macaddr[IEEE80211_ADDR_LEN],
852 struct stats_request_params *param);
853
854QDF_STATUS wmi_unified_pdev_get_tpc_config_cmd_send(void *wmi_hdl,
855 uint32_t param);
856
857QDF_STATUS wmi_unified_set_atf_cmd_send(void *wmi_hdl,
858 struct set_atf_params *param);
859
860QDF_STATUS wmi_unified_pdev_fips_cmd_send(void *wmi_hdl,
861 struct fips_params *param);
862
863QDF_STATUS wmi_unified_wlan_profile_enable_cmd_send(void *wmi_hdl,
864 struct wlan_profile_params *param);
865
866QDF_STATUS wmi_unified_wlan_profile_trigger_cmd_send(void *wmi_hdl,
867 struct wlan_profile_params *param);
868
869QDF_STATUS wmi_unified_set_chan_cmd_send(void *wmi_hdl,
870 struct channel_param *param);
871
872QDF_STATUS wmi_unified_set_ht_ie_cmd_send(void *wmi_hdl,
873 struct ht_ie_params *param);
874
875QDF_STATUS wmi_unified_set_vht_ie_cmd_send(void *wmi_hdl,
876 struct vht_ie_params *param);
877
878QDF_STATUS wmi_unified_wmm_update_cmd_send(void *wmi_hdl,
879 struct wmm_update_params *param);
880
881QDF_STATUS wmi_unified_set_ant_switch_tbl_cmd_send(void *wmi_hdl,
882 struct ant_switch_tbl_params *param);
883
884QDF_STATUS wmi_unified_set_ratepwr_table_cmd_send(void *wmi_hdl,
885 struct ratepwr_table_params *param);
886
887QDF_STATUS wmi_unified_get_ratepwr_table_cmd_send(void *wmi_hdl);
888
889QDF_STATUS wmi_unified_set_ctl_table_cmd_send(void *wmi_hdl,
890 struct ctl_table_params *param);
891
892QDF_STATUS wmi_unified_set_mimogain_table_cmd_send(void *wmi_hdl,
893 struct mimogain_table_params *param);
894
895QDF_STATUS wmi_unified_set_ratepwr_chainmsk_cmd_send(void *wmi_hdl,
896 struct ratepwr_chainmsk_params *param);
897
898QDF_STATUS wmi_unified_set_macaddr_cmd_send(void *wmi_hdl,
899 struct macaddr_params *param);
900
901QDF_STATUS wmi_unified_pdev_scan_start_cmd_send(void *wmi_hdl);
902
903QDF_STATUS wmi_unified_pdev_scan_end_cmd_send(void *wmi_hdl);
904
905QDF_STATUS wmi_unified_set_acparams_cmd_send(void *wmi_hdl,
906 struct acparams_params *param);
907
908QDF_STATUS wmi_unified_set_vap_dscp_tid_map_cmd_send(void *wmi_hdl,
909 struct vap_dscp_tid_map_params *param);
910
911QDF_STATUS wmi_unified_proxy_ast_reserve_cmd_send(void *wmi_hdl,
912 struct proxy_ast_reserve_params *param);
913
914QDF_STATUS wmi_unified_pdev_qvit_cmd_send(void *wmi_hdl,
915 struct pdev_qvit_params *param);
916
917QDF_STATUS wmi_unified_mcast_group_update_cmd_send(void *wmi_hdl,
918 struct mcast_group_update_params *param);
919
920QDF_STATUS wmi_unified_peer_add_wds_entry_cmd_send(void *wmi_hdl,
921 struct peer_add_wds_entry_params *param);
922
923QDF_STATUS wmi_unified_peer_del_wds_entry_cmd_send(void *wmi_hdl,
924 struct peer_del_wds_entry_params *param);
925
926QDF_STATUS wmi_unified_peer_update_wds_entry_cmd_send(void *wmi_hdl,
927 struct peer_update_wds_entry_params *param);
928
929QDF_STATUS wmi_unified_phyerr_enable_cmd_send(void *wmi_hdl);
930
931QDF_STATUS wmi_unified_phyerr_enable_cmd_send(void *wmi_hdl);
932
933QDF_STATUS wmi_unified_phyerr_disable_cmd_send(void *wmi_hdl);
934
935QDF_STATUS wmi_unified_smart_ant_enable_cmd_send(void *wmi_hdl,
936 struct smart_ant_enable_params *param);
937
938QDF_STATUS wmi_unified_smart_ant_set_rx_ant_cmd_send(void *wmi_hdl,
939 struct smart_ant_rx_ant_params *param);
940
941QDF_STATUS wmi_unified_smart_ant_set_tx_ant_cmd_send(void *wmi_hdl,
942 uint8_t macaddr[IEEE80211_ADDR_LEN],
943 struct smart_ant_tx_ant_params *param);
944
945QDF_STATUS wmi_unified_smart_ant_set_training_info_cmd_send(void *wmi_hdl,
946 uint8_t macaddr[IEEE80211_ADDR_LEN],
947 struct smart_ant_training_info_params *param);
948
949QDF_STATUS wmi_unified_smart_ant_node_config_cmd_send(void *wmi_hdl,
950 uint8_t macaddr[IEEE80211_ADDR_LEN],
951 struct smart_ant_node_config_params *param);
952
953QDF_STATUS wmi_unified_smart_ant_enable_tx_feedback_cmd_send(void *wmi_hdl,
954 struct smart_ant_enable_tx_feedback_params *param);
955
956QDF_STATUS wmi_unified_vdev_spectral_configure_cmd_send(void *wmi_hdl,
957 struct vdev_spectral_configure_params *param);
958
959QDF_STATUS wmi_unified_vdev_spectral_enable_cmd_send(void *wmi_hdl,
960 struct vdev_spectral_enable_params *param);
961
962QDF_STATUS wmi_unified_bss_chan_info_request_cmd_send(void *wmi_hdl,
963 struct bss_chan_info_request_params *param);
964
965QDF_STATUS wmi_unified_thermal_mitigation_param_cmd_send(void *wmi_hdl,
966 struct thermal_mitigation_params *param);
967
968QDF_STATUS wmi_unified_vdev_set_neighbour_rx_cmd_send(void *wmi_hdl,
969 uint8_t macaddr[IEEE80211_ADDR_LEN],
970 struct set_neighbour_rx_params *param);
971
972QDF_STATUS wmi_unified_vdev_set_fwtest_param_cmd_send(void *wmi_hdl,
973 struct set_fwtest_params *param);
974
975QDF_STATUS wmi_unified_vdev_config_ratemask_cmd_send(void *wmi_hdl,
976 struct config_ratemask_params *param);
977
978QDF_STATUS wmi_unified_vdev_install_key_cmd_send(void *wmi_hdl,
979 uint8_t macaddr[IEEE80211_ADDR_LEN],
980 struct vdev_install_key_params *param);
981
982QDF_STATUS wmi_unified_pdev_set_regdomain_cmd_send(void *wmi_hdl,
983 struct pdev_set_regdomain_params *param);
984
985QDF_STATUS wmi_unified_set_quiet_mode_cmd_send(void *wmi_hdl,
986 struct set_quiet_mode_params *param);
987
988QDF_STATUS wmi_unified_set_beacon_filter_cmd_send(void *wmi_hdl,
989 struct set_beacon_filter_params *param);
990
991QDF_STATUS wmi_unified_remove_beacon_filter_cmd_send(void *wmi_hdl,
992 struct remove_beacon_filter_params *param);
993
994QDF_STATUS wmi_unified_addba_clearresponse_cmd_send(void *wmi_hdl,
995 uint8_t macaddr[IEEE80211_ADDR_LEN],
996 struct addba_clearresponse_params *param);
997
998QDF_STATUS wmi_unified_addba_send_cmd_send(void *wmi_hdl,
999 uint8_t macaddr[IEEE80211_ADDR_LEN],
1000 struct addba_send_params *param);
1001
1002QDF_STATUS wmi_unified_delba_send_cmd_send(void *wmi_hdl,
1003 uint8_t macaddr[IEEE80211_ADDR_LEN],
1004 struct delba_send_params *param);
1005
1006QDF_STATUS wmi_unified_addba_setresponse_cmd_send(void *wmi_hdl,
1007 uint8_t macaddr[IEEE80211_ADDR_LEN],
1008 struct addba_setresponse_params *param);
1009
1010QDF_STATUS wmi_unified_singleamsdu_cmd_send(void *wmi_hdl,
1011 uint8_t macaddr[IEEE80211_ADDR_LEN],
1012 struct singleamsdu_params *param);
1013
1014QDF_STATUS wmi_unified_set_qboost_param_cmd_send(void *wmi_hdl,
1015 uint8_t macaddr[IEEE80211_ADDR_LEN],
1016 struct set_qboost_params *param);
1017
1018QDF_STATUS wmi_unified_mu_scan_cmd_send(void *wmi_hdl,
1019 struct mu_scan_params *param);
1020
1021QDF_STATUS wmi_unified_lteu_config_cmd_send(void *wmi_hdl,
1022 struct lteu_config_params *param);
1023
1024QDF_STATUS wmi_unified_set_psmode_cmd_send(void *wmi_hdl,
1025 struct set_ps_mode_params *param);
1026
1027QDF_STATUS wmi_unified_init_cmd_send(void *wmi_hdl,
1028 target_resource_config *res_cfg,
1029 uint8_t num_mem_chunks,
1030 struct wmi_host_mem_chunk *mem_chunk);
1031
1032bool wmi_service_enabled(void *wmi_hdl, uint32_t service_id);
1033
1034QDF_STATUS wmi_save_service_bitmap(void *wmi_hdl, void *evt_buf);
1035
1036QDF_STATUS wmi_save_fw_version(void *wmi_hdl, void *evt_buf);
1037
1038QDF_STATUS wmi_get_target_cap_from_service_ready(void *wmi_hdl,
1039 void *evt_buf, target_capability_info *ev);
1040
1041QDF_STATUS wmi_extract_hal_reg_cap(void *wmi_hdl, void *evt_buf,
1042 TARGET_HAL_REG_CAPABILITIES *hal_reg_cap);
1043
1044host_mem_req *wmi_extract_host_mem_req_from_service_ready(void *wmi_hdl,
1045 void *evt_buf, uint8_t *num_entries);
1046
1047uint32_t wmi_ready_extract_init_status(void *wmi_hdl, void *ev);
1048
1049QDF_STATUS wmi_ready_extract_mac_addr(void *wmi_hdl,
1050 void *ev, uint8_t *macaddr);
1051
1052QDF_STATUS wmi_extract_fw_version(void *wmi_hdl,
1053 void *ev, struct wmi_host_fw_ver *fw_ver);
1054
1055QDF_STATUS wmi_extract_fw_abi_version(void *wmi_hdl,
1056 void *ev, struct wmi_host_fw_abi_ver *fw_ver);
1057
1058QDF_STATUS wmi_check_and_update_fw_version(void *wmi_hdl, void *ev);
1059
1060uint8_t *wmi_extract_dbglog_data_len(void *wmi_hdl,
1061 void *evt_b, uint16_t *len);
1062
1063QDF_STATUS wmi_send_ext_resource_config(void *wmi_hdl,
1064 wmi_host_ext_resource_config *ext_cfg);
1065
1066QDF_STATUS wmi_unified_nf_dbr_dbm_info_get_cmd_send(void *wmi_hdl);
1067
1068QDF_STATUS wmi_unified_packet_power_info_get_cmd_send(void *wmi_hdl,
1069 struct packet_power_info_params *param);
1070
1071QDF_STATUS wmi_unified_gpio_config_cmd_send(void *wmi_hdl,
1072 struct gpio_config_params *param);
1073
1074QDF_STATUS wmi_unified_gpio_output_cmd_send(void *wmi_hdl,
1075 struct gpio_output_params *param);
1076
1077QDF_STATUS wmi_unified_rtt_meas_req_test_cmd_send(void *wmi_hdl,
1078 struct rtt_meas_req_test_params *param);
1079
1080QDF_STATUS wmi_unified_rtt_meas_req_cmd_send(void *wmi_hdl,
1081 struct rtt_meas_req_params *param);
1082
1083QDF_STATUS wmi_unified_rtt_keepalive_req_cmd_send(void *wmi_hdl,
1084 struct rtt_keepalive_req_params *param);
1085
1086QDF_STATUS wmi_unified_lci_set_cmd_send(void *wmi_hdl,
1087 struct lci_set_params *param);
1088
1089QDF_STATUS wmi_unified_lcr_set_cmd_send(void *wmi_hdl,
1090 struct lcr_set_params *param);
1091
1092QDF_STATUS wmi_unified_send_periodic_chan_stats_config_cmd(void *wmi_hdl,
1093 struct periodic_chan_stats_params *param);
1094
1095QDF_STATUS
1096wmi_send_atf_peer_request_cmd(void *wmi_hdl,
1097 struct atf_peer_request_params *param);
1098
1099QDF_STATUS
1100wmi_send_set_atf_grouping_cmd(void *wmi_hdl,
1101 struct atf_grouping_params *param);
1102/* Extract APIs */
1103
1104QDF_STATUS wmi_extract_wds_addr_event(void *wmi_hdl,
1105 void *evt_buf, uint16_t len, wds_addr_event_t *wds_ev);
1106
1107QDF_STATUS wmi_extract_dcs_interference_type(void *wmi_hdl,
1108 void *evt_buf, uint32_t *interference_type);
1109
1110QDF_STATUS wmi_extract_dcs_cw_int(void *wmi_hdl, void *evt_buf,
1111 wmi_host_ath_dcs_cw_int *cw_int);
1112
1113QDF_STATUS wmi_extract_dcs_im_tgt_stats(void *wmi_hdl, void *evt_buf,
1114 wmi_host_dcs_im_tgt_stats_t *wlan_stat);
1115
1116QDF_STATUS wmi_extract_fips_event_error_status(void *wmi_hdl, void *evt_buf,
1117 uint32_t *err_status);
1118
1119QDF_STATUS wmi_extract_fips_event_data(void *wmi_hdl, void *evt_buf,
1120 uint32_t *data_len, uint32_t **data);
1121QDF_STATUS wmi_extract_vdev_start_resp(void *wmi_hdl, void *evt_buf,
1122 wmi_host_vdev_start_resp *vdev_rsp);
1123QDF_STATUS wmi_extract_tbttoffset_update_params(void *wmi_hdl, void *evt_buf,
1124 uint32_t *vdev_map, uint32_t **tbttoffset_list);
1125
1126QDF_STATUS wmi_extract_mgmt_rx_params(void *wmi_hdl, void *evt_buf,
1127 wmi_host_mgmt_rx_hdr *hdr, uint8_t **bufp);
1128
1129QDF_STATUS wmi_extract_vdev_stopped_param(void *wmi_hdl, void *evt_buf,
1130 uint32_t *vdev_id);
1131
1132QDF_STATUS wmi_extract_vdev_roam_param(void *wmi_hdl, void *evt_buf,
1133 wmi_host_roam_event *ev);
1134
1135QDF_STATUS wmi_extract_vdev_scan_ev_param(void *wmi_hdl, void *evt_buf,
1136 wmi_host_scan_event *param);
1137
1138QDF_STATUS wmi_extract_mu_ev_param(void *wmi_hdl, void *evt_buf,
1139 wmi_host_mu_report_event *param);
1140
1141QDF_STATUS wmi_extract_pdev_tpc_config_ev_param(void *wmi_hdl, void *evt_buf,
1142 wmi_host_pdev_tpc_config_event *param);
1143
1144QDF_STATUS wmi_extract_gpio_input_ev_param(void *wmi_hdl,
1145 void *evt_buf, uint32_t *gpio_num);
1146
1147QDF_STATUS wmi_extract_pdev_reserve_ast_ev_param(void *wmi_hdl,
1148 void *evt_buf, uint32_t *result);
1149
1150QDF_STATUS wmi_extract_nfcal_power_ev_param(void *wmi_hdl, void *evt_buf,
1151 wmi_host_pdev_nfcal_power_all_channels_event *param);
1152
1153QDF_STATUS wmi_extract_pdev_tpc_ev_param(void *wmi_hdl, void *evt_buf,
1154 wmi_host_pdev_tpc_event *param);
1155
1156QDF_STATUS wmi_extract_pdev_generic_buffer_ev_param(void *wmi_hdl,
1157 void *evt_buf,
1158 wmi_host_pdev_generic_buffer_event *param);
1159
1160QDF_STATUS wmi_extract_mgmt_tx_compl_param(void *wmi_hdl, void *evt_buf,
1161 wmi_host_mgmt_tx_compl_event *param);
1162
1163QDF_STATUS wmi_extract_swba_vdev_map(void *wmi_hdl, void *evt_buf,
1164 uint32_t *vdev_map);
1165
1166QDF_STATUS wmi_extract_swba_tim_info(void *wmi_hdl, void *evt_buf,
1167 uint32_t idx, wmi_host_tim_info *tim_info);
1168
1169QDF_STATUS wmi_extract_swba_noa_info(void *wmi_hdl, void *evt_buf,
1170 uint32_t idx, wmi_host_p2p_noa_info *p2p_desc);
1171
1172QDF_STATUS wmi_extract_peer_sta_ps_statechange_ev(void *wmi_hdl,
1173 void *evt_buf, wmi_host_peer_sta_ps_statechange_event *ev);
1174
1175QDF_STATUS wmi_extract_peer_sta_kickout_ev(void *wmi_hdl, void *evt_buf,
1176 wmi_host_peer_sta_kickout_event *ev);
1177
1178QDF_STATUS wmi_extract_peer_ratecode_list_ev(void *wmi_hdl, void *evt_buf,
1179 uint8_t *peer_mac, wmi_sa_rate_cap *rate_cap);
1180
1181QDF_STATUS wmi_extract_rtt_hdr(void *wmi_hdl, void *evt_buf,
1182 wmi_host_rtt_event_hdr *ev);
1183
1184QDF_STATUS wmi_extract_rtt_ev(void *wmi_hdl, void *evt_buf,
1185 wmi_host_rtt_meas_event *ev, uint8_t *hdump,
1186 uint16_t hdump_len);
1187
1188QDF_STATUS wmi_extract_rtt_error_report_ev(void *wmi_hdl, void *evt_buf,
1189 wmi_host_rtt_error_report_event *ev);
1190
1191QDF_STATUS wmi_extract_thermal_stats(void *wmi_hdl, void *evt_buf,
1192 uint32_t *temp, uint32_t *level);
1193
1194QDF_STATUS wmi_extract_thermal_level_stats(void *wmi_hdl, void *evt_buf,
1195 uint8_t idx, uint32_t *levelcount, uint32_t *dccount);
1196
1197QDF_STATUS wmi_extract_comb_phyerr(void *wmi_hdl, void *evt_buf,
1198 uint16_t datalen, uint16_t *buf_offset,
1199 wmi_host_phyerr_t *phyerr);
1200
1201QDF_STATUS wmi_extract_single_phyerr(void *wmi_hdl, void *evt_buf,
1202 uint16_t datalen, uint16_t *buf_offset,
1203 wmi_host_phyerr_t *phyerr);
1204
1205QDF_STATUS wmi_extract_composite_phyerr(void *wmi_hdl, void *evt_buf,
1206 uint16_t datalen, wmi_host_phyerr_t *phyerr);
1207
1208QDF_STATUS wmi_extract_profile_ctx(void *wmi_hdl, void *evt_buf,
1209 wmi_host_wlan_profile_ctx_t *profile_ctx);
1210
Govind Singh41da3152016-05-06 20:20:25 +05301211QDF_STATUS wmi_extract_profile_data(void *wmi_hdl, void *evt_buf, uint8_t idx,
Govind Singh89727882016-04-15 13:58:27 +05301212 wmi_host_wlan_profile_t *profile_data);
1213
1214QDF_STATUS wmi_extract_chan_info_event(void *wmi_hdl, void *evt_buf,
1215 wmi_host_chan_info_event *chan_info);
1216
1217QDF_STATUS wmi_extract_channel_hopping_event(void *wmi_hdl, void *evt_buf,
1218 wmi_host_pdev_channel_hopping_event *ch_hopping);
1219
1220QDF_STATUS wmi_extract_stats_param(void *wmi_hdl, void *evt_buf,
1221 wmi_host_stats_event *stats_param);
1222
1223QDF_STATUS wmi_extract_pdev_stats(void *wmi_hdl, void *evt_buf,
1224 uint32_t index,
1225 wmi_host_pdev_stats *pdev_stats);
1226
1227QDF_STATUS wmi_extract_pdev_ext_stats(void *wmi_hdl, void *evt_buf,
1228 uint32_t index,
1229 wmi_host_pdev_ext_stats *pdev_ext_stats);
1230
1231QDF_STATUS wmi_extract_peer_extd_stats(void *wmi_hdl, void *evt_buf,
1232 uint32_t index,
1233 wmi_host_peer_extd_stats *peer_extd_stats);
1234
1235QDF_STATUS wmi_extract_bss_chan_info_event(void *wmi_hdl, void *evt_buf,
1236 wmi_host_pdev_bss_chan_info_event *bss_chan_info);
1237
1238QDF_STATUS wmi_extract_inst_rssi_stats_event(void *wmi_hdl, void *evt_buf,
1239 wmi_host_inst_stats_resp *inst_rssi_resp);
1240
1241QDF_STATUS wmi_extract_peer_stats(void *wmi_hdl, void *evt_buf,
1242 uint32_t index, wmi_host_peer_stats *peer_stats);
1243
1244QDF_STATUS wmi_extract_tx_data_traffic_ctrl_ev(void *wmi_hdl, void *evt_buf,
1245 wmi_host_tx_data_traffic_ctrl_event *ev);
1246
1247QDF_STATUS wmi_extract_vdev_stats(void *wmi_hdl, void *evt_buf,
1248 uint32_t index, wmi_host_vdev_stats *vdev_stats);
1249
1250QDF_STATUS wmi_extract_vdev_extd_stats(void *wmi_hdl, void *evt_buf,
1251 uint32_t index, wmi_host_vdev_extd_stats *vdev_extd_stats);
Govind Singhc10bde82016-05-02 17:59:24 +05301252
1253QDF_STATUS wmi_unified_send_power_dbg_cmd(void *wmi_hdl,
1254 struct wmi_power_dbg_params *param);
Gupta, Kapil7b768002016-04-25 19:14:19 +05301255QDF_STATUS wmi_unified_send_adapt_dwelltime_params_cmd(void *wmi_hdl,
1256 struct wmi_adaptive_dwelltime_params *
1257 wmi_param);
Govind Singhd475ea92016-03-06 19:55:02 +05301258#endif /* _WMI_UNIFIED_API_H_ */