Lines Matching defs:vif
72 static void ath9k_beacon_setup(struct ath_softc *sc, struct ieee80211_vif *vif,
85 if (vif->bss_conf.use_short_preamble)
113 struct ieee80211_vif *vif)
118 struct ath_vif *avp = (void *)vif->drv_priv;
138 skb = ieee80211_beacon_get(hw, vif);
165 skb = ieee80211_get_buffered_bc(hw, vif);
170 * 1) if there is only one vif let the cab traffic continue.
171 * 2) if there are more than one vif and we are using staggered
187 ath9k_beacon_setup(sc, vif, bf, info->control.rates[0].idx);
190 ath_tx_cabq(hw, vif, skb);
195 void ath9k_beacon_assign_slot(struct ath_softc *sc, struct ieee80211_vif *vif)
198 struct ath_vif *avp = (void *)vif->drv_priv;
211 sc->beacon.bslot[avp->av_bslot] = vif;
217 void ath9k_beacon_remove_slot(struct ath_softc *sc, struct ieee80211_vif *vif)
220 struct ath_vif *avp = (void *)vif->drv_priv;
247 struct ieee80211_vif *vif;
269 vif = sc->beacon.bslot[slot + first_slot];
270 sc->beacon.bslot[slot] = vif;
272 if (vif) {
273 avp = (void *)vif->drv_priv;
281 vif = sc->beacon.bslot[0];
282 if (WARN_ON(!vif))
286 avp = (void *)vif->drv_priv;
363 bool ath9k_csa_is_finished(struct ath_softc *sc, struct ieee80211_vif *vif)
365 if (!vif || !vif->csa_active)
368 if (!ieee80211_beacon_cntdwn_is_complete(vif))
371 ieee80211_csa_finish(vif);
375 static void ath9k_csa_update_vif(void *data, u8 *mac, struct ieee80211_vif *vif)
378 ath9k_csa_is_finished(sc, vif);
394 struct ieee80211_vif *vif;
442 vif = sc->beacon.bslot[slot];
451 if (ath9k_csa_is_finished(sc, vif))
455 if (!vif || !vif->bss_conf.enable_beacon)
459 ath_chanctx_event(sc, vif, ATH_CHANCTX_EVENT_BEACON_PREPARE);
462 bf = ath9k_beacon_generate(sc->hw, vif);