Lines Matching defs:vif

22 static void ath9k_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
355 struct ieee80211_vif *vif)
362 an->vif = vif;
1002 struct ieee80211_vif *vif)
1006 iter_data->primary_beacon_vif = vif;
1009 vif->type == NL80211_IFTYPE_AP)
1010 iter_data->primary_beacon_vif = vif;
1018 u8 *mac, struct ieee80211_vif *vif)
1020 struct ath_vif *avp = (struct ath_vif *)vif->drv_priv;
1032 if (!vif->bss_conf.use_short_slot)
1035 switch (vif->type) {
1038 if (vif->bss_conf.enable_beacon)
1039 ath9k_vif_iter_set_beacon(iter_data, vif);
1044 iter_data->primary_sta = vif;
1051 if (vif->bss_conf.enable_beacon)
1052 ath9k_vif_iter_set_beacon(iter_data, vif);
1056 if (vif->bss_conf.enable_beacon)
1057 ath9k_vif_iter_set_beacon(iter_data, vif);
1108 ath9k_vif_iter(iter_data, avp->vif->addr, avp->vif);
1114 struct ieee80211_vif *vif, bool changed)
1117 struct ath_vif *avp = (struct ath_vif *)vif->drv_priv;
1140 vif->addr, common->curbssid);
1148 struct ieee80211_vif *vif = NULL;
1153 vif = sc->offchannel.scan_vif;
1155 vif = sc->offchannel.roc_vif;
1157 if (WARN_ON(!vif))
1162 memcpy(common->macaddr, vif->addr, ETH_ALEN);
1164 ah->opmode = vif->type;
1276 static void ath9k_tpc_vif_iter(void *data, u8 *mac, struct ieee80211_vif *vif)
1280 if (vif->bss_conf.txpower == INT_MIN)
1283 if (*power < vif->bss_conf.txpower)
1284 *power = vif->bss_conf.txpower;
1288 void ath9k_set_txpower(struct ath_softc *sc, struct ieee80211_vif *vif)
1296 power = (vif) ? vif->bss_conf.txpower : -1;
1312 struct ieee80211_vif *vif)
1320 vif->hw_queue[i] = i;
1322 if (vif->type == NL80211_IFTYPE_AP ||
1323 vif->type == NL80211_IFTYPE_MESH_POINT)
1324 vif->cab_queue = hw->queues - 2;
1326 vif->cab_queue = IEEE80211_INVAL_HW_QUEUE;
1330 struct ieee80211_vif *vif)
1335 struct ath_vif *avp = (void *)vif->drv_priv;
1344 sc->tx99_vif = vif;
1347 ath_dbg(common, CONFIG, "Attach a VIF of type: %d\n", vif->type);
1350 if (vif->type == NL80211_IFTYPE_STATION && ath9k_is_chanctx_enabled())
1351 vif->driver_flags |= IEEE80211_VIF_GET_NOA_UPDATE;
1353 if (ath9k_uses_beacons(vif->type))
1354 ath9k_beacon_assign_slot(sc, vif);
1356 avp->vif = vif;
1364 ath9k_assign_hw_queues(hw, vif);
1366 ath9k_set_txpower(sc, vif);
1370 an->vif = vif;
1379 struct ieee80211_vif *vif,
1385 struct ath_vif *avp = (void *)vif->drv_priv;
1396 if (ath9k_uses_beacons(vif->type))
1397 ath9k_beacon_remove_slot(sc, vif);
1399 vif->type = new_type;
1400 vif->p2p = p2p;
1402 if (ath9k_uses_beacons(vif->type))
1403 ath9k_beacon_assign_slot(sc, vif);
1405 ath9k_assign_hw_queues(hw, vif);
1408 ath9k_set_txpower(sc, vif);
1415 struct ieee80211_vif *vif)
1419 struct ath_vif *avp = (void *)vif->drv_priv;
1425 ath9k_p2p_remove_vif(sc, vif);
1432 if (ath9k_uses_beacons(vif->type))
1433 ath9k_beacon_remove_slot(sc, vif);
1593 struct ieee80211_vif *vif,
1602 ath_node_attach(sc, sta, vif);
1604 if (vif->type != NL80211_IFTYPE_AP &&
1605 vif->type != NL80211_IFTYPE_AP_VLAN)
1608 key = ath_key_config(common, vif, sta, &ps_key);
1618 struct ieee80211_vif *vif,
1633 struct ieee80211_vif *vif,
1638 ath9k_del_ps_key(sc, vif, sta);
1645 struct ieee80211_vif *vif,
1656 ret = ath9k_sta_add(hw, vif, sta);
1661 ret = ath9k_sta_remove(hw, vif, sta);
1667 if (vif->type == NL80211_IFTYPE_STATION) {
1670 ath_chanctx_event(sc, vif,
1692 struct ieee80211_vif *vif,
1714 struct ieee80211_vif *vif,
1757 struct ieee80211_vif *vif,
1769 if ((vif->type == NL80211_IFTYPE_ADHOC ||
1770 vif->type == NL80211_IFTYPE_MESH_POINT) &&
1789 ath9k_flush(hw, vif, 0, true);
1808 ath9k_del_ps_key(sc, vif, sta);
1811 ret = ath_key_config(common, vif, sta, key);
1864 struct ieee80211_vif *vif,
1876 struct ath_vif *avp = (void *)vif->drv_priv;
1884 bss_conf->bssid, vif->cfg.assoc);
1887 avp->aid = vif->cfg.aid;
1888 avp->assoc = vif->cfg.assoc;
1896 common->curaid = vif->cfg.aid;
1913 if (vif->type == NL80211_IFTYPE_AP) {
1928 ath9k_p2p_bss_info_changed(sc, vif);
1934 ath_dbg(common, CONFIG, "vif %pM power %d dbm power_type %d\n",
1935 vif->addr, bss_conf->txpower, bss_conf->txpower_type);
1936 ath9k_set_txpower(sc, vif);
1945 static u64 ath9k_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
1948 struct ath_vif *avp = (void *)vif->drv_priv;
1968 struct ieee80211_vif *vif,
1972 struct ath_vif *avp = (void *)vif->drv_priv;
1985 static void ath9k_reset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
1988 struct ath_vif *avp = (void *)vif->drv_priv;
2003 struct ieee80211_vif *vif,
2045 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid);
2164 static void ath9k_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
2181 * The vif queues have been stopped in mac80211,
2255 struct ieee80211_vif *vif;
2262 vif = sc->beacon.bslot[0];
2263 if (!vif)
2266 if (!vif->bss_conf.enable_beacon)
2269 avp = (void *)vif->drv_priv;
2380 struct ieee80211_vif *vif,
2404 struct ieee80211_vif *vif)
2435 static int ath9k_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
2452 sc->offchannel.scan_vif = vif;
2456 ath_dbg(common, CHAN_CTX, "HW scan request received on vif: %pM\n",
2457 vif->addr);
2471 struct ieee80211_vif *vif)
2476 ath_dbg(common, CHAN_CTX, "Cancel HW scan on vif: %pM\n", vif->addr);
2485 struct ieee80211_vif *vif,
2501 sc->offchannel.roc_vif = vif;
2506 "RoC request on vif: %pM, type: %d duration: %d\n",
2507 vif->addr, type, duration);
2521 struct ieee80211_vif *vif)
2613 struct ieee80211_vif *vif,
2619 struct ath_vif *avp = (void *)vif->drv_priv;
2629 vif->addr, vif->type, vif->p2p,
2637 vif->hw_queue[i] = ctx->hw_queue_base + i;
2645 struct ieee80211_vif *vif,
2651 struct ath_vif *avp = (void *)vif->drv_priv;
2661 vif->addr, vif->type, vif->p2p,
2669 vif->hw_queue[ac] = IEEE80211_INVAL_HW_QUEUE;
2675 struct ieee80211_vif *vif,
2680 struct ath_vif *avp = (struct ath_vif *) vif->drv_priv;
2737 "%s: Set chanctx state to FORCE_ACTIVE for vif: %pM\n",
2738 __func__, vif->addr);
2769 static int ath9k_get_txpower(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
2773 struct ath_vif *avp = (void *)vif->drv_priv;