1 /* 2 * Copyright (c) 2016-2021 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_send_multiple_vdev_set_param_cmd() - Send multiple vdev set param 68 * command 69 * @wmi_handle: wmi handle 70 * @param: multiple vdev restart parameter 71 * 72 * Send WMI_PDEV_MULTIPLE_VDEV_SET_PARAM_CMDID parameters to fw. 73 * 74 * Return: QDF_STATUS_SUCCESS on success, QDF_STATUS_E_** on error 75 */ 76 QDF_STATUS wmi_unified_send_multiple_vdev_set_param_cmd( 77 struct wmi_unified *wmi_handle, 78 struct multiple_vdev_set_param *param); 79 80 /** 81 * wmi_unified_beacon_send_cmd() - WMI beacon send function 82 * @param wmi_handle: handle to WMI. 83 * @param macaddr: MAC address 84 * @param param: pointer to hold beacon send cmd parameter 85 * 86 * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 87 */ 88 QDF_STATUS wmi_unified_beacon_send_cmd(struct wmi_unified *wmi_handle, 89 struct beacon_params *param); 90 91 /** 92 * wmi_extract_vdev_start_resp() - extract vdev start response 93 * @wmi_handle: wmi handle 94 * @param evt_buf: pointer to event buffer 95 * @param vdev_rsp: Pointer to hold vdev response 96 * 97 * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 98 */ 99 QDF_STATUS 100 wmi_extract_vdev_start_resp(struct wmi_unified *wmi_handle, void *evt_buf, 101 struct vdev_start_response *vdev_rsp); 102 103 /** 104 * wmi_extract_vdev_stopped_param() - extract vdev stop param from event 105 * @wmi_handle: wmi handle 106 * @param evt_buf: pointer to event buffer 107 * @param vdev_id: Pointer to hold vdev identifier 108 * 109 * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 110 */ 111 QDF_STATUS 112 wmi_extract_vdev_stopped_param(struct wmi_unified *wmi_handle, void *evt_buf, 113 uint32_t *vdev_id); 114 115 /** 116 * wmi_extract_vdev_delete_resp() - extract vdev delete response 117 * @wmi_handle: wmi handle 118 * @param evt_buf: pointer to event buffer 119 * @param delete_rsp: Pointer to hold vdev delete response 120 * 121 * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 122 */ 123 QDF_STATUS 124 wmi_extract_vdev_delete_resp(struct wmi_unified *wmi_handle, void *evt_buf, 125 struct vdev_delete_response *vdev_del_resp); 126 127 /** 128 * wmi_extract_vdev_peer_delete_all_response_event() - extract peer delete all 129 * response 130 * @wmi_handle: wmi handle 131 * @param evt_buf: pointer to event buffer 132 * @param delete_rsp: Pointer to hold peer delete all response 133 * 134 * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 135 */ 136 QDF_STATUS wmi_extract_vdev_peer_delete_all_response_event( 137 struct wmi_unified *wmi_handle, 138 void *evt_buf, 139 struct peer_delete_all_response *delete_rsp); 140 141 /** 142 * wmi_extract_ext_tbttoffset_num_vdevs() - extract ext tbtt offset num vdev 143 * @wmi_handle: wmi handle 144 * @param evt_buf: pointer to event buffer 145 * @param vdev_map: Pointer to hold num vdev 146 * 147 * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 148 */ 149 QDF_STATUS 150 wmi_extract_ext_tbttoffset_num_vdevs(struct wmi_unified *wmi_handle, 151 void *evt_buf, uint32_t *num_vdevs); 152 153 /** 154 * wmi_extract_tbttoffset_num_vdevs() - extract tbtt offset num vdev 155 * @wmi_handle: wmi handle 156 * @param evt_buf: pointer to event buffer 157 * @param vdev_map: Pointer to hold num vdev 158 * 159 * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 160 */ 161 QDF_STATUS 162 wmi_extract_tbttoffset_num_vdevs(struct wmi_unified *wmi_handle, void *evt_buf, 163 uint32_t *num_vdevs); 164 165 /** 166 * wmi_extract_multi_vdev_restart_resp_event() - extract multi vdev restart 167 * response 168 * @wmi_handle: wmi handle 169 * @evt_buf: pointer to event buffer 170 * @restart_rsp: Pointer to hold multi vdev restart response 171 * 172 * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 173 */ 174 QDF_STATUS wmi_extract_multi_vdev_restart_resp_event( 175 struct wmi_unified *wmi_handle, 176 void *evt_buf, 177 struct multi_vdev_restart_resp *restart_rsp); 178 179 /** 180 * wmi_unified_multisoc_tbtt_sync_cmd() - Send cmd to sync tbtt in multisoc case 181 * @wmi_handle: wmi handle 182 * @param: params received in rnr_tbtt_multisoc_sync_param 183 * 184 * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 185 */ 186 QDF_STATUS 187 wmi_unified_multisoc_tbtt_sync_cmd(wmi_unified_t wmi_handle, 188 struct rnr_tbtt_multisoc_sync_param *param); 189 #endif 190