1 /*
2  * Copyright (c) 2021, The Linux Foundation. All rights reserved.
3  * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
4  *
5  * Permission to use, copy, modify, and/or distribute this software for any
6  * purpose with or without fee is hereby granted, provided that the above
7  * copyright notice and this permission notice appear in all copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16  */
17 
18 #ifndef _WMI_UNIFIED_11BE_SETUP_API_H_
19 #define _WMI_UNIFIED_11BE_SETUP_API_H_
20 
21 #include <wmi_unified_11be_param.h>
22 
23 #ifdef WLAN_FEATURE_11BE_MLO
24 /**
25  *  wmi_mlo_setup_cmd_send() - Send MLO setup command
26  *  @wmi_handle: WMI handle for this pdev
27  *  @params: MLO setup params
28  *
29  *  Return: QDF_STATUS code
30  */
31 QDF_STATUS wmi_mlo_setup_cmd_send(wmi_unified_t wmi_handle,
32 				  struct wmi_mlo_setup_params *params);
33 
34 /**
35  *  wmi_mlo_teardown_cmd_send() - Send MLO teardown command
36  *  @wmi_handle: WMI handle for this pdev
37  *  @params: MLO teardown params
38  *
39  *  Return: QDF_STATUS code
40  */
41 QDF_STATUS wmi_mlo_teardown_cmd_send(wmi_unified_t wmi_handle,
42 				     struct wmi_mlo_teardown_params *params);
43 
44 /**
45  *  wmi_mlo_ready_cmd_send() - Send MLO ready command
46  *  @wmi_handle: WMI handle for this pdev
47  *  @params: MLO ready params
48  *
49  *  Return: QDF_STATUS code
50  */
51 QDF_STATUS wmi_mlo_ready_cmd_send(wmi_unified_t wmi_handle,
52 				  struct wmi_mlo_ready_params *params);
53 
54 /**
55  *  wmi_extract_mlo_setup_cmpl_event() - Extract MLO setup completion event
56  *  @wmi_handle: WMI handle for this pdev
57  *  @buf: Event buffer
58  *  @params: MLO setup event params
59  *
60  *  Return: QDF_STATUS code
61  */
62 QDF_STATUS
63 wmi_extract_mlo_setup_cmpl_event(wmi_unified_t wmi_handle,
64 				 uint8_t *buf,
65 				 struct wmi_mlo_setup_complete_params *params);
66 
67 /**
68  *  wmi_extract_mlo_teardown_cmpl_event() - Extract MLO teardown completion
69  *  @wmi_handle: WMI handle for this pdev
70  *  @buf: Event buffer
71  *  @param: MLO teardown event params
72  *
73  *  Return: QDF_STATUS code
74  */
75 QDF_STATUS
76 wmi_extract_mlo_teardown_cmpl_event(wmi_unified_t wmi_handle,
77 				    uint8_t *buf,
78 				    struct wmi_mlo_teardown_cmpl_params *param);
79 #endif /*WLAN_FEATURE_11BE_MLO*/
80 #endif /*_WMI_UNIFIED_11BE_SETUP_API_H_*/
81