xref: /wlan-dirver/qca-wifi-host-cmn/wmi/inc/wmi_unified_vdev_api.h (revision 6d768494e5ce14eb1603a695c86739d12ecc6ec2)
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