Lines Matching defs:te_data

26 			   struct iwl_mvm_time_event_data *te_data)
30 if (!te_data || !te_data->vif)
33 list_del(&te_data->list);
39 INIT_LIST_HEAD(&te_data->list);
41 te_data->running = false;
42 te_data->uid = 0;
43 te_data->id = TE_MAX;
44 te_data->vif = NULL;
45 te_data->link_id = -1;
235 struct iwl_mvm_time_event_data *te_data,
238 struct ieee80211_vif *vif = te_data->vif;
244 switch (te_data->vif->type) {
256 iwl_mvm_csa_client_absent(mvm, te_data->vif);
258 ieee80211_chswitch_done(te_data->vif, true, 0);
267 iwl_mvm_te_clear_data(mvm, te_data);
272 struct iwl_mvm_time_event_data *te_data)
279 ieee80211_vif_to_wdev(te_data->vif),
293 if (trig_te_id != te_data->id ||
300 te_data->id,
311 * @te_data: the time event data
315 struct iwl_mvm_time_event_data *te_data,
324 iwl_mvm_te_check_trigger(mvm, notif, te_data);
344 if (iwl_mvm_te_check_disconnect(mvm, te_data->vif, msg)) {
345 iwl_mvm_te_clear_data(mvm, te_data);
353 jiffies, te_data->end_jiffies);
355 switch (te_data->vif->type) {
366 if (te_data->id == TE_CHANNEL_SWITCH_PERIOD) {
376 iwl_mvm_te_check_disconnect(mvm, te_data->vif,
377 !te_data->vif->cfg.assoc ?
385 iwl_mvm_te_clear_data(mvm, te_data);
387 te_data->running = true;
388 te_data->end_jiffies = TU_TO_EXP_TIME(te_data->duration);
390 if (te_data->vif->type == NL80211_IFTYPE_P2P_DEVICE) {
393 } else if (te_data->id == TE_CHANNEL_SWITCH_PERIOD) {
394 iwl_mvm_te_handle_notify_csa(mvm, te_data, notif);
460 struct iwl_mvm_time_event_data *aux_roc_te = NULL, *te_data;
462 list_for_each_entry(te_data, &mvm->aux_roc_te_list, list) {
463 if (le32_to_cpu(notif->unique_id) == te_data->uid) {
464 aux_roc_te = te_data;
471 iwl_mvm_te_check_trigger(mvm, notif, te_data);
483 list_del(&te_data->list); /* remove from list */
484 te_data->running = false;
485 te_data->vif = NULL;
486 te_data->uid = 0;
487 te_data->id = TE_MAX;
490 te_data->running = true;
510 struct iwl_mvm_time_event_data *te_data, *tmp;
521 list_for_each_entry_safe(te_data, tmp, &mvm->time_event_list, list) {
522 if (le32_to_cpu(notif->unique_id) == te_data->uid)
523 iwl_mvm_te_handle_notif(mvm, te_data, notif);
534 struct iwl_mvm_time_event_data *te_data = data;
548 /* te_data->uid is already set in the TIME_EVENT_CMD response */
549 if (le32_to_cpu(resp->unique_id) != te_data->uid)
553 te_data->uid);
566 struct iwl_mvm_time_event_data *te_data = data;
581 if (WARN_ON_ONCE(le32_to_cpu(resp->id) != te_data->id))
584 te_data->uid = le32_to_cpu(resp->unique_id);
586 te_data->uid);
592 struct iwl_mvm_time_event_data *te_data,
605 if (WARN_ON(te_data->id != TE_MAX)) {
609 te_data->vif = vif;
610 te_data->duration = le32_to_cpu(te_cmd->duration);
611 te_data->id = le32_to_cpu(te_cmd->id);
612 list_add_tail(&te_data->list, &mvm->time_event_list);
627 iwl_mvm_time_event_response, te_data);
645 iwl_mvm_te_clear_data(mvm, te_data);
657 struct iwl_mvm_time_event_data *te_data = &mvmvif->time_event_data;
664 if (te_data->running &&
665 time_after(te_data->end_jiffies, TU_TO_EXP_TIME(min_duration))) {
667 jiffies_to_msecs(te_data->end_jiffies - jiffies));
671 if (te_data->running) {
673 te_data->uid,
674 jiffies_to_msecs(te_data->end_jiffies - jiffies));
704 iwl_mvm_time_event_send_add(mvm, vif, te_data, &time_cmd);
715 iwl_mvm_te_notif, te_data);
718 if (iwl_mvm_time_event_send_add(mvm, vif, te_data, &time_cmd)) {
790 struct iwl_mvm_time_event_data *te_data,
794 struct ieee80211_vif *vif = te_data->vif;
805 mvmvif = iwl_mvm_vif_from_mac80211(te_data->vif);
806 iftype = te_data->vif->type;
815 *uid = te_data->uid;
816 id = te_data->id;
817 link_id = te_data->link_id;
822 iwl_mvm_te_clear_data(mvm, te_data);
836 /* When session protection is used, the te_data->id field
838 * For AUX ROC, HOT_SPOT_CMD is used and the te_data->id
872 struct iwl_mvm_time_event_data *te_data)
880 if (!__iwl_mvm_remove_time_event(mvm, te_data, &uid))
903 struct iwl_mvm_time_event_data *te_data)
909 if (!__iwl_mvm_remove_time_event(mvm, te_data, &uid))
929 struct iwl_mvm_time_event_data *te_data = &mvmvif->time_event_data;
935 id = te_data->id;
953 iwl_mvm_remove_time_event(mvm, mvmvif, te_data);
997 struct iwl_mvm_time_event_data *te_data =
1004 iwl_mvm_te_clear_data(mvm, te_data);
1010 te_data->running = le32_to_cpu(notif->start);
1011 te_data->end_jiffies =
1012 TU_TO_EXP_TIME(te_data->duration);
1024 iwl_mvm_te_clear_data(mvm, te_data);
1192 struct iwl_mvm_time_event_data *te_data = &mvmvif->time_event_data;
1196 if (te_data->running) {
1240 return iwl_mvm_time_event_send_add(mvm, vif, te_data, &time_cmd);
1245 struct iwl_mvm_time_event_data *te_data;
1258 list_for_each_entry(te_data, &mvm->time_event_list, list) {
1259 if (te_data->vif->type == NL80211_IFTYPE_P2P_DEVICE)
1266 te_data = list_first_entry_or_null(&mvm->aux_roc_te_list,
1271 return te_data;
1276 struct iwl_mvm_time_event_data *te_data;
1279 te_data = iwl_mvm_get_roc_te(mvm);
1280 if (te_data)
1281 __iwl_mvm_remove_time_event(mvm, te_data, &uid);
1287 struct iwl_mvm_time_event_data *te_data;
1303 te_data = &mvmvif->time_event_data;
1306 if (te_data->id >= SESSION_PROTECT_CONF_MAX_ID) {
1313 te_data->id,
1314 te_data->link_id);
1322 te_data = iwl_mvm_get_roc_te(mvm);
1323 if (!te_data) {
1329 mvmvif = iwl_mvm_vif_from_mac80211(te_data->vif);
1330 iftype = te_data->vif->type;
1332 iwl_mvm_remove_time_event(mvm, mvmvif, te_data);
1334 iwl_mvm_remove_aux_roc_te(mvm, mvmvif, te_data);
1355 struct iwl_mvm_time_event_data *te_data = &mvmvif->time_event_data;
1361 id = te_data->id;
1367 iwl_mvm_remove_time_event(mvm, mvmvif, te_data);
1375 struct iwl_mvm_time_event_data *te_data = &mvmvif->time_event_data;
1380 if (te_data->running) {
1384 id = te_data->id;
1397 iwl_mvm_remove_time_event(mvm, mvmvif, te_data);
1414 return iwl_mvm_time_event_send_add(mvm, vif, te_data, &time_cmd);
1450 struct iwl_mvm_time_event_data *te_data = &mvmvif->time_event_data;
1467 if (te_data->running && te_data->link_id == link_id &&
1468 time_after(te_data->end_jiffies, TU_TO_EXP_TIME(min_duration))) {
1470 jiffies_to_msecs(te_data->end_jiffies - jiffies));
1476 iwl_mvm_te_clear_data(mvm, te_data);
1481 te_data->id = le32_to_cpu(cmd.conf_id);
1482 te_data->duration = le32_to_cpu(cmd.duration_tu);
1483 te_data->vif = vif;
1484 te_data->link_id = link_id;
1520 iwl_mvm_te_clear_data(mvm, te_data);