| .. | .. |
|---|
| 7 | 7 | * |
|---|
| 8 | 8 | * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved. |
|---|
| 9 | 9 | * Copyright(c) 2013 - 2014 Intel Mobile Communications GmbH |
|---|
| 10 | + * Copyright (C) 2019 - 2020 Intel Corporation |
|---|
| 10 | 11 | * |
|---|
| 11 | 12 | * This program is free software; you can redistribute it and/or modify |
|---|
| 12 | 13 | * it under the terms of version 2 of the GNU General Public License as |
|---|
| .. | .. |
|---|
| 16 | 17 | * WITHOUT ANY WARRANTY; without even the implied warranty of |
|---|
| 17 | 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|---|
| 18 | 19 | * General Public License for more details. |
|---|
| 19 | | - * |
|---|
| 20 | | - * You should have received a copy of the GNU General Public License |
|---|
| 21 | | - * along with this program; if not, write to the Free Software |
|---|
| 22 | | - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, |
|---|
| 23 | | - * USA |
|---|
| 24 | 20 | * |
|---|
| 25 | 21 | * The full GNU General Public License is included in this distribution |
|---|
| 26 | 22 | * in the file called COPYING. |
|---|
| .. | .. |
|---|
| 33 | 29 | * |
|---|
| 34 | 30 | * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved. |
|---|
| 35 | 31 | * Copyright(c) 2013 - 2014 Intel Mobile Communications GmbH |
|---|
| 32 | + * Copyright (C) 2019 - 2020 Intel Corporation |
|---|
| 36 | 33 | * All rights reserved. |
|---|
| 37 | 34 | * |
|---|
| 38 | 35 | * Redistribution and use in source and binary forms, with or without |
|---|
| .. | .. |
|---|
| 183 | 180 | /** |
|---|
| 184 | 181 | * iwl_mvm_stop_roc - stop remain on channel functionality |
|---|
| 185 | 182 | * @mvm: the mvm component |
|---|
| 183 | + * @vif: the virtual interface for which the roc is stopped |
|---|
| 186 | 184 | * |
|---|
| 187 | 185 | * This function can be used to cancel an ongoing ROC session. |
|---|
| 188 | 186 | * The function is async, it will instruct the FW to stop serving the ROC |
|---|
| 189 | 187 | * session, but will not wait for the actual stopping of the session. |
|---|
| 190 | 188 | */ |
|---|
| 191 | | -void iwl_mvm_stop_roc(struct iwl_mvm *mvm); |
|---|
| 189 | +void iwl_mvm_stop_roc(struct iwl_mvm *mvm, struct ieee80211_vif *vif); |
|---|
| 192 | 190 | |
|---|
| 193 | 191 | /** |
|---|
| 194 | 192 | * iwl_mvm_remove_time_event - general function to clean up of time event |
|---|
| .. | .. |
|---|
| 218 | 216 | void iwl_mvm_cleanup_roc_te(struct iwl_mvm *mvm); |
|---|
| 219 | 217 | void iwl_mvm_roc_done_wk(struct work_struct *wk); |
|---|
| 220 | 218 | |
|---|
| 219 | +void iwl_mvm_remove_csa_period(struct iwl_mvm *mvm, |
|---|
| 220 | + struct ieee80211_vif *vif); |
|---|
| 221 | + |
|---|
| 221 | 222 | /** |
|---|
| 222 | 223 | * iwl_mvm_schedule_csa_period - request channel switch absence period |
|---|
| 223 | 224 | * @mvm: the mvm component |
|---|
| .. | .. |
|---|
| 247 | 248 | return !!te_data->uid; |
|---|
| 248 | 249 | } |
|---|
| 249 | 250 | |
|---|
| 251 | +/** |
|---|
| 252 | + * iwl_mvm_schedule_session_protection - schedule a session protection |
|---|
| 253 | + * @mvm: the mvm component |
|---|
| 254 | + * @vif: the virtual interface for which the protection issued |
|---|
| 255 | + * @duration: the duration of the protection |
|---|
| 256 | + * @wait_for_notif: if true, will block until the start of the protection |
|---|
| 257 | + */ |
|---|
| 258 | +void iwl_mvm_schedule_session_protection(struct iwl_mvm *mvm, |
|---|
| 259 | + struct ieee80211_vif *vif, |
|---|
| 260 | + u32 duration, u32 min_duration, |
|---|
| 261 | + bool wait_for_notif); |
|---|
| 262 | + |
|---|
| 263 | +/** |
|---|
| 264 | + * iwl_mvm_rx_session_protect_notif - handles %SESSION_PROTECTION_NOTIF |
|---|
| 265 | + */ |
|---|
| 266 | +void iwl_mvm_rx_session_protect_notif(struct iwl_mvm *mvm, |
|---|
| 267 | + struct iwl_rx_cmd_buffer *rxb); |
|---|
| 268 | + |
|---|
| 250 | 269 | #endif /* __time_event_h__ */ |
|---|