wmi_unified_ap_api.h 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793
  1. /*
  2. * Copyright (c) 2013-2018,2020 The Linux Foundation. All rights reserved.
  3. *
  4. * Permission to use, copy, modify, and/or distribute this software for
  5. * any purpose with or without fee is hereby granted, provided that the
  6. * above copyright notice and this permission notice appear in all
  7. * copies.
  8. *
  9. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
  10. * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
  11. * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
  12. * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
  13. * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
  14. * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  15. * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  16. * PERFORMANCE OF THIS SOFTWARE.
  17. */
  18. /*
  19. * This file contains the API definitions for the generic AP WMIs
  20. */
  21. #ifndef _WMI_UNIFIED_AP_API_H_
  22. #define _WMI_UNIFIED_AP_API_H_
  23. #include "wmi_unified_param.h"
  24. #include <wmi_unified_ap_params.h>
  25. /**
  26. * wmi_unified_beacon_send_cmd() - WMI beacon send function
  27. * @wmi_handle: handle to WMI.
  28. * @macaddr: MAC address
  29. * @param: pointer to hold beacon send cmd parameter
  30. *
  31. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  32. */
  33. QDF_STATUS wmi_unified_beacon_send_cmd(wmi_unified_t wmi_handle,
  34. struct beacon_params *param);
  35. /**
  36. * wmi_unified_pdev_get_tpc_config_cmd_send() - WMI get tpc config function
  37. * @wmi_handle: handle to WMI.
  38. * @param: tpc config param
  39. *
  40. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  41. */
  42. QDF_STATUS wmi_unified_pdev_get_tpc_config_cmd_send(wmi_unified_t wmi_handle,
  43. uint32_t param);
  44. /**
  45. * wmi_send_pdev_caldata_version_check_cmd() - send reset peer mumimo
  46. * tx count to fw
  47. * @wmi_handle: wmi handle
  48. * @value: value
  49. *
  50. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  51. */
  52. QDF_STATUS wmi_send_pdev_caldata_version_check_cmd(wmi_unified_t wmi_handle,
  53. uint32_t value);
  54. /**
  55. * wmi_unified_set_ht_ie_cmd_send() - WMI set channel cmd function
  56. * @wmi_handle: handle to WMI.
  57. * @param: pointer to hold channel param
  58. *
  59. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  60. */
  61. QDF_STATUS wmi_unified_set_ht_ie_cmd_send(wmi_unified_t wmi_handle,
  62. struct ht_ie_params *param);
  63. /**
  64. * wmi_unified_set_vht_ie_cmd_send() - WMI set channel cmd function
  65. * @wmi_handle: handle to WMI.
  66. * @param: pointer to hold channel param
  67. *
  68. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  69. */
  70. QDF_STATUS wmi_unified_set_vht_ie_cmd_send(wmi_unified_t wmi_handle,
  71. struct vht_ie_params *param);
  72. /**
  73. * wmi_unified_set_ctl_table_cmd_send() - WMI ctl table cmd function
  74. * @wmi_handle: handle to WMI.
  75. * @param: pointer to hold ctl table param
  76. *
  77. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  78. */
  79. QDF_STATUS wmi_unified_set_ctl_table_cmd_send(wmi_unified_t wmi_handle,
  80. struct ctl_table_params *param);
  81. /**
  82. * wmi_unified_set_mimogain_table_cmd_send() - WMI set mimogain cmd function
  83. * @wmi_handle: handle to WMI.
  84. * @param: pointer to hold mimogain param
  85. *
  86. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  87. */
  88. QDF_STATUS wmi_unified_set_mimogain_table_cmd_send(
  89. wmi_unified_t wmi_handle,
  90. struct mimogain_table_params *param);
  91. /**
  92. * wmi_unified_peer_add_wds_entry_cmd_send() - WMI add wds entry cmd function
  93. * @wmi_handle: handle to WMI.
  94. * @param: pointer to hold wds entry param
  95. *
  96. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  97. */
  98. QDF_STATUS wmi_unified_peer_add_wds_entry_cmd_send(
  99. wmi_unified_t wmi_handle,
  100. struct peer_add_wds_entry_params *param);
  101. /**
  102. * wmi_unified_peer_del_wds_entry_cmd_send() - WMI del wds entry cmd function
  103. * @wmi_handle: handle to WMI.
  104. * @param: pointer to hold wds entry param
  105. *
  106. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  107. */
  108. QDF_STATUS wmi_unified_peer_del_wds_entry_cmd_send(
  109. wmi_unified_t wmi_handle,
  110. struct peer_del_wds_entry_params *param);
  111. /**
  112. * wmi_unified_peer_update_wds_entry_cmd_send() - WMI update wds entry
  113. * cmd function
  114. * @wmi_handle: handle to WMI.
  115. * @param: pointer to hold wds entry param
  116. *
  117. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  118. */
  119. QDF_STATUS wmi_unified_peer_update_wds_entry_cmd_send(
  120. wmi_unified_t wmi_handle,
  121. struct peer_update_wds_entry_params *param);
  122. /**
  123. * wmi_unified_peer_ft_roam_send() - reset BA window in fw
  124. * @wmi_handle: wmi handle
  125. * @peer_addr: peer mac address
  126. * @vdev_id: vdev id
  127. *
  128. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  129. */
  130. QDF_STATUS
  131. wmi_unified_peer_ft_roam_send(wmi_unified_t wmi_handle,
  132. uint8_t peer_addr[QDF_MAC_ADDR_SIZE],
  133. uint8_t vdev_id);
  134. /**
  135. * wmi_unified_vdev_set_neighbour_rx_cmd_send() - WMI set neighbour rx function
  136. * @wmi_handle: handle to WMI.
  137. * @macaddr: MAC address
  138. * @param: pointer to hold neighbour rx parameter
  139. *
  140. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  141. */
  142. QDF_STATUS wmi_unified_vdev_set_neighbour_rx_cmd_send(
  143. wmi_unified_t wmi_handle,
  144. uint8_t macaddr[QDF_MAC_ADDR_SIZE],
  145. struct set_neighbour_rx_params *param);
  146. /**
  147. * wmi_unified_vdev_config_ratemask_cmd_send() - WMI config ratemask function
  148. * @wmi_handle: handle to WMI.
  149. * @param: pointer to hold config ratemask param
  150. *
  151. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  152. */
  153. QDF_STATUS wmi_unified_vdev_config_ratemask_cmd_send(
  154. wmi_unified_t wmi_handle,
  155. struct config_ratemask_params *param);
  156. /**
  157. * wmi_unified_set_quiet_mode_cmd_send() - WMI set quiet mode function
  158. * @wmi_handle: handle to WMI.
  159. * @param: pointer to hold quiet mode param
  160. *
  161. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  162. */
  163. QDF_STATUS wmi_unified_set_quiet_mode_cmd_send(
  164. wmi_unified_t wmi_handle,
  165. struct set_quiet_mode_params *param);
  166. /**
  167. * wmi_unified_set_bcn_offload_quiet_mode_cmd_send - WMI set quiet mode
  168. * function in beacon offload case
  169. * @wmi_handle: handle to WMI.
  170. * @param: pointer to hold quiet mode param in bcn offload
  171. *
  172. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  173. */
  174. QDF_STATUS wmi_unified_set_bcn_offload_quiet_mode_cmd_send(
  175. wmi_unified_t wmi_handle,
  176. struct set_bcn_offload_quiet_mode_params *param);
  177. /**
  178. * wmi_unified_nf_dbr_dbm_info_get_cmd_send() - WMI request nf info function
  179. * @wmi_handle: handle to WMI.
  180. * @mac_id: mac_id
  181. *
  182. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  183. */
  184. QDF_STATUS wmi_unified_nf_dbr_dbm_info_get_cmd_send(wmi_unified_t wmi_handle,
  185. uint8_t mac_id);
  186. /**
  187. * wmi_unified_packet_power_info_get_cmd_send() - WMI get packet power
  188. * info function
  189. * @wmi_handle: handle to WMI.
  190. * @param: pointer to hold packet power info param
  191. *
  192. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  193. */
  194. QDF_STATUS wmi_unified_packet_power_info_get_cmd_send(
  195. wmi_unified_t wmi_handle,
  196. struct packet_power_info_params *param);
  197. /**
  198. * wmi_extract_wds_addr_event - Extract WDS addr WMI event
  199. * @wmi_handle: handle to WMI.
  200. * @evt_buf: pointer to event buffer
  201. * @len: length of the event buffer
  202. * @wds_ev: pointer to strct to extract
  203. *
  204. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  205. */
  206. QDF_STATUS wmi_extract_wds_addr_event(
  207. wmi_unified_t wmi_handle,
  208. void *evt_buf, uint16_t len, wds_addr_event_t *wds_ev);
  209. /**
  210. * wmi_extract_dcs_interference_type() - extract dcs interference type
  211. * @wmi_handle: wmi handle
  212. * @evt_buf: pointer to event buffer
  213. * @param: Pointer to hold dcs interference param
  214. *
  215. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  216. */
  217. QDF_STATUS wmi_extract_dcs_interference_type(
  218. wmi_unified_t wmi_handle,
  219. void *evt_buf, struct wmi_host_dcs_interference_param *param);
  220. /*
  221. * wmi_extract_dcs_cw_int() - extract dcs cw interference from event
  222. * @wmi_handle: wmi handle
  223. * @evt_buf: pointer to event buffer
  224. * @cw_int: Pointer to hold cw interference
  225. *
  226. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  227. */
  228. QDF_STATUS wmi_extract_dcs_cw_int(wmi_unified_t wmi_handle, void *evt_buf,
  229. wmi_host_ath_dcs_cw_int *cw_int);
  230. /**
  231. * wmi_extract_dcs_im_tgt_stats() - extract dcs im target stats from event
  232. * @wmi_handle: wmi handle
  233. * @evt_buf: pointer to event buffer
  234. * @wlan_stat: Pointer to hold wlan stats
  235. *
  236. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  237. */
  238. QDF_STATUS wmi_extract_dcs_im_tgt_stats(
  239. wmi_unified_t wmi_handle, void *evt_buf,
  240. wmi_host_dcs_im_tgt_stats_t *wlan_stat);
  241. /**
  242. * wmi_extract_tbttoffset_update_params() - extract tbtt offset update param
  243. * @wmi_handle: wmi handle
  244. * @evt_buf: pointer to event buffer
  245. * @idx: Index referring to a vdev
  246. * @tbtt_param: Pointer to tbttoffset event param
  247. *
  248. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  249. */
  250. QDF_STATUS wmi_extract_tbttoffset_update_params(
  251. wmi_unified_t wmi_handle, void *evt_buf,
  252. uint8_t idx, struct tbttoffset_params *tbtt_param);
  253. /**
  254. * wmi_extract_ext_tbttoffset_update_params() - extract tbtt offset update param
  255. * @wmi_handle: wmi handle
  256. * @evt_buf: pointer to event buffer
  257. * @idx: Index referring to a vdev
  258. * @tbtt_param: Pointer to tbttoffset event param
  259. *
  260. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  261. */
  262. QDF_STATUS wmi_extract_ext_tbttoffset_update_params(
  263. wmi_unified_t wmi_handle,
  264. void *evt_buf, uint8_t idx,
  265. struct tbttoffset_params *tbtt_param);
  266. /**
  267. * wmi_extract_tbttoffset_num_vdevs() - extract tbtt offset num vdev
  268. * @wmi_handle: wmi handle
  269. * @evt_buf: pointer to event buffer
  270. * @vdev_map: Pointer to hold num vdev
  271. *
  272. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  273. */
  274. QDF_STATUS wmi_extract_tbttoffset_num_vdevs(wmi_unified_t wmi_handle,
  275. void *evt_buf,
  276. uint32_t *num_vdevs);
  277. /**
  278. * wmi_extract_ext_tbttoffset_num_vdevs() - extract ext tbtt offset num vdev
  279. * @wmi_handle: wmi handle
  280. * @evt_buf: pointer to event buffer
  281. * @vdev_map: Pointer to hold num vdev
  282. *
  283. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  284. */
  285. QDF_STATUS wmi_extract_ext_tbttoffset_num_vdevs(wmi_unified_t wmi_handle,
  286. void *evt_buf,
  287. uint32_t *num_vdevs);
  288. /**
  289. * wmi_extract_pdev_caldata_version_check_ev_param() - extract caldata
  290. * from event
  291. * @wmi_handle: wmi handle
  292. * @evt_buf: pointer to event buffer
  293. * @param: Pointer to hold caldata version data
  294. *
  295. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  296. */
  297. QDF_STATUS wmi_extract_pdev_caldata_version_check_ev_param(
  298. wmi_unified_t wmi_handle,
  299. void *evt_buf, wmi_host_pdev_check_cal_version_event *param);
  300. /**
  301. * wmi_extract_pdev_tpc_config_ev_param() - extract pdev tpc configuration
  302. * param from event
  303. * @wmi_handle: wmi handle
  304. * @evt_buf: pointer to event buffer
  305. * @param: Pointer to hold tpc configuration
  306. *
  307. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  308. */
  309. QDF_STATUS wmi_extract_pdev_tpc_config_ev_param(
  310. wmi_unified_t wmi_handle, void *evt_buf,
  311. wmi_host_pdev_tpc_config_event *param);
  312. /**
  313. * wmi_extract_nfcal_power_ev_param() - extract noise floor calibration
  314. * power param from event
  315. * @wmi_handle: wmi handle
  316. * @evt_buf: pointer to event buffer
  317. * @param: Pointer to hold nf cal power param
  318. *
  319. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  320. */
  321. QDF_STATUS wmi_extract_nfcal_power_ev_param(
  322. wmi_unified_t wmi_handle, void *evt_buf,
  323. wmi_host_pdev_nfcal_power_all_channels_event *param);
  324. /**
  325. * wmi_extract_pdev_tpc_ev_param() - extract tpc param from event
  326. * @wmi_handle: wmi handle
  327. * @evt_buf: pointer to event buffer
  328. * @param: Pointer to hold tpc param
  329. *
  330. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  331. */
  332. QDF_STATUS wmi_extract_pdev_tpc_ev_param(
  333. wmi_unified_t wmi_handle, void *evt_buf,
  334. wmi_host_pdev_tpc_event *param);
  335. /**
  336. * wmi_extract_offchan_data_tx_compl_param() -
  337. * extract offchan data tx completion param from event
  338. * @wmi_hdl: wmi handle
  339. * @evt_buf: pointer to event buffer
  340. * @param: Pointer to offchan data tx completion param
  341. *
  342. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  343. */
  344. QDF_STATUS wmi_extract_offchan_data_tx_compl_param(
  345. wmi_unified_t wmi_handle, void *evt_buf,
  346. struct wmi_host_offchan_data_tx_compl_event *param);
  347. /**
  348. * wmi_extract_swba_num_vdevs() - extract swba num vdevs from event
  349. * @wmi_handle: wmi handle
  350. * @evt_buf: pointer to event buffer
  351. * @num_vdevs: Pointer to hold num vdevs
  352. *
  353. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  354. */
  355. QDF_STATUS wmi_extract_swba_num_vdevs(wmi_unified_t wmi_handle, void *evt_buf,
  356. uint32_t *num_vdevs);
  357. /**
  358. * wmi_extract_swba_tim_info() - extract swba tim info from event
  359. * @wmi_handle: wmi handle
  360. * @evt_buf: pointer to event buffer
  361. * @idx: Index to bcn info
  362. * @tim_info: Pointer to hold tim info
  363. *
  364. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  365. */
  366. QDF_STATUS wmi_extract_swba_tim_info(
  367. wmi_unified_t wmi_handle, void *evt_buf,
  368. uint32_t idx, wmi_host_tim_info *tim_info);
  369. /**
  370. * wmi_extract_swba_quiet_info() - extract swba quiet info from event
  371. * @wmi_handle: wmi handle
  372. * @evt_buf: pointer to event buffer
  373. * @idx: Index to bcn info
  374. * @quiet_info: Pointer to hold quiet info
  375. *
  376. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  377. */
  378. QDF_STATUS wmi_extract_swba_quiet_info(wmi_unified_t wmi_handle, void *evt_buf,
  379. uint32_t idx,
  380. wmi_host_quiet_info *quiet_info);
  381. /**
  382. * wmi_extract_swba_noa_info() - extract swba NoA information from event
  383. * @wmi_handle: wmi handle
  384. * @evt_buf: pointer to event buffer
  385. * @idx: Index to bcn info
  386. * @p2p_desc: Pointer to hold p2p NoA info
  387. *
  388. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  389. */
  390. QDF_STATUS wmi_extract_swba_noa_info(wmi_unified_t wmi_handle, void *evt_buf,
  391. uint32_t idx,
  392. wmi_host_p2p_noa_info *p2p_desc);
  393. /**
  394. * wmi_extract_peer_sta_ps_statechange_ev() - extract peer sta ps state
  395. * from event
  396. * @wmi_handle: wmi handle
  397. * @evt_buf: pointer to event buffer
  398. * @ev: Pointer to hold peer param and ps state
  399. *
  400. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  401. */
  402. QDF_STATUS wmi_extract_peer_sta_ps_statechange_ev(
  403. wmi_unified_t wmi_handle,
  404. void *evt_buf, wmi_host_peer_sta_ps_statechange_event *ev);
  405. /**
  406. * wmi_extract_peer_sta_kickout_ev() - extract peer sta kickout event
  407. * @wmi_handle: wmi handle
  408. * @evt_buf: pointer to event buffer
  409. * @ev: Pointer to hold peer param
  410. *
  411. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  412. */
  413. QDF_STATUS wmi_extract_peer_sta_kickout_ev(
  414. wmi_unified_t wmi_handle, void *evt_buf,
  415. wmi_host_peer_sta_kickout_event *ev);
  416. /**
  417. * wmi_extract_inst_rssi_stats_event() - extract inst rssi stats from event
  418. * @wmi_handle: wmi handle
  419. * @evt_buf: pointer to event buffer
  420. * @inst_rssi_resp: Pointer to hold inst rssi response
  421. *
  422. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  423. */
  424. QDF_STATUS wmi_extract_inst_rssi_stats_event(
  425. wmi_unified_t wmi_handle, void *evt_buf,
  426. wmi_host_inst_stats_resp *inst_rssi_resp);
  427. /**
  428. * wmi_unified_send_multiple_vdev_restart_req_cmd() - send multiple vdev restart
  429. * @wmi_handle: wmi handle
  430. * @param: multiple vdev restart parameter
  431. *
  432. * Send WMI_PDEV_MULTIPLE_VDEV_RESTART_REQUEST_CMDID parameters to fw.
  433. *
  434. * Return: QDF_STATUS_SUCCESS on success, QDF_STATUS_E_** on error
  435. */
  436. QDF_STATUS wmi_unified_send_multiple_vdev_restart_req_cmd(
  437. wmi_unified_t wmi_handle,
  438. struct multiple_vdev_restart_params *param);
  439. /**
  440. * wmi_extract_peer_create_response_event() -
  441. * extract vdev id and peer mac address and status from peer create
  442. * response event
  443. * @wmi_handle: wmi handle
  444. * @evt_buf: pointer to event buffer
  445. * @param: Pointer to hold evt buf
  446. *
  447. * Return: QDF_STATUS_SUCCESS for success or error code
  448. */
  449. QDF_STATUS wmi_extract_peer_create_response_event(
  450. wmi_unified_t wmi_handle,
  451. uint8_t *evt_buf,
  452. struct wmi_host_peer_create_response_event *param);
  453. /**
  454. * wmi_extract_peer_delete_response_event() -
  455. * extract vdev id and peer mac addresse from peer delete response event
  456. * @wmi_handle: wmi handle
  457. * @evt_buf: pointer to event buffer
  458. * @param: Pointer to hold evt buf
  459. *
  460. * Return: QDF_STATUS_SUCCESS for success or error code
  461. */
  462. QDF_STATUS wmi_extract_peer_delete_response_event(
  463. wmi_unified_t wmi_handle,
  464. uint8_t *evt_buf,
  465. struct wmi_host_peer_delete_response_event *param);
  466. /**
  467. * wmi_send_bcn_offload_control_cmd - send beacon ofload control cmd to fw
  468. * @wmi_hdl: wmi handle
  469. * @bcn_ctrl_param: pointer to bcn_offload_control param
  470. *
  471. * Return: QDF_STATUS_SUCCESS for success or error code
  472. */
  473. QDF_STATUS wmi_send_bcn_offload_control_cmd(
  474. wmi_unified_t wmi_handle,
  475. struct bcn_offload_control *bcn_ctrl_param);
  476. #ifdef WLAN_SUPPORT_FILS
  477. /**
  478. * wmi_unified_fils_vdev_config_send_cmd() - send FILS config cmd to fw
  479. * @wmi_hdl: wmi handle
  480. * @param: fils config params
  481. *
  482. * Return: QDF_STATUS_SUCCESS for success or error code
  483. */
  484. QDF_STATUS
  485. wmi_unified_fils_vdev_config_send_cmd(wmi_unified_t wmi_handle,
  486. struct config_fils_params *param);
  487. /**
  488. * wmi_extract_swfda_vdev_id() - api to extract vdev id
  489. * @wmi_hdl: wmi handle
  490. * @evt_buf: pointer to event buffer
  491. * @vdev_id: pointer to vdev id
  492. *
  493. * Return: QDF_STATUS_SUCCESS for success or error code
  494. */
  495. QDF_STATUS wmi_extract_swfda_vdev_id(wmi_unified_t wmi_handle, void *evt_buf,
  496. uint32_t *vdev_id);
  497. /**
  498. * wmi_unified_fils_discovery_send_cmd() - send FILS discovery cmd to fw
  499. * @wmi_hdl: wmi handle
  500. * @param: fils discovery params
  501. *
  502. * Return: QDF_STATUS_SUCCESS for success or error code
  503. */
  504. QDF_STATUS wmi_unified_fils_discovery_send_cmd(wmi_unified_t wmi_handle,
  505. struct fd_params *param);
  506. #endif /* WLAN_SUPPORT_FILS */
  507. /**
  508. * wmi_unified_set_qboost_param_cmd_send() - WMI set_qboost function
  509. * @wmi_handle: handle to WMI.
  510. * @macaddr: MAC address
  511. * @param: pointer to hold set_qboost parameter
  512. *
  513. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  514. */
  515. QDF_STATUS
  516. wmi_unified_set_qboost_param_cmd_send(wmi_unified_t wmi_handle,
  517. uint8_t macaddr[QDF_MAC_ADDR_SIZE],
  518. struct set_qboost_params *param);
  519. /**
  520. * wmi_unified_mcast_group_update_cmd_send() - WMI mcast grp update cmd function
  521. * @wmi_handle: handle to WMI.
  522. * @param: pointer to hold mcast grp param
  523. *
  524. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  525. */
  526. QDF_STATUS
  527. wmi_unified_mcast_group_update_cmd_send(wmi_unified_t wmi_handle,
  528. struct mcast_group_update_params *param);
  529. /**
  530. * wmi_unified_pdev_qvit_cmd_send() - WMI pdev qvit cmd function
  531. * @wmi_handle: handle to WMI.
  532. * @param: pointer to hold qvit param
  533. *
  534. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  535. */
  536. QDF_STATUS wmi_unified_pdev_qvit_cmd_send(wmi_unified_t wmi_handle,
  537. struct pdev_qvit_params *param);
  538. /**
  539. * wmi_unified_wmm_update_cmd_send() - WMI wmm update cmd function
  540. * @wmi_handle: handle to WMI.
  541. * @param: pointer to hold wmm param
  542. *
  543. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  544. */
  545. QDF_STATUS wmi_unified_wmm_update_cmd_send(wmi_unified_t wmi_handle,
  546. struct wmm_update_params *param);
  547. /**
  548. * wmi_extract_vdev_start_resp() - extract vdev start response
  549. * @wmi_handle: wmi handle
  550. * @evt_buf: pointer to event buffer
  551. * @vdev_rsp: Pointer to hold vdev response
  552. *
  553. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  554. */
  555. QDF_STATUS wmi_extract_vdev_start_resp(
  556. wmi_unified_t wmi_handle, void *evt_buf,
  557. struct vdev_start_response *vdev_rsp);
  558. /**
  559. * wmi_extract_vdev_delete_resp - api to extract vdev delete
  560. * response event params
  561. * @wmi_handle: wma handle
  562. * @evt_buf: pointer to event buffer
  563. * @delele_rsp: pointer to hold delete response from firmware
  564. *
  565. * Return: QDF_STATUS_SUCCESS for successful event parse
  566. * else QDF_STATUS_E_INVAL or QDF_STATUS_E_FAILURE
  567. */
  568. QDF_STATUS wmi_extract_vdev_delete_resp(
  569. wmi_unified_t wmi_handle, void *evt_buf,
  570. struct vdev_delete_response *delele_rsp);
  571. /**
  572. * wmi_extract_vdev_stopped_param() - extract vdev stop param from event
  573. * @wmi_handle: wmi handle
  574. * @evt_buf: pointer to event buffer
  575. * @vdev_id: Pointer to hold vdev identifier
  576. *
  577. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  578. */
  579. QDF_STATUS wmi_extract_vdev_stopped_param(wmi_unified_t wmi_handle,
  580. void *evt_buf,
  581. uint32_t *vdev_id);
  582. /**
  583. * wmi_extract_mgmt_tx_compl_param() - extract mgmt tx completion param
  584. * from event
  585. * @wmi_hdl: wmi handle
  586. * @evt_buf: pointer to event buffer
  587. * @param: Pointer to mgmt tx completion param
  588. *
  589. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  590. */
  591. QDF_STATUS wmi_extract_mgmt_tx_compl_param(
  592. wmi_unified_t wmi_handle, void *evt_buf,
  593. wmi_host_mgmt_tx_compl_event *param);
  594. /**
  595. * wmi_extract_chan_info_event() - extract chan information from event
  596. * @wmi_handle: wmi handle
  597. * @evt_buf: pointer to event buffer
  598. * @chan_info: Pointer to hold chan information
  599. *
  600. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  601. */
  602. QDF_STATUS wmi_extract_chan_info_event(
  603. wmi_unified_t wmi_handle, void *evt_buf,
  604. wmi_host_chan_info_event *chan_info);
  605. /**
  606. * wmi_extract_channel_hopping_event() - extract channel hopping param
  607. * from event
  608. * @wmi_handle: wmi handle
  609. * @evt_buf: pointer to event buffer
  610. * @ch_hopping: Pointer to hold channel hopping param
  611. *
  612. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  613. */
  614. QDF_STATUS wmi_extract_channel_hopping_event(
  615. wmi_unified_t wmi_handle, void *evt_buf,
  616. wmi_host_pdev_channel_hopping_event *ch_hopping);
  617. /**
  618. * wmi_unified_peer_chan_width_switch_cmd_send() - WMI send peer chan width
  619. * @wmi_hdl: handle to WMI
  620. * @param: pointer to hold peer capability param
  621. *
  622. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  623. */
  624. QDF_STATUS wmi_unified_peer_chan_width_switch_cmd_send(
  625. wmi_unified_t wmi_handle,
  626. struct peer_chan_width_switch_params *param);
  627. /**
  628. * wmi_unified_peer_del_all_wds_entries_cmd_send() - send delete
  629. * all wds entries cmd to fw
  630. * @wmi_hdl: wmi handle
  631. * @param: delete all wds entries params
  632. *
  633. * Return: QDF_STATUS_SUCCESS for success or error code
  634. */
  635. QDF_STATUS wmi_unified_peer_del_all_wds_entries_cmd_send(
  636. wmi_unified_t wmi_handle,
  637. struct peer_del_all_wds_entries_params *param);
  638. /**
  639. * wmi_unified_vdev_pcp_tid_map_cmd_send() - WMI set vap pcp
  640. * tid map cmd function
  641. * @wmi_handle: handle to WMI.
  642. * @param: pointer to hold pcp param
  643. *
  644. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  645. */
  646. QDF_STATUS wmi_unified_vdev_pcp_tid_map_cmd_send(
  647. wmi_unified_t wmi_handle,
  648. struct vap_pcp_tid_map_params *param);
  649. /**
  650. * wmi_unified_vdev_tidmap_prec_cmd_send() - WMI set vap tidmap precedence
  651. * cmd function
  652. * @wmi_handle: handle to WMI.
  653. * @param: pointer to hold precedence param
  654. *
  655. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  656. */
  657. QDF_STATUS wmi_unified_vdev_tidmap_prec_cmd_send(
  658. wmi_unified_t wmi_handle,
  659. struct vap_tidmap_prec_params *param);
  660. #ifdef WLAN_SUPPORT_RX_PROTOCOL_TYPE_TAG
  661. /**
  662. * wmi_unified_set_rx_pkt_type_routing_tag() - api to add/delete
  663. * the protocols to be tagged by CCE
  664. * @wmi_hdl: wmi handle
  665. * @param: Packet routing/tagging info
  666. *
  667. * Return: QDF_STATUS_SUCCESS for success or error code
  668. */
  669. QDF_STATUS wmi_unified_set_rx_pkt_type_routing_tag(
  670. wmi_unified_t wmi_handle,
  671. struct wmi_rx_pkt_protocol_routing_info *param);
  672. #endif /* WLAN_SUPPORT_RX_PROTOCOL_TYPE_TAG */
  673. /**
  674. * wmi_unified_peer_vlan_config_send() - WMI function to send vlan command
  675. *
  676. * @wmi_hdl: WMI handle
  677. * @peer_addr: Peer mac address
  678. * @param: struct peer_vlan_config_param *
  679. *
  680. * Return: QDF_STATUS_SUCCESS if success, else returns proper error code.
  681. */
  682. QDF_STATUS wmi_unified_peer_vlan_config_send(wmi_unified_t wmi_handle,
  683. uint8_t peer_addr[QDF_MAC_ADDR_SIZE],
  684. struct peer_vlan_config_param *param);
  685. /**
  686. * wmi_extract_muedca_params_handler() - WMI function to extract Muedca params
  687. *
  688. * @wmi_handle: WMI handle
  689. * @evt_buf: Event data buffer
  690. * @muedca_param_list: struct muedca_params
  691. *
  692. * Return: QDF_STATUS_SUCCESS if success, else returns proper error code.
  693. */
  694. QDF_STATUS wmi_extract_muedca_params_handler(wmi_unified_t wmi_handle,
  695. void *evt_buf, struct muedca_params *muedca_param_list);
  696. /**
  697. * wmi_unified_set_radio_tx_mode_select_cmd_send() - WMI ant switch tbl cmd function
  698. * @wmi_handle: handle to WMI.
  699. * @param: pointer to hold tx mode selection param
  700. *
  701. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  702. */
  703. QDF_STATUS wmi_unified_set_radio_tx_mode_select_cmd_send(
  704. wmi_unified_t wmi_handle,
  705. struct wmi_pdev_enable_tx_mode_selection *tx_mode_select_param);
  706. /**
  707. * wmi_unified_send_lcr_cmd() - Send LCR command to FW
  708. * @wmi_handle: WMI handle
  709. * @lcr_info: Pointer to LCR structure
  710. *
  711. * Return: QDF_STATUS_SUCCESS if success, else returns proper error code.
  712. */
  713. QDF_STATUS wmi_unified_send_lcr_cmd(wmi_unified_t wmi_handle,
  714. struct wmi_wifi_pos_lcr_info *lcr_info);
  715. /**
  716. * wmi_unified_send_lci_cmd() - Send LCI command to FW
  717. * @wmi_handle: WMI handle
  718. * @lci_info: Pointer to LCI structure
  719. *
  720. * Return: QDF_STATUS_SUCCESS if success, else returns proper error code.
  721. */
  722. QDF_STATUS wmi_unified_send_lci_cmd(wmi_unified_t wmi_handle,
  723. struct wifi_pos_lci_info *lci_info);
  724. #endif /* _WMI_UNIFIED_AP_API_H_ */