xref: /wlan-driver/qca-wifi-host-cmn/wmi/inc/wmi_unified_11be_tlv.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name /*
2*5113495bSYour Name  * Copyright (c) 2021, The Linux Foundation. All rights reserved.
3*5113495bSYour Name  * Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
4*5113495bSYour Name  *
5*5113495bSYour Name  * Permission to use, copy, modify, and/or distribute this software for any
6*5113495bSYour Name  * purpose with or without fee is hereby granted, provided that the above
7*5113495bSYour Name  * copyright notice and this permission notice appear in all copies.
8*5113495bSYour Name  *
9*5113495bSYour Name  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10*5113495bSYour Name  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11*5113495bSYour Name  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12*5113495bSYour Name  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13*5113495bSYour Name  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14*5113495bSYour Name  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15*5113495bSYour Name  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16*5113495bSYour Name  */
17*5113495bSYour Name 
18*5113495bSYour Name #ifndef _WMI_UNIFIED_11BE_TLV_H_
19*5113495bSYour Name #define _WMI_UNIFIED_11BE_TLV_H_
20*5113495bSYour Name 
21*5113495bSYour Name #ifdef WLAN_FEATURE_11BE_MLO
22*5113495bSYour Name /**
23*5113495bSYour Name  *  vdev_create_mlo_params_size() - Get MLO params size in vdev create
24*5113495bSYour Name  *  @param: pointer to vdev create request param
25*5113495bSYour Name  *  Return: size of MLO params in vdev create
26*5113495bSYour Name  */
27*5113495bSYour Name size_t vdev_create_mlo_params_size(struct vdev_create_params *param);
28*5113495bSYour Name /**
29*5113495bSYour Name  *  vdev_create_add_mlo_params() - Add MLO params in vdev create cmd
30*5113495bSYour Name  *  @buf_ptr: pointer to vdev create buffer.
31*5113495bSYour Name  *  @param: pointer to vdev create request param
32*5113495bSYour Name  *
33*5113495bSYour Name  *  Return: pointer to new offset of vdev create buffer
34*5113495bSYour Name  */
35*5113495bSYour Name uint8_t *vdev_create_add_mlo_params(uint8_t *buf_ptr,
36*5113495bSYour Name 				    struct vdev_create_params *param);
37*5113495bSYour Name /**
38*5113495bSYour Name  *  vdev_start_mlo_params_size() - Get MLO params size in vdev start
39*5113495bSYour Name  *  @req: Vdev start request params
40*5113495bSYour Name  *
41*5113495bSYour Name  *  Return: size of MLO params in vdev start
42*5113495bSYour Name  */
43*5113495bSYour Name size_t vdev_start_mlo_params_size(struct vdev_start_params *req);
44*5113495bSYour Name /**
45*5113495bSYour Name  *  vdev_start_add_mlo_params() - Add MLO params in vdev start cmd
46*5113495bSYour Name  *  @buf_ptr: pointer to vdev start buffer.
47*5113495bSYour Name  *  @req: pointer to vdev create request param
48*5113495bSYour Name  *
49*5113495bSYour Name  *  Return: pointer to new offset of cmd buffer
50*5113495bSYour Name  */
51*5113495bSYour Name uint8_t *vdev_start_add_mlo_params(uint8_t *buf_ptr,
52*5113495bSYour Name 				   struct vdev_start_params *req);
53*5113495bSYour Name /**
54*5113495bSYour Name  *  vdev_start_add_ml_partner_links() - Add MLO partner links in vdev start cmd
55*5113495bSYour Name  *  @buf_ptr: pointer to vdev start cmd buffer.
56*5113495bSYour Name  *  @req: pointer to vdev start request param
57*5113495bSYour Name  *
58*5113495bSYour Name  *  Return: pointer to new offset of cmd buffer
59*5113495bSYour Name  */
60*5113495bSYour Name uint8_t *vdev_start_add_ml_partner_links(uint8_t *buf_ptr,
61*5113495bSYour Name 					 struct vdev_start_params *req);
62*5113495bSYour Name /**
63*5113495bSYour Name  * bcn_tmpl_mlo_param_size() - Get ML param size in beacon template
64*5113495bSYour Name  * @param: Pointer to beacon template param
65*5113495bSYour Name  *
66*5113495bSYour Name  * Return: size of ML params in beacon template
67*5113495bSYour Name  */
68*5113495bSYour Name size_t bcn_tmpl_mlo_param_size(struct beacon_tmpl_params *param);
69*5113495bSYour Name 
70*5113495bSYour Name /**
71*5113495bSYour Name  * bcn_tmpl_add_ml_partner_links - Add MLO partner links in beacon template
72*5113495bSYour Name  *                                 command
73*5113495bSYour Name  * @buf_ptr: pointer to beacon cmd buffer.
74*5113495bSYour Name  * @param: pointer to beacon template params
75*5113495bSYour Name  *
76*5113495bSYour Name  * Return: pointer to new offset of cmd buffer
77*5113495bSYour Name  */
78*5113495bSYour Name uint8_t *bcn_tmpl_add_ml_partner_links(uint8_t *buf_ptr,
79*5113495bSYour Name 				       struct beacon_tmpl_params *param);
80*5113495bSYour Name 
81*5113495bSYour Name /**
82*5113495bSYour Name  * bcn_tmpl_ml_info_size() - Get ML info size in beacon template
83*5113495bSYour Name  * @param: Pointer to beacon template param
84*5113495bSYour Name  *
85*5113495bSYour Name  * Return: size of ML info in beacon template
86*5113495bSYour Name  */
87*5113495bSYour Name size_t bcn_tmpl_ml_info_size(struct beacon_tmpl_params *param);
88*5113495bSYour Name 
89*5113495bSYour Name /**
90*5113495bSYour Name  * bcn_tmpl_add_ml_info() - Add MLO info to update Critical Update info in
91*5113495bSYour Name  *                                 beacon template command
92*5113495bSYour Name  * @buf_ptr: pointer to beacon cmd buffer.
93*5113495bSYour Name  * @param: pointer to beacon template params
94*5113495bSYour Name  *
95*5113495bSYour Name  * Return: pointer to new offset of cmd buffer
96*5113495bSYour Name  */
97*5113495bSYour Name uint8_t *bcn_tmpl_add_ml_info(uint8_t *buf_ptr,
98*5113495bSYour Name 			      struct beacon_tmpl_params *param);
99*5113495bSYour Name /**
100*5113495bSYour Name  * prb_resp_tmpl_ml_info_size() - Get ML info size in 20TU probe resp template
101*5113495bSYour Name  * @param: Pointer to 20TU probe response template param
102*5113495bSYour Name  *
103*5113495bSYour Name  * Return: size of ML info in 20TU probe response template
104*5113495bSYour Name  */
105*5113495bSYour Name size_t prb_resp_tmpl_ml_info_size(struct wmi_probe_resp_params *param);
106*5113495bSYour Name 
107*5113495bSYour Name /**
108*5113495bSYour Name  * prb_resp_tmpl_add_ml_info() - Add MLO info to update Critical Update info in
109*5113495bSYour Name  *                             20TU probe response template command
110*5113495bSYour Name  * @buf_ptr: pointer to 20TU probe response cmd buffer.
111*5113495bSYour Name  * @param: pointer to 20TU probe response template params
112*5113495bSYour Name  *
113*5113495bSYour Name  * Return: pointer to new offset of cmd buffer
114*5113495bSYour Name  */
115*5113495bSYour Name uint8_t *prb_resp_tmpl_add_ml_info(uint8_t *buf_ptr,
116*5113495bSYour Name 				   struct wmi_probe_resp_params *param);
117*5113495bSYour Name /**
118*5113495bSYour Name  *  peer_create_add_mlo_params() - Add MLO params in peer create cmd
119*5113495bSYour Name  *  @buf_ptr: pointer to peer create cmd buffer.
120*5113495bSYour Name  *  @req: pointer to peer create request param
121*5113495bSYour Name  *
122*5113495bSYour Name  *  Return: pointer to new offset of cmd buffer
123*5113495bSYour Name  */
124*5113495bSYour Name uint8_t *peer_create_add_mlo_params(uint8_t *buf_ptr,
125*5113495bSYour Name 				    struct peer_create_params *req);
126*5113495bSYour Name /**
127*5113495bSYour Name  *  peer_create_mlo_params_size() - Get ML params size in peer create
128*5113495bSYour Name  *  @req: pointer to peer create request param
129*5113495bSYour Name  *
130*5113495bSYour Name  *  Return: size of ML params in peer create cmd
131*5113495bSYour Name  */
132*5113495bSYour Name size_t peer_create_mlo_params_size(struct peer_create_params *req);
133*5113495bSYour Name /**
134*5113495bSYour Name  *  peer_assoc_mlo_params_size() - Get ML params size in peer assoc
135*5113495bSYour Name  *  @req: pointer to peer assoc request param
136*5113495bSYour Name  *
137*5113495bSYour Name  *  Return: size of ML params in peer assoc cmd
138*5113495bSYour Name  */
139*5113495bSYour Name size_t peer_assoc_mlo_params_size(struct peer_assoc_params *req);
140*5113495bSYour Name /**
141*5113495bSYour Name  *  peer_assoc_add_mlo_params() - Add MLO params in peer assoc cmd
142*5113495bSYour Name  *  @buf_ptr: pointer to peer assoc cmd buffer.
143*5113495bSYour Name  *  @req: pointer to peer assoc request param
144*5113495bSYour Name  *
145*5113495bSYour Name  *  Return: pointer to new offset of cmd buffer
146*5113495bSYour Name  */
147*5113495bSYour Name uint8_t *peer_assoc_add_mlo_params(uint8_t *buf_ptr,
148*5113495bSYour Name 				   struct peer_assoc_params *req);
149*5113495bSYour Name /**
150*5113495bSYour Name  *  peer_assoc_add_ml_partner_links() - Add MLO partner links in peer assoc cmd
151*5113495bSYour Name  *  @buf_ptr: pointer to peer assoc cmd buffer.
152*5113495bSYour Name  *  @req: pointer to peer assoc request param
153*5113495bSYour Name  *
154*5113495bSYour Name  *  Return: pointer to new offset of cmd buffer
155*5113495bSYour Name  */
156*5113495bSYour Name uint8_t *peer_assoc_add_ml_partner_links(uint8_t *buf_ptr,
157*5113495bSYour Name 					 struct peer_assoc_params *req);
158*5113495bSYour Name /**
159*5113495bSYour Name  * peer_assoc_t2lm_params_size() - Get T2LM param size in peer assoc
160*5113495bSYour Name  * @req: pointer to peer create request param
161*5113495bSYour Name  *
162*5113495bSYour Name  *  Return: size of ML params in peer create cmd
163*5113495bSYour Name  */
164*5113495bSYour Name size_t peer_assoc_t2lm_params_size(struct peer_assoc_params *req);
165*5113495bSYour Name /**
166*5113495bSYour Name  *  peer_assoc_add_tid_to_link_map() - Add TID-to-link mapping in peer assoc cmd
167*5113495bSYour Name  *  @buf_ptr: pointer to peer assoc cmd buffer.
168*5113495bSYour Name  *  @req: pointer to peer assoc request param
169*5113495bSYour Name  *
170*5113495bSYour Name  *  Return: pointer to new offset of cmd buffer
171*5113495bSYour Name  */
172*5113495bSYour Name uint8_t *peer_assoc_add_tid_to_link_map(uint8_t *buf_ptr,
173*5113495bSYour Name 					struct peer_assoc_params *req);
174*5113495bSYour Name 
175*5113495bSYour Name /**
176*5113495bSYour Name  *  peer_delete_mlo_params_size() - Get MLO params size in pdev delete
177*5113495bSYour Name  *  @req: peer delete request params
178*5113495bSYour Name  *
179*5113495bSYour Name  *  Return: size of MLO params in vdev start
180*5113495bSYour Name  */
181*5113495bSYour Name size_t peer_delete_mlo_params_size(struct peer_delete_cmd_params *req);
182*5113495bSYour Name 
183*5113495bSYour Name /**
184*5113495bSYour Name  *  peer_delete_add_mlo_params() - Add MLO params in peer delete cmd
185*5113495bSYour Name  *  @buf_ptr: pointer to peer delete cmd  buffer.
186*5113495bSYour Name  *  @req: pointer to peer delete request param
187*5113495bSYour Name  *
188*5113495bSYour Name  *  Return: pointer to new offset of cmd buffer
189*5113495bSYour Name  */
190*5113495bSYour Name uint8_t *peer_delete_add_mlo_params(uint8_t *buf_ptr,
191*5113495bSYour Name 				    struct peer_delete_cmd_params *req);
192*5113495bSYour Name 
193*5113495bSYour Name /**
194*5113495bSYour Name  * vdev_stop_mlo_params_size() - Get MLO params size in vdev stop
195*5113495bSYour Name  * @params: VDEV stop request params
196*5113495bSYour Name  *
197*5113495bSYour Name  * Return: size of MLO params in VDEV stop
198*5113495bSYour Name  */
199*5113495bSYour Name size_t vdev_stop_mlo_params_size(struct vdev_stop_params *params);
200*5113495bSYour Name 
201*5113495bSYour Name /**
202*5113495bSYour Name  * vdev_stop_add_mlo_params() - Add MLO params in VDEV stop cmd
203*5113495bSYour Name  * @buf_ptr: Pointer to VDEV stop cmd buffer.
204*5113495bSYour Name  * @params: VDEV stop request params
205*5113495bSYour Name  *
206*5113495bSYour Name  * Return: Pointer to new offset of cmd buffer.
207*5113495bSYour Name  */
208*5113495bSYour Name uint8_t *vdev_stop_add_mlo_params(uint8_t *buf_ptr,
209*5113495bSYour Name 				  struct vdev_stop_params *params);
210*5113495bSYour Name 
211*5113495bSYour Name /** wmi_11be_tlv_attach_tlv - Attach 11be relaated callbacks
212*5113495bSYour Name  *  @wmi_handle: WMI handle
213*5113495bSYour Name  */
214*5113495bSYour Name void wmi_11be_attach_tlv(wmi_unified_t wmi_handle);
215*5113495bSYour Name 
216*5113495bSYour Name /**
217*5113495bSYour Name  * extract_mgmt_rx_mlo_link_removal_tlv_count() - Extract the number of link
218*5113495bSYour Name  * removal TLVs from MGMT Rx event
219*5113495bSYour Name  * @num_link_removal_tlvs: Number of link removal TLVs
220*5113495bSYour Name  * @hdr: MGMT Rx event parameters to be populated
221*5113495bSYour Name  *
222*5113495bSYour Name  * Return: None
223*5113495bSYour Name  */
224*5113495bSYour Name static inline void
extract_mgmt_rx_mlo_link_removal_tlv_count(int num_link_removal_tlvs,struct mgmt_rx_event_params * hdr)225*5113495bSYour Name extract_mgmt_rx_mlo_link_removal_tlv_count(
226*5113495bSYour Name 	int num_link_removal_tlvs,
227*5113495bSYour Name 	struct mgmt_rx_event_params *hdr)
228*5113495bSYour Name {
229*5113495bSYour Name 	hdr->num_link_removal_info = num_link_removal_tlvs;
230*5113495bSYour Name }
231*5113495bSYour Name #else
vdev_create_add_mlo_params(uint8_t * buf_ptr,struct vdev_create_params * param)232*5113495bSYour Name static uint8_t *vdev_create_add_mlo_params(uint8_t *buf_ptr,
233*5113495bSYour Name 					   struct vdev_create_params *param)
234*5113495bSYour Name {
235*5113495bSYour Name 	WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC, 0);
236*5113495bSYour Name 	return buf_ptr + WMI_TLV_HDR_SIZE;
237*5113495bSYour Name }
238*5113495bSYour Name 
vdev_create_mlo_params_size(struct vdev_create_params * param)239*5113495bSYour Name static size_t vdev_create_mlo_params_size(struct vdev_create_params *param)
240*5113495bSYour Name {
241*5113495bSYour Name 	return WMI_TLV_HDR_SIZE;
242*5113495bSYour Name }
243*5113495bSYour Name 
vdev_start_add_mlo_params(uint8_t * buf_ptr,struct vdev_start_params * req)244*5113495bSYour Name static uint8_t *vdev_start_add_mlo_params(uint8_t *buf_ptr,
245*5113495bSYour Name 					  struct vdev_start_params *req)
246*5113495bSYour Name {
247*5113495bSYour Name 	WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC, 0);
248*5113495bSYour Name 	return buf_ptr + WMI_TLV_HDR_SIZE;
249*5113495bSYour Name }
250*5113495bSYour Name 
vdev_start_mlo_params_size(struct vdev_start_params * req)251*5113495bSYour Name static size_t vdev_start_mlo_params_size(struct vdev_start_params *req)
252*5113495bSYour Name {
253*5113495bSYour Name 	return WMI_TLV_HDR_SIZE;
254*5113495bSYour Name }
255*5113495bSYour Name 
vdev_start_add_ml_partner_links(uint8_t * buf_ptr,struct vdev_start_params * req)256*5113495bSYour Name static uint8_t *vdev_start_add_ml_partner_links(uint8_t *buf_ptr,
257*5113495bSYour Name 						struct vdev_start_params *req)
258*5113495bSYour Name {
259*5113495bSYour Name 	WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC, 0);
260*5113495bSYour Name 	return buf_ptr + WMI_TLV_HDR_SIZE;
261*5113495bSYour Name }
262*5113495bSYour Name 
bcn_tmpl_mlo_param_size(struct beacon_tmpl_params * param)263*5113495bSYour Name static size_t bcn_tmpl_mlo_param_size(struct beacon_tmpl_params *param)
264*5113495bSYour Name {
265*5113495bSYour Name 	return WMI_TLV_HDR_SIZE;
266*5113495bSYour Name }
267*5113495bSYour Name 
bcn_tmpl_add_ml_partner_links(uint8_t * buf_ptr,struct beacon_tmpl_params * param)268*5113495bSYour Name static uint8_t *bcn_tmpl_add_ml_partner_links(uint8_t *buf_ptr,
269*5113495bSYour Name 					      struct beacon_tmpl_params *param)
270*5113495bSYour Name {
271*5113495bSYour Name 	WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC, 0);
272*5113495bSYour Name 	return buf_ptr + WMI_TLV_HDR_SIZE;
273*5113495bSYour Name }
274*5113495bSYour Name 
bcn_tmpl_ml_info_size(struct beacon_tmpl_params * param)275*5113495bSYour Name static size_t bcn_tmpl_ml_info_size(struct beacon_tmpl_params *param)
276*5113495bSYour Name {
277*5113495bSYour Name 	return WMI_TLV_HDR_SIZE;
278*5113495bSYour Name }
279*5113495bSYour Name 
bcn_tmpl_add_ml_info(uint8_t * buf_ptr,struct beacon_tmpl_params * param)280*5113495bSYour Name static uint8_t *bcn_tmpl_add_ml_info(uint8_t *buf_ptr,
281*5113495bSYour Name 				     struct beacon_tmpl_params *param)
282*5113495bSYour Name {
283*5113495bSYour Name 	WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC, 0);
284*5113495bSYour Name 	return buf_ptr + WMI_TLV_HDR_SIZE;
285*5113495bSYour Name }
286*5113495bSYour Name 
prb_resp_tmpl_ml_info_size(struct wmi_probe_resp_params * param)287*5113495bSYour Name static size_t prb_resp_tmpl_ml_info_size(struct wmi_probe_resp_params *param)
288*5113495bSYour Name {
289*5113495bSYour Name 	return WMI_TLV_HDR_SIZE;
290*5113495bSYour Name }
291*5113495bSYour Name 
prb_resp_tmpl_add_ml_info(uint8_t * buf_ptr,struct wmi_probe_resp_params * param)292*5113495bSYour Name static uint8_t *prb_resp_tmpl_add_ml_info(uint8_t *buf_ptr,
293*5113495bSYour Name 					  struct wmi_probe_resp_params *param)
294*5113495bSYour Name {
295*5113495bSYour Name 	WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC, 0);
296*5113495bSYour Name 	return buf_ptr + WMI_TLV_HDR_SIZE;
297*5113495bSYour Name }
298*5113495bSYour Name 
peer_create_add_mlo_params(uint8_t * buf_ptr,struct peer_create_params * req)299*5113495bSYour Name static uint8_t *peer_create_add_mlo_params(uint8_t *buf_ptr,
300*5113495bSYour Name 					  struct peer_create_params *req)
301*5113495bSYour Name {
302*5113495bSYour Name 	WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC, 0);
303*5113495bSYour Name 	return buf_ptr + WMI_TLV_HDR_SIZE;
304*5113495bSYour Name }
305*5113495bSYour Name 
peer_create_mlo_params_size(struct peer_create_params * req)306*5113495bSYour Name static size_t peer_create_mlo_params_size(struct peer_create_params *req)
307*5113495bSYour Name {
308*5113495bSYour Name 	return WMI_TLV_HDR_SIZE;
309*5113495bSYour Name }
310*5113495bSYour Name 
peer_assoc_mlo_params_size(struct peer_assoc_params * req)311*5113495bSYour Name static size_t peer_assoc_mlo_params_size(struct peer_assoc_params *req)
312*5113495bSYour Name {
313*5113495bSYour Name 	size_t peer_assoc_mlo_size =
314*5113495bSYour Name 			WMI_TLV_HDR_SIZE +
315*5113495bSYour Name 			WMI_TLV_HDR_SIZE;
316*5113495bSYour Name 
317*5113495bSYour Name 	return peer_assoc_mlo_size;
318*5113495bSYour Name }
319*5113495bSYour Name 
peer_assoc_add_mlo_params(uint8_t * buf_ptr,struct peer_assoc_params * req)320*5113495bSYour Name static uint8_t *peer_assoc_add_mlo_params(uint8_t *buf_ptr,
321*5113495bSYour Name 					  struct peer_assoc_params *req)
322*5113495bSYour Name {
323*5113495bSYour Name 	WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC, 0);
324*5113495bSYour Name 	return buf_ptr + WMI_TLV_HDR_SIZE;
325*5113495bSYour Name }
326*5113495bSYour Name 
peer_assoc_add_ml_partner_links(uint8_t * buf_ptr,struct peer_assoc_params * req)327*5113495bSYour Name static uint8_t *peer_assoc_add_ml_partner_links(uint8_t *buf_ptr,
328*5113495bSYour Name 						struct peer_assoc_params *req)
329*5113495bSYour Name {
330*5113495bSYour Name 	WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC, 0);
331*5113495bSYour Name 	return buf_ptr + WMI_TLV_HDR_SIZE;
332*5113495bSYour Name }
333*5113495bSYour Name 
peer_assoc_t2lm_params_size(struct peer_assoc_params * req)334*5113495bSYour Name static size_t peer_assoc_t2lm_params_size(struct peer_assoc_params *req)
335*5113495bSYour Name {
336*5113495bSYour Name 	return WMI_TLV_HDR_SIZE;
337*5113495bSYour Name }
338*5113495bSYour Name 
peer_assoc_add_tid_to_link_map(uint8_t * buf_ptr,struct peer_assoc_params * req)339*5113495bSYour Name static uint8_t *peer_assoc_add_tid_to_link_map(uint8_t *buf_ptr,
340*5113495bSYour Name 					       struct peer_assoc_params *req)
341*5113495bSYour Name {
342*5113495bSYour Name 	WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC, 0);
343*5113495bSYour Name 	return buf_ptr + WMI_TLV_HDR_SIZE;
344*5113495bSYour Name }
345*5113495bSYour Name 
peer_delete_mlo_params_size(struct peer_delete_cmd_params * req)346*5113495bSYour Name static size_t peer_delete_mlo_params_size(struct peer_delete_cmd_params *req)
347*5113495bSYour Name {
348*5113495bSYour Name 	return WMI_TLV_HDR_SIZE;
349*5113495bSYour Name }
350*5113495bSYour Name 
peer_delete_add_mlo_params(uint8_t * buf_ptr,struct peer_delete_cmd_params * req)351*5113495bSYour Name static uint8_t *peer_delete_add_mlo_params(uint8_t *buf_ptr,
352*5113495bSYour Name 					   struct peer_delete_cmd_params *req)
353*5113495bSYour Name {
354*5113495bSYour Name 	WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC, 0);
355*5113495bSYour Name 	return buf_ptr + WMI_TLV_HDR_SIZE;
356*5113495bSYour Name }
357*5113495bSYour Name 
vdev_stop_mlo_params_size(struct vdev_stop_params * params)358*5113495bSYour Name static inline size_t vdev_stop_mlo_params_size(struct vdev_stop_params *params)
359*5113495bSYour Name {
360*5113495bSYour Name 	return WMI_TLV_HDR_SIZE;
361*5113495bSYour Name }
362*5113495bSYour Name 
vdev_stop_add_mlo_params(uint8_t * buf_ptr,struct vdev_stop_params * params)363*5113495bSYour Name static inline uint8_t *vdev_stop_add_mlo_params(uint8_t *buf_ptr,
364*5113495bSYour Name 						struct vdev_stop_params *params)
365*5113495bSYour Name {
366*5113495bSYour Name 	WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC, 0);
367*5113495bSYour Name 	return buf_ptr + WMI_TLV_HDR_SIZE;
368*5113495bSYour Name }
369*5113495bSYour Name 
wmi_11be_attach_tlv(wmi_unified_t wmi_handle)370*5113495bSYour Name static void wmi_11be_attach_tlv(wmi_unified_t wmi_handle)
371*5113495bSYour Name { }
372*5113495bSYour Name 
373*5113495bSYour Name static inline void
extract_mgmt_rx_mlo_link_removal_tlv_count(int num_link_removal_tlvs,struct mgmt_rx_event_params * hdr)374*5113495bSYour Name extract_mgmt_rx_mlo_link_removal_tlv_count(
375*5113495bSYour Name 	int num_link_removal_tlvs,
376*5113495bSYour Name 	struct mgmt_rx_event_params *hdr)
377*5113495bSYour Name {
378*5113495bSYour Name }
379*5113495bSYour Name #endif /*WLAN_FEATURE_11BE_MLO*/
380*5113495bSYour Name #endif /*_WMI_UNIFIED_11BE_TLV_H_*/
381