xref: /wlan-dirver/qca-wifi-host-cmn/wmi/src/wmi_unified_twt_api.c (revision 11f5a63a6cbdda84849a730de22f0a71e635d58c)
1 /*
2  * Copyright (c) 2018-2019 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  * DOC: Implement API's specific to TWT component.
20  */
21 
22 #include "wmi_unified_priv.h"
23 #include "wmi_unified_twt_api.h"
24 
25 
26 QDF_STATUS
27 wmi_unified_twt_enable_cmd(wmi_unified_t wmi_handle,
28 			   struct wmi_twt_enable_param *params)
29 {
30 	if (wmi_handle->ops->send_twt_enable_cmd)
31 		return wmi_handle->ops->send_twt_enable_cmd(
32 				wmi_handle, params);
33 
34 	return QDF_STATUS_E_FAILURE;
35 }
36 
37 QDF_STATUS
38 wmi_unified_twt_disable_cmd(wmi_unified_t wmi_handle,
39 			    struct wmi_twt_disable_param *params)
40 {
41 	if (wmi_handle->ops->send_twt_disable_cmd)
42 		return wmi_handle->ops->send_twt_disable_cmd(
43 				wmi_handle, params);
44 
45 	return QDF_STATUS_E_FAILURE;
46 }
47 
48 QDF_STATUS
49 wmi_unified_twt_add_dialog_cmd(wmi_unified_t wmi_handle,
50 			       struct wmi_twt_add_dialog_param *params)
51 {
52 	if (wmi_handle->ops->send_twt_add_dialog_cmd)
53 		return wmi_handle->ops->send_twt_add_dialog_cmd(
54 				wmi_handle, params);
55 
56 	return QDF_STATUS_E_FAILURE;
57 }
58 
59 QDF_STATUS
60 wmi_unified_twt_del_dialog_cmd(wmi_unified_t wmi_handle,
61 			       struct wmi_twt_del_dialog_param *params)
62 {
63 	if (wmi_handle->ops->send_twt_del_dialog_cmd)
64 		return wmi_handle->ops->send_twt_del_dialog_cmd(
65 				wmi_handle, params);
66 
67 	return QDF_STATUS_E_FAILURE;
68 }
69 
70 QDF_STATUS
71 wmi_unified_twt_pause_dialog_cmd(wmi_unified_t wmi_handle,
72 				 struct wmi_twt_pause_dialog_cmd_param *params)
73 {
74 	if (wmi_handle->ops->send_twt_pause_dialog_cmd)
75 		return wmi_handle->ops->send_twt_pause_dialog_cmd(
76 				wmi_handle, params);
77 
78 	return QDF_STATUS_E_FAILURE;
79 }
80 
81 QDF_STATUS wmi_unified_twt_resume_dialog_cmd(
82 			wmi_unified_t wmi_handle,
83 			struct wmi_twt_resume_dialog_cmd_param *params)
84 {
85 	if (wmi_handle->ops->send_twt_resume_dialog_cmd)
86 		return wmi_handle->ops->send_twt_resume_dialog_cmd(
87 				wmi_handle, params);
88 
89 	return QDF_STATUS_E_FAILURE;
90 }
91 
92 QDF_STATUS wmi_extract_twt_enable_comp_event(
93 			wmi_unified_t wmi_handle,
94 			uint8_t *evt_buf,
95 			struct wmi_twt_enable_complete_event_param *params)
96 {
97 	if (wmi_handle->ops->extract_twt_enable_comp_event)
98 		return wmi_handle->ops->extract_twt_enable_comp_event(
99 				wmi_handle, evt_buf, params);
100 
101 	return QDF_STATUS_E_FAILURE;
102 }
103 
104 QDF_STATUS wmi_extract_twt_disable_comp_event(
105 			wmi_unified_t wmi_handle,
106 			uint8_t *evt_buf,
107 			struct wmi_twt_disable_complete_event *params)
108 {
109 	if (wmi_handle->ops->extract_twt_disable_comp_event)
110 		return wmi_handle->ops->extract_twt_disable_comp_event(
111 				wmi_handle, evt_buf, params);
112 
113 	return QDF_STATUS_E_FAILURE;
114 }
115 
116 QDF_STATUS wmi_extract_twt_add_dialog_comp_event(
117 			wmi_unified_t wmi_handle,
118 			uint8_t *evt_buf,
119 			struct wmi_twt_add_dialog_complete_event_param *params)
120 {
121 	if (wmi_handle->ops->extract_twt_add_dialog_comp_event)
122 		return wmi_handle->ops->extract_twt_add_dialog_comp_event(
123 				wmi_handle, evt_buf, params);
124 
125 	return QDF_STATUS_E_FAILURE;
126 }
127 
128 QDF_STATUS wmi_extract_twt_del_dialog_comp_event(
129 		wmi_unified_t wmi_handle,
130 		uint8_t *evt_buf,
131 		struct wmi_twt_del_dialog_complete_event_param *params)
132 {
133 	if (wmi_handle->ops->extract_twt_del_dialog_comp_event)
134 		return wmi_handle->ops->extract_twt_del_dialog_comp_event(
135 				wmi_handle, evt_buf, params);
136 
137 	return QDF_STATUS_E_FAILURE;
138 }
139 
140 QDF_STATUS wmi_extract_twt_pause_dialog_comp_event(
141 		wmi_unified_t wmi_handle,
142 		uint8_t *evt_buf,
143 		struct wmi_twt_pause_dialog_complete_event_param *params)
144 {
145 	if (wmi_handle->ops->extract_twt_pause_dialog_comp_event)
146 		return wmi_handle->ops->extract_twt_pause_dialog_comp_event(
147 				wmi_handle, evt_buf, params);
148 
149 	return QDF_STATUS_E_FAILURE;
150 }
151 
152 QDF_STATUS wmi_extract_twt_resume_dialog_comp_event(
153 		wmi_unified_t wmi_handle,
154 		uint8_t *evt_buf,
155 		struct wmi_twt_resume_dialog_complete_event_param *params)
156 {
157 	if (wmi_handle->ops->extract_twt_resume_dialog_comp_event)
158 		return wmi_handle->ops->extract_twt_resume_dialog_comp_event(
159 				wmi_handle, evt_buf, params);
160 
161 	return QDF_STATUS_E_FAILURE;
162 }
163