wmi_unified_vdev_api.h 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. /*
  2. * Copyright (c) 2016-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 declarations for the Unified Wireless Module
  20. * Interface (WMI).
  21. */
  22. #ifndef _WMI_UNIFIED_VDEV_API_H_
  23. #define _WMI_UNIFIED_VDEV_API_H_
  24. #include <wmi_unified_api.h>
  25. /**
  26. * wmi_unified_vdev_set_neighbour_rx_cmd_send() - WMI set neighbour rx function
  27. * @param wmi_handle: handle to WMI.
  28. * @param macaddr: MAC address
  29. * @param param: pointer to hold neighbour rx parameter
  30. *
  31. * @return QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  32. */
  33. QDF_STATUS wmi_unified_vdev_set_neighbour_rx_cmd_send(
  34. struct wmi_unified *wmi_handle,
  35. uint8_t macaddr[QDF_MAC_ADDR_SIZE],
  36. struct set_neighbour_rx_params *param);
  37. /**
  38. * wmi_unified_vdev_config_ratemask_cmd_send() - WMI config ratemask function
  39. * @param wmi_handle: handle to WMI.
  40. * @param param: pointer to hold config ratemask param
  41. *
  42. * @return QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  43. */
  44. QDF_STATUS
  45. wmi_unified_vdev_config_ratemask_cmd_send(struct wmi_unified *wmi_handle,
  46. struct config_ratemask_params *param);
  47. /**
  48. * wmi_unified_send_multiple_vdev_restart_req_cmd() - send multiple vdev restart
  49. * @wmi_handle: wmi handle
  50. * @param: multiple vdev restart parameter
  51. *
  52. * Send WMI_PDEV_MULTIPLE_VDEV_RESTART_REQUEST_CMDID parameters to fw.
  53. *
  54. * Return: QDF_STATUS_SUCCESS on success, QDF_STATUS_E_** on error
  55. */
  56. QDF_STATUS wmi_unified_send_multiple_vdev_restart_req_cmd(
  57. struct wmi_unified *wmi_handle,
  58. struct multiple_vdev_restart_params *param);
  59. /**
  60. * wmi_unified_beacon_send_cmd() - WMI beacon send function
  61. * @param wmi_handle: handle to WMI.
  62. * @param macaddr: MAC address
  63. * @param param: pointer to hold beacon send cmd parameter
  64. *
  65. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  66. */
  67. QDF_STATUS wmi_unified_beacon_send_cmd(struct wmi_unified *wmi_handle,
  68. struct beacon_params *param);
  69. /**
  70. * wmi_extract_vdev_start_resp() - extract vdev start response
  71. * @wmi_handle: wmi handle
  72. * @param evt_buf: pointer to event buffer
  73. * @param vdev_rsp: Pointer to hold vdev response
  74. *
  75. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  76. */
  77. QDF_STATUS
  78. wmi_extract_vdev_start_resp(struct wmi_unified *wmi_handle, void *evt_buf,
  79. struct vdev_start_response *vdev_rsp);
  80. /**
  81. * wmi_extract_vdev_stopped_param() - extract vdev stop param from event
  82. * @wmi_handle: wmi handle
  83. * @param evt_buf: pointer to event buffer
  84. * @param vdev_id: Pointer to hold vdev identifier
  85. *
  86. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  87. */
  88. QDF_STATUS
  89. wmi_extract_vdev_stopped_param(struct wmi_unified *wmi_handle, void *evt_buf,
  90. uint32_t *vdev_id);
  91. /**
  92. * wmi_extract_vdev_delete_resp() - extract vdev delete response
  93. * @wmi_handle: wmi handle
  94. * @param evt_buf: pointer to event buffer
  95. * @param delete_rsp: Pointer to hold vdev delete response
  96. *
  97. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  98. */
  99. QDF_STATUS
  100. wmi_extract_vdev_delete_resp(struct wmi_unified *wmi_handle, void *evt_buf,
  101. struct wmi_host_vdev_delete_resp *vdev_del_resp);
  102. /**
  103. * wmi_extract_vdev_peer_delete_all_response_event() - extract peer delete all
  104. * response
  105. * @wmi_handle: wmi handle
  106. * @param evt_buf: pointer to event buffer
  107. * @param delete_rsp: Pointer to hold peer delete al response
  108. *
  109. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  110. */
  111. QDF_STATUS wmi_extract_vdev_peer_delete_all_response_event(
  112. struct wmi_unified *wmi_handle,
  113. void *evt_buf,
  114. struct wmi_host_vdev_peer_delete_all_response_event *delete_rsp);
  115. /**
  116. * wmi_extract_ext_tbttoffset_num_vdevs() - extract ext tbtt offset num vdev
  117. * @wmi_handle: wmi handle
  118. * @param evt_buf: pointer to event buffer
  119. * @param vdev_map: Pointer to hold num vdev
  120. *
  121. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  122. */
  123. QDF_STATUS
  124. wmi_extract_ext_tbttoffset_num_vdevs(struct wmi_unified *wmi_handle,
  125. void *evt_buf, uint32_t *num_vdevs);
  126. /**
  127. * wmi_extract_tbttoffset_num_vdevs() - extract tbtt offset num vdev
  128. * @wmi_handle: wmi handle
  129. * @param evt_buf: pointer to event buffer
  130. * @param vdev_map: Pointer to hold num vdev
  131. *
  132. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  133. */
  134. QDF_STATUS
  135. wmi_extract_tbttoffset_num_vdevs(struct wmi_unified *wmi_handle, void *evt_buf,
  136. uint32_t *num_vdevs);
  137. /**
  138. * wmi_extract_multi_vdev_restart_resp_event() - extract multi vdev restart
  139. * response
  140. * @wmi_handle: wmi handle
  141. * @evt_buf: pointer to event buffer
  142. * @restart_rsp: Pointer to hold multi vdev restart response
  143. *
  144. * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  145. */
  146. QDF_STATUS wmi_extract_multi_vdev_restart_resp_event(
  147. struct wmi_unified *wmi_handle,
  148. void *evt_buf,
  149. struct multi_vdev_restart_resp *restart_rsp);
  150. #endif