Lines Matching refs:avp

156 	struct ath_vif *avp;  in ath_is_go_chanctx_present()  local
165 list_for_each_entry(avp, &ctx->vifs, list) { in ath_is_go_chanctx_present()
166 vif = avp->vif; in ath_is_go_chanctx_present()
233 struct ath_vif *avp; in ath_chanctx_check_active() local
262 list_for_each_entry(avp, &ctx->vifs, list) { in ath_chanctx_check_active()
263 struct ieee80211_vif *vif = avp->vif; in ath_chanctx_check_active()
268 if (avp->assoc) in ath_chanctx_check_active()
371 struct ath_vif *avp) in ath_chanctx_handle_bmiss() argument
380 avp->noa_duration = 0; in ath_chanctx_handle_bmiss()
389 avp->noa_duration = 0; in ath_chanctx_handle_bmiss()
396 struct ath_vif *avp, in ath_chanctx_offchannel_noa() argument
401 avp->noa_index++; in ath_chanctx_offchannel_noa()
402 avp->offchannel_start = tsf_time; in ath_chanctx_offchannel_noa()
403 avp->offchannel_duration = sc->sched.offchannel_duration; in ath_chanctx_offchannel_noa()
407 avp->offchannel_duration, in ath_chanctx_offchannel_noa()
408 avp->offchannel_start, in ath_chanctx_offchannel_noa()
409 avp->noa_index); in ath_chanctx_offchannel_noa()
416 if (ctx->active && avp->noa_duration) in ath_chanctx_offchannel_noa()
417 avp->noa_duration = 0; in ath_chanctx_offchannel_noa()
421 struct ath_vif *avp, in ath_chanctx_set_periodic_noa() argument
428 avp->noa_index++; in ath_chanctx_set_periodic_noa()
429 avp->noa_start = tsf_time; in ath_chanctx_set_periodic_noa()
432 avp->noa_duration = (3 * beacon_int / 2) + in ath_chanctx_set_periodic_noa()
435 avp->noa_duration = in ath_chanctx_set_periodic_noa()
441 avp->periodic_noa = false; in ath_chanctx_set_periodic_noa()
443 avp->periodic_noa = true; in ath_chanctx_set_periodic_noa()
447 avp->noa_duration, in ath_chanctx_set_periodic_noa()
448 avp->noa_start, in ath_chanctx_set_periodic_noa()
449 avp->noa_index, in ath_chanctx_set_periodic_noa()
450 avp->periodic_noa); in ath_chanctx_set_periodic_noa()
454 struct ath_vif *avp, in ath_chanctx_set_oneshot_noa() argument
460 avp->noa_index++; in ath_chanctx_set_oneshot_noa()
461 avp->noa_start = tsf_time; in ath_chanctx_set_oneshot_noa()
462 avp->periodic_noa = false; in ath_chanctx_set_oneshot_noa()
463 avp->oneshot_noa = true; in ath_chanctx_set_oneshot_noa()
464 avp->noa_duration = duration + sc->sched.channel_switch_time; in ath_chanctx_set_oneshot_noa()
468 avp->noa_duration, in ath_chanctx_set_oneshot_noa()
469 avp->noa_start, in ath_chanctx_set_oneshot_noa()
470 avp->noa_index, in ath_chanctx_set_oneshot_noa()
471 avp->periodic_noa); in ath_chanctx_set_oneshot_noa()
480 struct ath_vif *avp = NULL; in ath_chanctx_event() local
486 avp = (struct ath_vif *) vif->drv_priv; in ath_chanctx_event()
497 if (avp->offchannel_duration) in ath_chanctx_event()
498 avp->offchannel_duration = 0; in ath_chanctx_event()
500 if (avp->oneshot_noa) { in ath_chanctx_event()
501 avp->noa_duration = 0; in ath_chanctx_event()
502 avp->oneshot_noa = false; in ath_chanctx_event()
508 if (avp->chanctx != sc->cur_chan) { in ath_chanctx_event()
546 if (!ctx->active && avp->noa_duration && in ath_chanctx_event()
548 avp->noa_duration = 0; in ath_chanctx_event()
549 avp->periodic_noa = false; in ath_chanctx_event()
577 ath_chanctx_offchannel_noa(sc, ctx, avp, tsf_time); in ath_chanctx_event()
581 ath_chanctx_handle_bmiss(sc, ctx, avp); in ath_chanctx_event()
590 ath_chanctx_set_oneshot_noa(sc, avp, tsf_time, in ath_chanctx_event()
596 if (avp->noa_duration && tsf_time - avp->noa_start > BIT(30)) in ath_chanctx_event()
597 avp->noa_duration = 0; in ath_chanctx_event()
605 (!avp->noa_duration || sc->sched.force_noa_update)) in ath_chanctx_event()
606 ath_chanctx_set_periodic_noa(sc, avp, cur_conf, in ath_chanctx_event()
681 avp->chanctx != sc->cur_chan) in ath_chanctx_event()
1078 ath_chanctx_send_vif_ps_frame(struct ath_softc *sc, struct ath_vif *avp, in ath_chanctx_send_vif_ps_frame() argument
1081 struct ieee80211_vif *vif = avp->vif; in ath_chanctx_send_vif_ps_frame()
1090 if (!avp->assoc) in ath_chanctx_send_vif_ps_frame()
1127 struct ath_vif *avp; in ath_chanctx_send_ps_frame() local
1131 list_for_each_entry(avp, &sc->cur_chan->vifs, list) { in ath_chanctx_send_ps_frame()
1132 if (ath_chanctx_send_vif_ps_frame(sc, avp, powersave)) in ath_chanctx_send_ps_frame()
1402 static void ath9k_update_p2p_ps_timer(struct ath_softc *sc, struct ath_vif *avp) in ath9k_update_p2p_ps_timer() argument
1407 if (!avp || !avp->noa.has_next_tsf) in ath9k_update_p2p_ps_timer()
1414 target_tsf = avp->noa.next_tsf; in ath9k_update_p2p_ps_timer()
1415 if (!avp->noa.absent) in ath9k_update_p2p_ps_timer()
1426 struct ath_vif *avp = (void *)vif->drv_priv; in ath9k_update_p2p_ps() local
1435 sc->p2p_ps_vif = avp; in ath9k_update_p2p_ps()
1437 ieee80211_parse_p2p_noa(&vif->bss_conf.p2p_noa_attr, &avp->noa, tsf); in ath9k_update_p2p_ps()
1438 ath9k_update_p2p_ps_timer(sc, avp); in ath9k_update_p2p_ps()
1441 static u8 ath9k_get_ctwin(struct ath_softc *sc, struct ath_vif *avp) in ath9k_get_ctwin() argument
1455 ctwin = avp->vif->bss_conf.p2p_noa_attr.oppps_ctwindow; in ath9k_get_ctwin()
1465 void ath9k_beacon_add_noa(struct ath_softc *sc, struct ath_vif *avp, in ath9k_beacon_add_noa() argument
1482 if (!avp->offchannel_duration && !avp->noa_duration) in ath9k_beacon_add_noa()
1485 noa_desc = !!avp->offchannel_duration + !!avp->noa_duration; in ath9k_beacon_add_noa()
1496 noa->index = avp->noa_index; in ath9k_beacon_add_noa()
1497 noa->oppps_ctwindow = ath9k_get_ctwin(sc, avp); in ath9k_beacon_add_noa()
1499 if (avp->noa_duration) { in ath9k_beacon_add_noa()
1500 if (avp->periodic_noa) { in ath9k_beacon_add_noa()
1508 noa->desc[i].start_time = cpu_to_le32(avp->noa_start); in ath9k_beacon_add_noa()
1509 noa->desc[i].duration = cpu_to_le32(avp->noa_duration); in ath9k_beacon_add_noa()
1513 if (avp->offchannel_duration) { in ath9k_beacon_add_noa()
1515 noa->desc[i].start_time = cpu_to_le32(avp->offchannel_start); in ath9k_beacon_add_noa()
1516 noa->desc[i].duration = cpu_to_le32(avp->offchannel_duration); in ath9k_beacon_add_noa()
1523 struct ath_vif *avp = sc->p2p_ps_vif; in ath9k_p2p_ps_timer() local
1533 if (!avp || avp->chanctx != sc->cur_chan) in ath9k_p2p_ps_timer()
1537 if (!avp->noa.absent) in ath9k_p2p_ps_timer()
1540 if (!avp->noa.has_next_tsf || in ath9k_p2p_ps_timer()
1541 avp->noa.next_tsf - tsf > BIT(31)) in ath9k_p2p_ps_timer()
1542 ieee80211_update_p2p_noa(&avp->noa, tsf); in ath9k_p2p_ps_timer()
1544 ath9k_update_p2p_ps_timer(sc, avp); in ath9k_p2p_ps_timer()
1548 vif = avp->vif; in ath9k_p2p_ps_timer()
1549 sta = ieee80211_find_sta(vif, avp->bssid); in ath9k_p2p_ps_timer()
1554 if (an->sleeping == !!avp->noa.absent) in ath9k_p2p_ps_timer()
1557 an->sleeping = avp->noa.absent; in ath9k_p2p_ps_timer()
1589 struct ath_vif *avp = (void *)vif->drv_priv; in ath9k_p2p_remove_vif() local
1592 if (avp == sc->p2p_ps_vif) { in ath9k_p2p_remove_vif()