Lines Matching refs:vif

228 static inline void hwsim_check_magic(struct ieee80211_vif *vif)
230 struct hwsim_vif_priv *vp = (void *)vif->drv_priv;
233 vif, vp->magic, vif->addr, vif->type, vif->p2p);
236 static inline void hwsim_set_magic(struct ieee80211_vif *vif)
238 struct hwsim_vif_priv *vp = (void *)vif->drv_priv;
242 static inline void hwsim_clear_magic(struct ieee80211_vif *vif)
244 struct hwsim_vif_priv *vp = (void *)vif->drv_priv;
1005 static void hwsim_send_ps_poll(void *dat, u8 *mac, struct ieee80211_vif *vif)
1008 struct hwsim_vif_priv *vp = (void *)vif->drv_priv;
1032 rcu_dereference(vif->bss_conf.chanctx_conf)->def.chan);
1037 struct ieee80211_vif *vif, int ps)
1039 struct hwsim_vif_priv *vp = (void *)vif->drv_priv;
1070 rcu_dereference(vif->bss_conf.chanctx_conf)->def.chan);
1076 struct ieee80211_vif *vif)
1079 hwsim_send_nullfunc(data, mac, vif, 1);
1083 struct ieee80211_vif *vif)
1086 hwsim_send_nullfunc(data, mac, vif, 0);
1209 struct ieee80211_vif *vif)
1216 struct ieee80211_vif *vif, u64 tsf)
1219 u64 now = mac80211_hwsim_get_tsf(hw, vif);
1334 struct ieee80211_vif *vif)
1345 for (i = 0; i < ARRAY_SIZE(vif->link_conf); i++) {
1348 conf = rcu_dereference(vif->link_conf[i]);
1628 struct ieee80211_vif *vif)
1633 for (i = 0; i < ARRAY_SIZE(vif->link_conf); i++) {
1637 conf = rcu_dereference(vif->link_conf[i]);
1779 if (info->control.vif)
1780 rx_status.signal += info->control.vif->bss_conf.txpower;
1876 struct ieee80211_vif *vif,
1884 if (!ieee80211_vif_is_mld(vif))
1885 return &vif->bss_conf;
1890 return &vif->bss_conf;
1892 for (i = 0; i < ARRAY_SIZE(vif->link_conf); i++) {
1897 link_id = (sp->last_link + i + 1) % ARRAY_SIZE(vif->link_conf);
1899 if (!(vif->active_links & BIT(link_id)))
1909 bss_conf = rcu_dereference(vif->link_conf[link_id]);
1951 struct ieee80211_vif *vif = txi->control.vif;
1957 bss_conf = rcu_dereference(txi->control.vif->link_conf[link]);
1961 bss_conf = mac80211_hwsim_select_tx_link(data, vif, sta,
1990 else if (ether_addr_equal(hdr->addr3, vif->addr))
2016 if (txi->control.vif)
2017 hwsim_check_magic(txi->control.vif);
2022 ieee80211_get_tx_rates(txi->control.vif, control->sta, skb,
2119 struct ieee80211_vif *vif)
2122 __func__, ieee80211_vif_type_p2p(vif),
2123 vif->addr);
2124 hwsim_set_magic(vif);
2126 if (vif->type != NL80211_IFTYPE_MONITOR)
2127 mac80211_hwsim_config_mac_nl(hw, vif->addr, true);
2129 vif->cab_queue = 0;
2130 vif->hw_queue[IEEE80211_AC_VO] = 0;
2131 vif->hw_queue[IEEE80211_AC_VI] = 1;
2132 vif->hw_queue[IEEE80211_AC_BE] = 2;
2133 vif->hw_queue[IEEE80211_AC_BK] = 3;
2141 struct ieee80211_vif *vif,
2145 struct hwsim_vif_priv *vp = (void *)vif->drv_priv;
2153 struct ieee80211_vif *vif,
2160 __func__, ieee80211_vif_type_p2p(vif),
2161 newtype, vif->addr);
2162 hwsim_check_magic(vif);
2168 vif->cab_queue = 0;
2174 struct ieee80211_hw *hw, struct ieee80211_vif *vif)
2177 __func__, ieee80211_vif_type_p2p(vif),
2178 vif->addr);
2179 hwsim_check_magic(vif);
2180 hwsim_clear_magic(vif);
2181 if (vif->type != NL80211_IFTYPE_MONITOR)
2182 mac80211_hwsim_config_mac_nl(hw, vif->addr, false);
2194 ieee80211_get_tx_rates(txi->control.vif, NULL, skb,
2213 struct ieee80211_vif *vif,
2216 struct hwsim_vif_priv *vp = (void *)vif->drv_priv;
2231 ieee80211_get_tx_rates(vif, NULL, skb,
2261 struct ieee80211_vif *vif)
2272 hwsim_check_magic(vif);
2274 link_conf = rcu_dereference(vif->link_conf[link_id]);
2278 if (vif->type != NL80211_IFTYPE_AP &&
2279 vif->type != NL80211_IFTYPE_MESH_POINT &&
2280 vif->type != NL80211_IFTYPE_ADHOC &&
2281 vif->type != NL80211_IFTYPE_OCB)
2284 if (vif->mbssid_tx_vif && vif->mbssid_tx_vif != vif)
2287 if (vif->bss_conf.ema_ap) {
2291 ema = ieee80211_beacon_get_template_ema_list(hw, vif, link_id);
2296 __mac80211_hwsim_beacon_tx(link_conf, data, hw, vif,
2302 skb = ieee80211_beacon_get(hw, vif, link_id);
2306 __mac80211_hwsim_beacon_tx(link_conf, data, hw, vif, skb);
2309 while ((skb = ieee80211_get_buffered_bc(hw, vif)) != NULL) {
2314 if (link_conf->csa_active && ieee80211_beacon_cntdwn_is_complete(vif, link_id))
2315 ieee80211_csa_finish(vif, link_id);
2318 ieee80211_beacon_cntdwn_is_complete(vif, link_id))
2319 ieee80211_color_change_finish(vif, link_id);
2468 struct ieee80211_vif *vif)
2471 struct hwsim_vif_priv *vp = (void *)vif->drv_priv;
2478 struct ieee80211_vif *vif,
2481 struct hwsim_vif_priv *vp = (void *)vif->drv_priv;
2483 hwsim_check_magic(vif);
2485 wiphy_dbg(hw->wiphy, "%s(changed=0x%llx vif->addr=%pM)\n",
2486 __func__, changed, vif->addr);
2490 vif->cfg.assoc, vif->cfg.aid);
2491 vp->assoc = vif->cfg.assoc;
2492 vp->aid = vif->cfg.aid;
2495 if (vif->type == NL80211_IFTYPE_STATION &&
2497 u16 usable_links = ieee80211_vif_usable_links(vif);
2499 if (vif->active_links != usable_links)
2500 ieee80211_set_active_links_async(vif, usable_links);
2505 struct ieee80211_vif *vif,
2509 struct hwsim_vif_priv *vp = (void *)vif->drv_priv;
2514 hwsim_check_magic(vif);
2516 wiphy_dbg(hw->wiphy, "%s(changed=0x%llx vif->addr=%pM, link id %u)\n",
2517 __func__, (unsigned long long)changed, vif->addr, link_id);
2535 tsf = mac80211_hwsim_get_tsf(hw, vif);
2586 struct ieee80211_vif *vif,
2596 link_id < ARRAY_SIZE(vif->link_conf);
2622 vif_conf = rcu_dereference(vif->link_conf[link_id]);
2634 vif->addr, link_id, sta->addr, bw, sta->deflink.bandwidth,
2645 struct ieee80211_vif *vif,
2650 hwsim_check_magic(vif);
2652 mac80211_hwsim_sta_rc_update(hw, vif, sta, 0);
2665 struct ieee80211_vif *vif,
2668 hwsim_check_magic(vif);
2675 struct ieee80211_vif *vif,
2681 return mac80211_hwsim_sta_remove(hw, vif, sta);
2684 return mac80211_hwsim_sta_add(hw, vif, sta);
2690 if (ieee80211_vif_is_mld(vif) &&
2691 vif->type == NL80211_IFTYPE_STATION &&
2693 ieee80211_set_active_links_async(vif,
2694 ieee80211_vif_usable_links(vif));
2700 struct ieee80211_vif *vif,
2704 hwsim_check_magic(vif);
2726 struct ieee80211_vif *vif,
2774 mac80211_hwsim_can_neg_ttlm(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
2821 struct ieee80211_vif *vif,
2868 struct ieee80211_vif *vif,
2881 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid);
2896 struct ieee80211_vif *vif,
2985 struct ieee80211_vif *vif,
2997 hwsim->hw_scan_vif = vif;
3004 memcpy(hwsim->scan_addr, vif->addr, ETH_ALEN);
3017 struct ieee80211_vif *vif)
3037 struct ieee80211_vif *vif,
3061 struct ieee80211_vif *vif)
3106 struct ieee80211_vif *vif,
3131 struct ieee80211_vif *vif)
3181 struct ieee80211_vif *vif,
3185 hwsim_check_magic(vif);
3189 if (vif->type == NL80211_IFTYPE_STATION && vif->cfg.assoc) {
3192 skb = ieee80211_nullfunc_get(hw, vif, link_conf->link_id, true);
3204 struct ieee80211_vif *vif,
3208 hwsim_check_magic(vif);
3212 if (vif->type == NL80211_IFTYPE_STATION && vif->cfg.assoc) {
3215 skb = ieee80211_nullfunc_get(hw, vif, link_conf->link_id, true);
3239 "switch vif channel context mode: %u\n", mode);
3244 "switch vif channel context: %d MHz/width: %d/cfreqs:%d/%d MHz -> %d MHz/width: %d/cfreqs:%d/%d MHz\n",
3283 struct ieee80211_vif *vif,
3292 struct ieee80211_vif *vif, int sset)
3300 struct ieee80211_vif *vif,
3329 struct ieee80211_vif *vif,
3348 link_conf = link_conf_dereference_protected(vif, i);
3359 struct ieee80211_vif *vif,
3367 if (vif->type == NL80211_IFTYPE_STATION)
3512 struct ieee80211_vif *vif,
3568 data->pmsr_request_wdev = ieee80211_vif_to_wdev(vif);
3579 struct ieee80211_vif *vif,