Lines Matching refs:te_data
85 struct iwl_mvm_time_event_data *te_data) in iwl_mvm_te_clear_data() argument
89 if (!te_data->vif) in iwl_mvm_te_clear_data()
92 list_del(&te_data->list); in iwl_mvm_te_clear_data()
93 te_data->running = false; in iwl_mvm_te_clear_data()
94 te_data->uid = 0; in iwl_mvm_te_clear_data()
95 te_data->id = TE_MAX; in iwl_mvm_te_clear_data()
96 te_data->vif = NULL; in iwl_mvm_te_clear_data()
199 struct iwl_mvm_time_event_data *te_data, in iwl_mvm_te_handle_notify_csa() argument
202 struct ieee80211_vif *vif = te_data->vif; in iwl_mvm_te_handle_notify_csa()
208 switch (te_data->vif->type) { in iwl_mvm_te_handle_notify_csa()
220 iwl_mvm_csa_client_absent(mvm, te_data->vif); in iwl_mvm_te_handle_notify_csa()
221 ieee80211_chswitch_done(te_data->vif, true); in iwl_mvm_te_handle_notify_csa()
230 iwl_mvm_te_clear_data(mvm, te_data); in iwl_mvm_te_handle_notify_csa()
235 struct iwl_mvm_time_event_data *te_data) in iwl_mvm_te_check_trigger() argument
247 if (!iwl_fw_dbg_trigger_check_stop(mvm, te_data->vif, trig)) in iwl_mvm_te_check_trigger()
257 if (trig_te_id != te_data->id || in iwl_mvm_te_check_trigger()
264 te_data->id, in iwl_mvm_te_check_trigger()
279 struct iwl_mvm_time_event_data *te_data, in iwl_mvm_te_handle_notif() argument
288 iwl_mvm_te_check_trigger(mvm, notif, te_data); in iwl_mvm_te_handle_notif()
308 if (iwl_mvm_te_check_disconnect(mvm, te_data->vif, msg)) { in iwl_mvm_te_handle_notif()
309 iwl_mvm_te_clear_data(mvm, te_data); in iwl_mvm_te_handle_notif()
317 jiffies, te_data->end_jiffies); in iwl_mvm_te_handle_notif()
319 switch (te_data->vif->type) { in iwl_mvm_te_handle_notif()
329 iwl_mvm_te_check_disconnect(mvm, te_data->vif, in iwl_mvm_te_handle_notif()
336 iwl_mvm_te_clear_data(mvm, te_data); in iwl_mvm_te_handle_notif()
338 te_data->running = true; in iwl_mvm_te_handle_notif()
339 te_data->end_jiffies = TU_TO_EXP_TIME(te_data->duration); in iwl_mvm_te_handle_notif()
341 if (te_data->vif->type == NL80211_IFTYPE_P2P_DEVICE) { in iwl_mvm_te_handle_notif()
345 } else if (te_data->id == TE_CHANNEL_SWITCH_PERIOD) { in iwl_mvm_te_handle_notif()
346 iwl_mvm_te_handle_notify_csa(mvm, te_data, notif); in iwl_mvm_te_handle_notif()
359 struct iwl_mvm_time_event_data *te_data, *tmp; in iwl_mvm_aux_roc_te_handle_notif() local
362 list_for_each_entry_safe(te_data, tmp, &mvm->aux_roc_te_list, list) { in iwl_mvm_aux_roc_te_handle_notif()
363 if (le32_to_cpu(notif->unique_id) == te_data->uid) { in iwl_mvm_aux_roc_te_handle_notif()
371 iwl_mvm_te_check_trigger(mvm, notif, te_data); in iwl_mvm_aux_roc_te_handle_notif()
390 list_del(&te_data->list); /* remove from list */ in iwl_mvm_aux_roc_te_handle_notif()
391 te_data->running = false; in iwl_mvm_aux_roc_te_handle_notif()
392 te_data->vif = NULL; in iwl_mvm_aux_roc_te_handle_notif()
393 te_data->uid = 0; in iwl_mvm_aux_roc_te_handle_notif()
394 te_data->id = TE_MAX; in iwl_mvm_aux_roc_te_handle_notif()
397 te_data->running = true; in iwl_mvm_aux_roc_te_handle_notif()
418 struct iwl_mvm_time_event_data *te_data, *tmp; in iwl_mvm_rx_time_event_notif() local
429 list_for_each_entry_safe(te_data, tmp, &mvm->time_event_list, list) { in iwl_mvm_rx_time_event_notif()
430 if (le32_to_cpu(notif->unique_id) == te_data->uid) in iwl_mvm_rx_time_event_notif()
431 iwl_mvm_te_handle_notif(mvm, te_data, notif); in iwl_mvm_rx_time_event_notif()
442 struct iwl_mvm_time_event_data *te_data = data; in iwl_mvm_te_notif() local
457 if (le32_to_cpu(resp->unique_id) != te_data->uid) in iwl_mvm_te_notif()
461 te_data->uid); in iwl_mvm_te_notif()
474 struct iwl_mvm_time_event_data *te_data = data; in iwl_mvm_time_event_response() local
489 if (WARN_ON_ONCE(le32_to_cpu(resp->id) != te_data->id)) in iwl_mvm_time_event_response()
492 te_data->uid = le32_to_cpu(resp->unique_id); in iwl_mvm_time_event_response()
494 te_data->uid); in iwl_mvm_time_event_response()
500 struct iwl_mvm_time_event_data *te_data, in iwl_mvm_time_event_send_add() argument
513 if (WARN_ON(te_data->id != TE_MAX)) { in iwl_mvm_time_event_send_add()
517 te_data->vif = vif; in iwl_mvm_time_event_send_add()
518 te_data->duration = le32_to_cpu(te_cmd->duration); in iwl_mvm_time_event_send_add()
519 te_data->id = le32_to_cpu(te_cmd->id); in iwl_mvm_time_event_send_add()
520 list_add_tail(&te_data->list, &mvm->time_event_list); in iwl_mvm_time_event_send_add()
535 iwl_mvm_time_event_response, te_data); in iwl_mvm_time_event_send_add()
553 iwl_mvm_te_clear_data(mvm, te_data); in iwl_mvm_time_event_send_add()
565 struct iwl_mvm_time_event_data *te_data = &mvmvif->time_event_data; in iwl_mvm_protect_session() local
572 if (te_data->running && in iwl_mvm_protect_session()
573 time_after(te_data->end_jiffies, TU_TO_EXP_TIME(min_duration))) { in iwl_mvm_protect_session()
575 jiffies_to_msecs(te_data->end_jiffies - jiffies)); in iwl_mvm_protect_session()
579 if (te_data->running) { in iwl_mvm_protect_session()
581 te_data->uid, in iwl_mvm_protect_session()
582 jiffies_to_msecs(te_data->end_jiffies - jiffies)); in iwl_mvm_protect_session()
612 iwl_mvm_time_event_send_add(mvm, vif, te_data, &time_cmd); in iwl_mvm_protect_session()
623 iwl_mvm_te_notif, te_data); in iwl_mvm_protect_session()
626 if (iwl_mvm_time_event_send_add(mvm, vif, te_data, &time_cmd)) { in iwl_mvm_protect_session()
636 struct iwl_mvm_time_event_data *te_data, in __iwl_mvm_remove_time_event() argument
648 *uid = te_data->uid; in __iwl_mvm_remove_time_event()
649 id = te_data->id; in __iwl_mvm_remove_time_event()
654 iwl_mvm_te_clear_data(mvm, te_data); in __iwl_mvm_remove_time_event()
678 struct iwl_mvm_time_event_data *te_data) in iwl_mvm_remove_aux_roc_te() argument
684 if (!__iwl_mvm_remove_time_event(mvm, te_data, &uid)) in iwl_mvm_remove_aux_roc_te()
707 struct iwl_mvm_time_event_data *te_data) in iwl_mvm_remove_time_event() argument
713 if (!__iwl_mvm_remove_time_event(mvm, te_data, &uid)) in iwl_mvm_remove_time_event()
733 struct iwl_mvm_time_event_data *te_data = &mvmvif->time_event_data; in iwl_mvm_stop_session_protection() local
736 iwl_mvm_remove_time_event(mvm, mvmvif, te_data); in iwl_mvm_stop_session_protection()
743 struct iwl_mvm_time_event_data *te_data = &mvmvif->time_event_data; in iwl_mvm_start_p2p_roc() local
747 if (te_data->running) { in iwl_mvm_start_p2p_roc()
791 return iwl_mvm_time_event_send_add(mvm, vif, te_data, &time_cmd); in iwl_mvm_start_p2p_roc()
797 struct iwl_mvm_time_event_data *te_data; in iwl_mvm_stop_roc() local
811 list_for_each_entry(te_data, &mvm->time_event_list, list) { in iwl_mvm_stop_roc()
812 if (te_data->vif->type == NL80211_IFTYPE_P2P_DEVICE) { in iwl_mvm_stop_roc()
813 mvmvif = iwl_mvm_vif_from_mac80211(te_data->vif); in iwl_mvm_stop_roc()
822 te_data = list_first_entry_or_null(&mvm->aux_roc_te_list, in iwl_mvm_stop_roc()
825 if (te_data) in iwl_mvm_stop_roc()
826 mvmvif = iwl_mvm_vif_from_mac80211(te_data->vif); in iwl_mvm_stop_roc()
837 iwl_mvm_remove_time_event(mvm, mvmvif, te_data); in iwl_mvm_stop_roc()
839 iwl_mvm_remove_aux_roc_te(mvm, mvmvif, te_data); in iwl_mvm_stop_roc()
849 struct iwl_mvm_time_event_data *te_data = &mvmvif->time_event_data; in iwl_mvm_schedule_csa_period() local
854 if (te_data->running) { in iwl_mvm_schedule_csa_period()
871 return iwl_mvm_time_event_send_add(mvm, vif, te_data, &time_cmd); in iwl_mvm_schedule_csa_period()