Lines Matching defs:vif

245 				   struct ieee80211_vif *vif);
463 static int ath12k_mac_vif_chan(struct ieee80211_vif *vif,
469 conf = rcu_dereference(vif->bss_conf.chanctx_conf);
523 struct ieee80211_vif *vif)
526 struct ath12k_vif *arvif = (void *)vif->drv_priv;
1125 struct ieee80211_vif *vif = arvif->vif;
1135 bcn = ieee80211_beacon_get_template(hw, vif, &offs, 0);
1207 struct ieee80211_vif *vif,
1211 struct ath12k_vif *arvif = (void *)vif->drv_priv;
1216 if (vif->type == NL80211_IFTYPE_STATION)
1217 aid = vif->cfg.aid;
1228 arg->peer_caps = vif->bss_conf.assoc_capability;
1232 struct ieee80211_vif *vif,
1236 struct ieee80211_bss_conf *info = &vif->bss_conf;
1239 struct ath12k_vif *arvif = (struct ath12k_vif *)vif->drv_priv;
1245 if (WARN_ON(ath12k_mac_vif_chan(vif, &def)))
1293 struct ieee80211_vif *vif,
1297 struct ath12k_vif *arvif = (void *)vif->drv_priv;
1309 if (WARN_ON(ath12k_mac_vif_chan(vif, &def)))
1355 struct ieee80211_vif *vif,
1360 struct ath12k_vif *arvif = (void *)vif->drv_priv;
1370 if (WARN_ON(ath12k_mac_vif_chan(vif, &def)))
1516 struct ieee80211_vif *vif,
1521 struct ath12k_vif *arvif = (void *)vif->drv_priv;
1530 if (WARN_ON(ath12k_mac_vif_chan(vif, &def)))
1611 struct ieee80211_vif *vif,
1665 arg->peer_he_ops = vif->bss_conf.he_oper.params;
1792 struct ieee80211_vif *vif,
1796 struct ath12k_vif *arvif = (void *)vif->drv_priv;
1990 struct ieee80211_vif *vif,
1994 struct ath12k_vif *arvif = (void *)vif->drv_priv;
2001 if (WARN_ON(ath12k_mac_vif_chan(vif, &def)))
2135 struct ieee80211_vif *vif,
2143 struct ath12k_vif *arvif = (struct ath12k_vif *)vif->drv_priv;
2218 struct ieee80211_vif *vif,
2230 ath12k_peer_assoc_h_basic(ar, vif, sta, arg);
2231 ath12k_peer_assoc_h_crypto(ar, vif, sta, arg);
2232 ath12k_peer_assoc_h_rates(ar, vif, sta, arg);
2233 ath12k_peer_assoc_h_ht(ar, vif, sta, arg);
2234 ath12k_peer_assoc_h_vht(ar, vif, sta, arg);
2235 ath12k_peer_assoc_h_he(ar, vif, sta, arg);
2236 ath12k_peer_assoc_h_eht(ar, vif, sta, arg);
2237 ath12k_peer_assoc_h_qos(ar, vif, sta, arg);
2238 ath12k_peer_assoc_h_phymode(ar, vif, sta, arg);
2265 struct ieee80211_vif *vif,
2269 struct ath12k_vif *arvif = (void *)vif->drv_priv;
2283 ap_sta = ieee80211_find_sta(vif, bss_conf->bssid);
2291 ath12k_peer_assoc_prepare(ar, vif, ap_sta, &peer_arg, false);
2318 arvif->aid = vif->cfg.aid;
2332 arvif->vdev_id, bss_conf->bssid, vif->cfg.aid);
2360 struct ieee80211_vif *vif)
2363 struct ath12k_vif *arvif = (void *)vif->drv_priv;
2407 struct ieee80211_vif *vif,
2410 struct ath12k_vif *arvif = (void *)vif->drv_priv;
2421 basic_rate_idx = ffs(vif->bss_conf.basic_rates) - 1;
2455 tmpl = ieee80211_get_fils_discovery_tmpl(ar->hw, arvif->vif);
2464 arvif->vif);
2490 struct ieee80211_vif *vif,
2495 struct ath12k_vif *arvif = ath12k_vif_to_arvif(vif);
2563 vif->type == NL80211_IFTYPE_AP) {
2564 arvif->u.ap.ssid_len = vif->cfg.ssid_len;
2565 if (vif->cfg.ssid_len)
2566 memcpy(arvif->u.ap.ssid, vif->cfg.ssid, vif->cfg.ssid_len);
2576 if (arvif->is_up && vif->bss_conf.he_support &&
2577 vif->bss_conf.he_oper.params) {
2588 param_value = vif->bss_conf.he_oper.params;
2663 if (vif->cfg.assoc)
2664 ath12k_bss_assoc(hw, vif, info);
2666 ath12k_bss_disassoc(hw, vif);
2678 !ath12k_mac_vif_chan(arvif->vif, &def)) {
2680 mcast_rate = vif->bss_conf.mcast_rate[band];
2685 rateidx = ffs(vif->bss_conf.basic_rates) - 1;
2722 !ath12k_mac_vif_chan(arvif->vif, &def))
2723 ath12k_recalculate_mgmt_rate(ar, vif, &def);
2737 if (vif->type == NL80211_IFTYPE_AP) {
2746 } else if (vif->type == NL80211_IFTYPE_STATION) {
2934 struct ieee80211_vif *vif,
2938 struct ath12k_vif *arvif = ath12k_vif_to_arvif(vif);
3026 struct ieee80211_vif *vif)
3104 if (ether_addr_equal(macaddr, arvif->vif->addr))
3153 struct ieee80211_vif *vif, struct ieee80211_sta *sta,
3158 struct ath12k_vif *arvif = ath12k_vif_to_arvif(vif);
3183 peer_addr = vif->bss_conf.bssid;
3185 peer_addr = vif->addr;
3336 struct ieee80211_vif *vif,
3340 struct ath12k_vif *arvif = ath12k_vif_to_arvif(vif);
3350 if (WARN_ON(ath12k_mac_vif_chan(vif, &def)))
3356 ath12k_peer_assoc_prepare(ar, vif, sta, &peer_arg, reassoc);
3419 struct ieee80211_vif *vif,
3422 struct ath12k_vif *arvif = (void *)vif->drv_priv;
3464 if (WARN_ON(ath12k_mac_vif_chan(arvif->vif, &def)))
3490 ath12k_peer_assoc_h_phymode(ar, arvif->vif, sta, &peer_arg);
3585 ath12k_peer_assoc_prepare(ar, arvif->vif, sta,
3634 struct ieee80211_vif *vif,
3638 struct ath12k_vif *arvif = ath12k_vif_to_arvif(vif);
3672 if (ieee80211_vif_is_mesh(vif)) {
3693 ret = ath12k_start_vdev_delay(ar->hw, vif);
3739 struct ieee80211_vif *vif,
3745 struct ath12k_vif *arvif = ath12k_vif_to_arvif(vif);
3763 ret = ath12k_mac_station_add(ar, vif, sta);
3784 vif->addr, arvif->vdev_id);
3796 (vif->type == NL80211_IFTYPE_AP ||
3797 vif->type == NL80211_IFTYPE_MESH_POINT ||
3798 vif->type == NL80211_IFTYPE_ADHOC)) {
3799 ret = ath12k_station_assoc(ar, vif, sta, false);
3820 if (vif->type == NL80211_IFTYPE_STATION && arvif->is_up) {
3840 (vif->type == NL80211_IFTYPE_AP ||
3841 vif->type == NL80211_IFTYPE_MESH_POINT ||
3842 vif->type == NL80211_IFTYPE_ADHOC)) {
3843 ret = ath12k_station_disassoc(ar, vif, sta);
3854 struct ieee80211_vif *vif,
3858 struct ath12k_vif *arvif = (void *)vif->drv_priv;
3889 struct ieee80211_vif *vif,
3895 struct ath12k_vif *arvif = (void *)vif->drv_priv;
3958 static int ath12k_conf_tx_uapsd(struct ath12k *ar, struct ieee80211_vif *vif,
3961 struct ath12k_vif *arvif = ath12k_vif_to_arvif(vif);
4016 struct ieee80211_vif *vif,
4021 struct ath12k_vif *arvif = (void *)vif->drv_priv;
4059 ret = ath12k_conf_tx_uapsd(ar, vif, ac, params->uapsd);
4760 struct ieee80211_vif *vif = ctx;
4766 if (skb_cb->vif == vif) {
4851 if (!skb_cb->vif) {
4852 ath12k_warn(ar->ab, "no vif found for mgmt frame\n");
4857 arvif = ath12k_vif_to_arvif(skb_cb->vif);
4915 struct ieee80211_vif *vif = info->control.vif;
4916 struct ath12k_vif *arvif = ath12k_vif_to_arvif(vif);
4924 skb_cb->vif = vif;
5239 param_value = ath12k_mac_prepare_he_mode(ar->pdev, arvif->vif->type);
5263 struct ieee80211_vif *vif)
5267 struct ath12k_vif *arvif = ath12k_vif_to_arvif(vif);
5272 if (vif->type != NL80211_IFTYPE_STATION &&
5273 vif->type != NL80211_IFTYPE_AP)
5274 vif->offload_flags &= ~(IEEE80211_OFFLOAD_ENCAP_ENABLED |
5277 if (vif->offload_flags & IEEE80211_OFFLOAD_ENCAP_ENABLED)
5289 vif->offload_flags &= ~IEEE80211_OFFLOAD_ENCAP_ENABLED;
5293 if (vif->offload_flags & IEEE80211_OFFLOAD_DECAP_ENABLED)
5305 vif->offload_flags &= ~IEEE80211_OFFLOAD_DECAP_ENABLED;
5310 struct ieee80211_vif *vif)
5314 struct ath12k_vif *arvif = ath12k_vif_to_arvif(vif);
5323 vif->driver_flags |= IEEE80211_VIF_SUPPORTS_UAPSD;
5327 if (vif->type == NL80211_IFTYPE_AP &&
5344 arvif->vif = vif;
5365 switch (vif->type) {
5389 vif->cab_queue = arvif->vdev_id % (ATH12K_HW_MAX_QUEUES - 1);
5390 for (i = 0; i < ARRAY_SIZE(vif->hw_queue); i++)
5391 vif->hw_queue[i] = i % (ATH12K_HW_MAX_QUEUES - 1);
5395 ret = ath12k_wmi_vdev_create(ar, vif->addr, &vdev_arg);
5404 vif->addr, arvif->vdev_id);
5412 ath12k_mac_op_update_vif_offload(hw, vif);
5426 peer_param.peer_addr = vif->addr;
5484 arvif->txpower = vif->bss_conf.txpower;
5500 if (vif->type != NL80211_IFTYPE_MONITOR && ar->monitor_conf_enabled)
5511 ret = ath12k_wmi_send_peer_delete_cmd(ar, vif->addr,
5515 arvif->vdev_id, vif->addr);
5520 vif->addr);
5543 static void ath12k_mac_vif_unref(struct ath12k_dp *dp, struct ieee80211_vif *vif)
5560 if (skb_cb->vif == vif)
5561 skb_cb->vif = NULL;
5569 struct ieee80211_vif *vif)
5572 struct ath12k_vif *arvif = ath12k_vif_to_arvif(vif);
5583 ret = ath12k_peer_delete(ar, arvif->vdev_id, vif->addr);
5618 vif->addr, arvif->vdev_id);
5628 ath12k_mac_vif_txmgmt_idr_remove, vif);
5630 ath12k_mac_vif_unref(&ab->dp, vif);
5713 struct ieee80211_vif *vif,
5799 int he_support = arvif->vif->bss_conf.he_support;
5872 arvif->vif->addr, arvif->vdev_id);
5925 arvif->vif->addr, arvif->vdev_id);
5959 struct ieee80211_vif *vif)
5963 if (rcu_access_pointer(vif->bss_conf.chanctx_conf) != arg->ctx)
5971 struct ieee80211_vif *vif)
5976 ctx = rcu_access_pointer(vif->bss_conf.chanctx_conf);
5983 arg->vifs[arg->next_vif].vif = vif;
6003 arvif = (void *)vifs[i].vif->drv_priv;
6005 if (vifs[i].vif->type == NL80211_IFTYPE_MONITOR)
6037 arvif = (void *)vifs[i].vif->drv_priv;
6131 struct ieee80211_vif *vif)
6135 struct ath12k_vif *arvif = (void *)vif->drv_priv;
6144 arvif->vdev_id, vif->addr,
6165 struct ieee80211_vif *vif,
6171 struct ath12k_vif *arvif = (void *)vif->drv_priv;
6224 arvif->vdev_id, vif->addr,
6244 struct ieee80211_vif *vif,
6250 struct ath12k_vif *arvif = (void *)vif->drv_priv;
6363 static void ath12k_mac_op_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
6610 struct ieee80211_vif *vif,
6613 struct ath12k_vif *arvif = (void *)vif->drv_priv;
6627 if (ath12k_mac_vif_chan(vif, &def))
6778 ieee80211_hw_restart_disconnect(arvif->vif);
6866 struct ieee80211_vif *vif,