Lines Matching defs:vif

22 static void ath9k_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
356 struct ieee80211_vif *vif)
363 an->vif = vif;
1003 struct ieee80211_vif *vif)
1007 iter_data->primary_beacon_vif = vif;
1010 vif->type == NL80211_IFTYPE_AP)
1011 iter_data->primary_beacon_vif = vif;
1019 u8 *mac, struct ieee80211_vif *vif)
1021 struct ath_vif *avp = (struct ath_vif *)vif->drv_priv;
1033 if (!vif->bss_conf.use_short_slot)
1036 switch (vif->type) {
1039 if (vif->bss_conf.enable_beacon)
1040 ath9k_vif_iter_set_beacon(iter_data, vif);
1045 iter_data->primary_sta = vif;
1052 if (vif->bss_conf.enable_beacon)
1053 ath9k_vif_iter_set_beacon(iter_data, vif);
1057 if (vif->bss_conf.enable_beacon)
1058 ath9k_vif_iter_set_beacon(iter_data, vif);
1112 ath9k_vif_iter(iter_data, avp->vif->addr, avp->vif);
1118 struct ieee80211_vif *vif, bool changed)
1121 struct ath_vif *avp = (struct ath_vif *)vif->drv_priv;
1144 vif->addr, common->curbssid);
1152 struct ieee80211_vif *vif = NULL;
1157 vif = sc->offchannel.scan_vif;
1159 vif = sc->offchannel.roc_vif;
1161 if (WARN_ON(!vif))
1166 memcpy(common->macaddr, vif->addr, ETH_ALEN);
1168 ah->opmode = vif->type;
1282 static void ath9k_tpc_vif_iter(void *data, u8 *mac, struct ieee80211_vif *vif)
1286 if (vif->bss_conf.txpower == INT_MIN)
1289 if (*power < vif->bss_conf.txpower)
1290 *power = vif->bss_conf.txpower;
1294 void ath9k_set_txpower(struct ath_softc *sc, struct ieee80211_vif *vif)
1302 power = (vif) ? vif->bss_conf.txpower : -1;
1318 struct ieee80211_vif *vif)
1326 vif->hw_queue[i] = i;
1328 if (vif->type == NL80211_IFTYPE_AP ||
1329 vif->type == NL80211_IFTYPE_MESH_POINT)
1330 vif->cab_queue = hw->queues - 2;
1332 vif->cab_queue = IEEE80211_INVAL_HW_QUEUE;
1336 struct ieee80211_vif *vif)
1341 struct ath_vif *avp = (void *)vif->drv_priv;
1350 sc->tx99_vif = vif;
1353 ath_dbg(common, CONFIG, "Attach a VIF of type: %d\n", vif->type);
1356 if (vif->type == NL80211_IFTYPE_STATION && ath9k_is_chanctx_enabled())
1357 vif->driver_flags |= IEEE80211_VIF_GET_NOA_UPDATE;
1359 if (ath9k_uses_beacons(vif->type))
1360 ath9k_beacon_assign_slot(sc, vif);
1362 avp->vif = vif;
1370 ath9k_assign_hw_queues(hw, vif);
1372 ath9k_set_txpower(sc, vif);
1376 an->vif = vif;
1385 struct ieee80211_vif *vif,
1391 struct ath_vif *avp = (void *)vif->drv_priv;
1402 if (ath9k_uses_beacons(vif->type))
1403 ath9k_beacon_remove_slot(sc, vif);
1405 vif->type = new_type;
1406 vif->p2p = p2p;
1408 if (ath9k_uses_beacons(vif->type))
1409 ath9k_beacon_assign_slot(sc, vif);
1411 ath9k_assign_hw_queues(hw, vif);
1414 ath9k_set_txpower(sc, vif);
1421 struct ieee80211_vif *vif)
1425 struct ath_vif *avp = (void *)vif->drv_priv;
1431 ath9k_p2p_remove_vif(sc, vif);
1438 if (ath9k_uses_beacons(vif->type))
1439 ath9k_beacon_remove_slot(sc, vif);
1600 struct ieee80211_vif *vif,
1609 ath_node_attach(sc, sta, vif);
1611 if (vif->type != NL80211_IFTYPE_AP &&
1612 vif->type != NL80211_IFTYPE_AP_VLAN)
1615 key = ath_key_config(common, vif, sta, &ps_key);
1625 struct ieee80211_vif *vif,
1640 struct ieee80211_vif *vif,
1645 ath9k_del_ps_key(sc, vif, sta);
1652 struct ieee80211_vif *vif,
1663 ret = ath9k_sta_add(hw, vif, sta);
1668 ret = ath9k_sta_remove(hw, vif, sta);
1674 if (vif->type == NL80211_IFTYPE_STATION) {
1677 ath_chanctx_event(sc, vif,
1699 struct ieee80211_vif *vif,
1721 struct ieee80211_vif *vif, u16 queue,
1763 struct ieee80211_vif *vif,
1775 if ((vif->type == NL80211_IFTYPE_ADHOC ||
1776 vif->type == NL80211_IFTYPE_MESH_POINT) &&
1795 ath9k_flush(hw, vif, 0, true);
1814 ath9k_del_ps_key(sc, vif, sta);
1817 ret = ath_key_config(common, vif, sta, key);
1870 struct ieee80211_vif *vif,
1882 struct ath_vif *avp = (void *)vif->drv_priv;
1919 if (vif->type == NL80211_IFTYPE_AP) {
1934 ath9k_p2p_bss_info_changed(sc, vif);
1940 ath_dbg(common, CONFIG, "vif %pM power %d dbm power_type %d\n",
1941 vif->addr, bss_conf->txpower, bss_conf->txpower_type);
1942 ath9k_set_txpower(sc, vif);
1951 static u64 ath9k_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
1954 struct ath_vif *avp = (void *)vif->drv_priv;
1974 struct ieee80211_vif *vif,
1978 struct ath_vif *avp = (void *)vif->drv_priv;
1991 static void ath9k_reset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
1994 struct ath_vif *avp = (void *)vif->drv_priv;
2009 struct ieee80211_vif *vif,
2051 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid);
2170 static void ath9k_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
2187 * The vif queues have been stopped in mac80211,
2261 struct ieee80211_vif *vif;
2268 vif = sc->beacon.bslot[0];
2269 if (!vif)
2272 if (!vif->bss_conf.enable_beacon)
2275 avp = (void *)vif->drv_priv;
2386 struct ieee80211_vif *vif,
2395 struct ieee80211_vif *vif)
2426 static int ath9k_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
2443 sc->offchannel.scan_vif = vif;
2447 ath_dbg(common, CHAN_CTX, "HW scan request received on vif: %pM\n",
2448 vif->addr);
2462 struct ieee80211_vif *vif)
2467 ath_dbg(common, CHAN_CTX, "Cancel HW scan on vif: %pM\n", vif->addr);
2476 struct ieee80211_vif *vif,
2492 sc->offchannel.roc_vif = vif;
2497 "RoC request on vif: %pM, type: %d duration: %d\n",
2498 vif->addr, type, duration);
2512 struct ieee80211_vif *vif)
2604 struct ieee80211_vif *vif,
2609 struct ath_vif *avp = (void *)vif->drv_priv;
2619 vif->addr, vif->type, vif->p2p,
2627 vif->hw_queue[i] = ctx->hw_queue_base + i;
2635 struct ieee80211_vif *vif,
2640 struct ath_vif *avp = (void *)vif->drv_priv;
2650 vif->addr, vif->type, vif->p2p,
2658 vif->hw_queue[ac] = IEEE80211_INVAL_HW_QUEUE;
2664 struct ieee80211_vif *vif,
2669 struct ath_vif *avp = (struct ath_vif *) vif->drv_priv;
2726 "%s: Set chanctx state to FORCE_ACTIVE for vif: %pM\n",
2727 __func__, vif->addr);
2758 static int ath9k_get_txpower(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
2762 struct ath_vif *avp = (void *)vif->drv_priv;