Lines Matching defs:vif

160 static void mt7996_init_bitrate_mask(struct ieee80211_vif *vif)
162 struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
180 struct ieee80211_vif *vif)
182 struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
191 if (vif->type == NL80211_IFTYPE_MONITOR &&
192 is_zero_ether_addr(vif->addr))
193 phy->monitor_vif = vif;
201 idx = get_omac_idx(vif->type, phy->omac_mask);
209 mvif->mt76.wmm_idx = vif->type != NL80211_IFTYPE_AP;
211 ret = mt7996_mcu_add_dev_info(phy, vif, true);
231 if (vif->txq) {
232 mtxq = (struct mt76_txq *)vif->txq->drv_priv;
236 if (vif->type != NL80211_IFTYPE_AP &&
238 vif->offload_flags = 0;
239 vif->offload_flags |= IEEE80211_OFFLOAD_ENCAP_4ADDR;
246 mt7996_init_bitrate_mask(vif);
248 mt7996_mcu_add_bss_info(phy, vif, true);
252 if (vif->type != NL80211_IFTYPE_STATION)
253 mt7996_mcu_add_sta(dev, vif, NULL, true, true);
263 struct ieee80211_vif *vif)
265 struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
271 mt7996_mcu_add_sta(dev, vif, NULL, false, false);
272 mt7996_mcu_add_bss_info(phy, vif, false);
274 if (vif == phy->monitor_vif)
277 mt7996_mcu_add_dev_info(phy, vif, false);
330 struct ieee80211_vif *vif, struct ieee80211_sta *sta,
335 struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
346 if ((vif->type == NL80211_IFTYPE_ADHOC ||
347 vif->type == NL80211_IFTYPE_MESH_POINT) &&
382 mt7996_mcu_add_bss_info(phy, vif, true);
396 err = mt7996_mcu_bcn_prot_enable(dev, vif, key);
398 err = mt7996_mcu_add_key(&dev->mt76, vif, key,
449 mt7996_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
453 struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
526 struct ieee80211_vif *vif,
531 switch (vif->type) {
533 struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
540 mt7996_mcu_update_bss_color(dev, vif, bss_color);
548 mt7996_get_rates_table(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
551 struct mt76_vif *mvif = (struct mt76_vif *)vif->drv_priv;
556 rate = mt76_connac2_mac_tx_rate_val(mphy, vif, beacon, mcast);
578 mt7996_update_mu_group(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
581 struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
598 struct ieee80211_vif *vif,
602 struct mt76_vif *mvif = (struct mt76_vif *)vif->drv_priv;
612 (changed & BSS_CHANGED_ASSOC && vif->cfg.assoc) ||
614 mt7996_mcu_add_bss_info(phy, vif, true);
615 mt7996_mcu_add_sta(dev, vif, NULL, true,
620 mt7996_mac_enable_rtscts(dev, vif, info->use_cts_prot);
627 mt7996_mcu_set_timing(phy, vif);
633 mt7996_get_rates_table(hw, vif, false, true);
637 mt7996_get_rates_table(hw, vif, false, false);
641 mt7996_mcu_set_tx(dev, vif);
644 mt7996_mcu_add_obss_spr(phy, vif, &info->he_obss_pd);
647 mt7996_update_bss_color(hw, vif, &info->he_bss_color);
652 mt7996_get_rates_table(hw, vif, true, false);
654 mt7996_mcu_add_beacon(hw, vif, info->enable_beacon);
659 mt7996_mcu_beacon_inband_discov(dev, vif, changed);
662 mt7996_update_mu_group(hw, vif, info);
669 struct ieee80211_vif *vif,
675 mt7996_mcu_add_beacon(hw, vif, true);
679 int mt7996_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
684 struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
694 msta->vif = mvif;
705 ret = mt7996_mcu_add_sta(dev, vif, sta, true, true);
709 return mt7996_mcu_add_rate_ctrl(dev, vif, sta, false);
712 void mt7996_mac_sta_remove(struct mt76_dev *mdev, struct ieee80211_vif *vif,
719 mt7996_mcu_add_sta(dev, vif, sta, false, false);
742 struct ieee80211_vif *vif = info->control.vif;
752 if (vif && !control->sta) {
755 mvif = (struct mt7996_vif *)vif->drv_priv;
775 mt7996_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
823 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid);
832 mt7996_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
835 return mt76_sta_state(hw, vif, sta, IEEE80211_STA_NOTEXIST,
840 mt7996_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
843 return mt76_sta_state(hw, vif, sta, IEEE80211_STA_NONE,
891 mt7996_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
893 struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
905 mt7996_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
908 struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
931 mt7996_offset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
934 struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
1006 struct ieee80211_vif *vif,
1062 struct mt7996_dev *dev = msta->vif->phy->dev;
1073 struct ieee80211_vif *vif,
1085 mt7996_set_bitrate_mask(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
1088 struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
1110 struct ieee80211_vif *vif,
1122 mt7996_mcu_wtbl_update_hdr_trans(dev, vif, sta);
1126 struct ieee80211_vif *vif,
1138 mt7996_mcu_wtbl_update_hdr_trans(dev, vif, sta);
1205 /* per vif counters */
1248 struct ieee80211_vif *vif,
1258 struct ieee80211_vif *vif, int sset)
1271 if (msta->vif->mt76.idx != wi->idx)
1279 struct ieee80211_vif *vif,
1284 struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
1354 /* Add values for all stations owned by this vif */
1434 struct ieee80211_vif *vif,
1439 struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;