1 /* 2 * Copyright (c) 2018-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 * 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 #ifdef WLAN_SUPPORT_BCAST_TWT 93 QDF_STATUS wmi_unified_twt_btwt_invite_sta_cmd( 94 wmi_unified_t wmi_handle, 95 struct wmi_twt_btwt_invite_sta_cmd_param *params) 96 { 97 if (wmi_handle->ops->send_twt_btwt_invite_sta_cmd) 98 return wmi_handle->ops->send_twt_btwt_invite_sta_cmd( 99 wmi_handle, params); 100 101 return QDF_STATUS_E_FAILURE; 102 } 103 104 QDF_STATUS wmi_unified_twt_btwt_remove_sta_cmd( 105 wmi_unified_t wmi_handle, 106 struct wmi_twt_btwt_remove_sta_cmd_param *params) 107 { 108 if (wmi_handle->ops->send_twt_btwt_remove_sta_cmd) 109 return wmi_handle->ops->send_twt_btwt_remove_sta_cmd( 110 wmi_handle, params); 111 112 return QDF_STATUS_E_FAILURE; 113 } 114 #endif 115 116 QDF_STATUS wmi_extract_twt_enable_comp_event( 117 wmi_unified_t wmi_handle, 118 uint8_t *evt_buf, 119 struct wmi_twt_enable_complete_event_param *params) 120 { 121 if (wmi_handle->ops->extract_twt_enable_comp_event) 122 return wmi_handle->ops->extract_twt_enable_comp_event( 123 wmi_handle, evt_buf, params); 124 125 return QDF_STATUS_E_FAILURE; 126 } 127 128 QDF_STATUS wmi_extract_twt_disable_comp_event( 129 wmi_unified_t wmi_handle, 130 uint8_t *evt_buf, 131 struct wmi_twt_disable_complete_event *params) 132 { 133 if (wmi_handle->ops->extract_twt_disable_comp_event) 134 return wmi_handle->ops->extract_twt_disable_comp_event( 135 wmi_handle, evt_buf, params); 136 137 return QDF_STATUS_E_FAILURE; 138 } 139 140 QDF_STATUS wmi_extract_twt_add_dialog_comp_event( 141 wmi_unified_t wmi_handle, 142 uint8_t *evt_buf, 143 struct wmi_twt_add_dialog_complete_event_param *params) 144 { 145 if (wmi_handle->ops->extract_twt_add_dialog_comp_event) 146 return wmi_handle->ops->extract_twt_add_dialog_comp_event( 147 wmi_handle, evt_buf, params); 148 149 return QDF_STATUS_E_FAILURE; 150 } 151 152 QDF_STATUS wmi_extract_twt_del_dialog_comp_event( 153 wmi_unified_t wmi_handle, 154 uint8_t *evt_buf, 155 struct wmi_twt_del_dialog_complete_event_param *params) 156 { 157 if (wmi_handle->ops->extract_twt_del_dialog_comp_event) 158 return wmi_handle->ops->extract_twt_del_dialog_comp_event( 159 wmi_handle, evt_buf, params); 160 161 return QDF_STATUS_E_FAILURE; 162 } 163 164 QDF_STATUS wmi_extract_twt_pause_dialog_comp_event( 165 wmi_unified_t wmi_handle, 166 uint8_t *evt_buf, 167 struct wmi_twt_pause_dialog_complete_event_param *params) 168 { 169 if (wmi_handle->ops->extract_twt_pause_dialog_comp_event) 170 return wmi_handle->ops->extract_twt_pause_dialog_comp_event( 171 wmi_handle, evt_buf, params); 172 173 return QDF_STATUS_E_FAILURE; 174 } 175 176 QDF_STATUS wmi_extract_twt_resume_dialog_comp_event( 177 wmi_unified_t wmi_handle, 178 uint8_t *evt_buf, 179 struct wmi_twt_resume_dialog_complete_event_param *params) 180 { 181 if (wmi_handle->ops->extract_twt_resume_dialog_comp_event) 182 return wmi_handle->ops->extract_twt_resume_dialog_comp_event( 183 wmi_handle, evt_buf, params); 184 185 return QDF_STATUS_E_FAILURE; 186 } 187 188 #ifdef WLAN_SUPPORT_BCAST_TWT 189 QDF_STATUS wmi_extract_twt_btwt_invite_sta_comp_event( 190 wmi_unified_t wmi_handle, 191 uint8_t *evt_buf, 192 struct wmi_twt_btwt_invite_sta_complete_event_param *params) 193 { 194 if (wmi_handle->ops->extract_twt_btwt_invite_sta_comp_event) 195 return wmi_handle->ops->extract_twt_btwt_invite_sta_comp_event( 196 wmi_handle, evt_buf, params); 197 198 return QDF_STATUS_E_FAILURE; 199 } 200 201 QDF_STATUS wmi_extract_twt_btwt_remove_sta_comp_event( 202 wmi_unified_t wmi_handle, 203 uint8_t *evt_buf, 204 struct wmi_twt_btwt_remove_sta_complete_event_param *params) 205 { 206 if (wmi_handle->ops->extract_twt_btwt_remove_sta_comp_event) 207 return wmi_handle->ops->extract_twt_btwt_remove_sta_comp_event( 208 wmi_handle, evt_buf, params); 209 210 return QDF_STATUS_E_FAILURE; 211 } 212 #endif 213