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