Lines Matching full:vif
25 struct ieee80211_vif *vif = info->control.vif; in rtw89_ops_tx() local
26 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv; in rtw89_ops_tx()
39 ret = rtw89_core_tx_write(rtwdev, vif, sta, skb, &qsel); in rtw89_ops_tx()
109 struct ieee80211_vif *vif) in rtw89_ops_add_interface() argument
112 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv; in rtw89_ops_add_interface()
115 rtw89_debug(rtwdev, RTW89_DBG_STATE, "add vif %pM type %d, p2p %d\n", in rtw89_ops_add_interface()
116 vif->addr, vif->type, vif->p2p); in rtw89_ops_add_interface()
123 vif->driver_flags |= IEEE80211_VIF_BEACON_FILTER | in rtw89_ops_add_interface()
137 rtw89_vif_type_mapping(vif, false); in rtw89_ops_add_interface()
152 ether_addr_copy(rtwvif->mac_addr, vif->addr); in rtw89_ops_add_interface()
162 rtw89_core_txq_init(rtwdev, vif->txq); in rtw89_ops_add_interface()
174 struct ieee80211_vif *vif) in rtw89_ops_remove_interface() argument
177 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv; in rtw89_ops_remove_interface()
179 rtw89_debug(rtwdev, RTW89_DBG_STATE, "remove vif %pM type %d p2p %d\n", in rtw89_ops_remove_interface()
180 vif->addr, vif->type, vif->p2p); in rtw89_ops_remove_interface()
198 struct ieee80211_vif *vif, in rtw89_ops_change_interface() argument
206 rtw89_debug(rtwdev, RTW89_DBG_STATE, "change vif %pM (%d)->(%d), p2p (%d)->(%d)\n", in rtw89_ops_change_interface()
207 vif->addr, vif->type, type, vif->p2p, p2p); in rtw89_ops_change_interface()
209 rtw89_ops_remove_interface(hw, vif); in rtw89_ops_change_interface()
211 vif->type = type; in rtw89_ops_change_interface()
212 vif->p2p = p2p; in rtw89_ops_change_interface()
214 ret = rtw89_ops_add_interface(hw, vif); in rtw89_ops_change_interface()
301 struct ieee80211_vif *vif = rtwvif_to_vif(rtwvif); in rtw89_aifsn_to_aifs() local
307 slot_time = vif->bss_conf.use_short_slot ? 9 : 20; in rtw89_aifsn_to_aifs()
383 struct ieee80211_vif *vif, in rtw89_station_mode_sta_assoc() argument
388 if (vif->type != NL80211_IFTYPE_STATION) in rtw89_station_mode_sta_assoc()
391 sta = ieee80211_find_sta(vif, conf->bssid); in rtw89_station_mode_sta_assoc()
397 rtw89_vif_type_mapping(vif, true); in rtw89_station_mode_sta_assoc()
399 rtw89_core_sta_assoc(rtwdev, vif, sta); in rtw89_station_mode_sta_assoc()
403 struct ieee80211_vif *vif, in rtw89_ops_bss_info_changed() argument
408 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv; in rtw89_ops_bss_info_changed()
414 if (vif->cfg.assoc) { in rtw89_ops_bss_info_changed()
415 rtw89_station_mode_sta_assoc(rtwdev, vif, conf); in rtw89_ops_bss_info_changed()
416 rtw89_phy_set_bss_color(rtwdev, vif); in rtw89_ops_bss_info_changed()
417 rtw89_chip_cfg_txpwr_ul_tb_offset(rtwdev, vif); in rtw89_ops_bss_info_changed()
419 rtw89_mac_set_he_obss_narrow_bw_ru(rtwdev, vif); in rtw89_ops_bss_info_changed()
444 rtw89_phy_set_bss_color(rtwdev, vif); in rtw89_ops_bss_info_changed()
447 rtw89_mac_bf_set_gid_table(rtwdev, vif, conf); in rtw89_ops_bss_info_changed()
450 rtw89_process_p2p_ps(rtwdev, vif); in rtw89_ops_bss_info_changed()
453 rtw89_fw_h2c_set_bcn_fltr_cfg(rtwdev, vif, true); in rtw89_ops_bss_info_changed()
462 struct ieee80211_vif *vif, in rtw89_ops_start_ap() argument
466 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv; in rtw89_ops_start_ap()
480 ether_addr_copy(rtwvif->bssid, vif->bss_conf.bssid); in rtw89_ops_start_ap()
483 rtw89_fw_h2c_assoc_cmac_tbl(rtwdev, vif, NULL); in rtw89_ops_start_ap()
496 void rtw89_ops_stop_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif, in rtw89_ops_stop_ap() argument
500 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv; in rtw89_ops_stop_ap()
504 rtw89_fw_h2c_assoc_cmac_tbl(rtwdev, vif, NULL); in rtw89_ops_stop_ap()
522 struct ieee80211_vif *vif, in rtw89_ops_conf_tx() argument
527 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv; in rtw89_ops_conf_tx()
539 struct ieee80211_vif *vif, in __rtw89_ops_sta_state() argument
548 return rtw89_core_sta_add(rtwdev, vif, sta); in __rtw89_ops_sta_state()
552 if (vif->type == NL80211_IFTYPE_STATION && !sta->tdls) in __rtw89_ops_sta_state()
553 return 0; /* defer to bss_info_changed to have vif info */ in __rtw89_ops_sta_state()
554 return rtw89_core_sta_assoc(rtwdev, vif, sta); in __rtw89_ops_sta_state()
559 return rtw89_core_sta_disassoc(rtwdev, vif, sta); in __rtw89_ops_sta_state()
563 return rtw89_core_sta_disconnect(rtwdev, vif, sta); in __rtw89_ops_sta_state()
567 return rtw89_core_sta_remove(rtwdev, vif, sta); in __rtw89_ops_sta_state()
573 struct ieee80211_vif *vif, in rtw89_ops_sta_state() argument
583 ret = __rtw89_ops_sta_state(hw, vif, sta, old_state, new_state); in rtw89_ops_sta_state()
590 struct ieee80211_vif *vif, in rtw89_ops_set_key() argument
603 ret = rtw89_cam_sec_key_add(rtwdev, vif, sta, key); in rtw89_ops_set_key()
613 ret = rtw89_cam_sec_key_del(rtwdev, vif, sta, key, true); in rtw89_ops_set_key()
628 struct ieee80211_vif *vif, in rtw89_ops_ampdu_action() argument
647 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); in rtw89_ops_ampdu_action()
689 struct ieee80211_vif *vif, in rtw89_ops_sta_statistics() argument
700 void __rtw89_drop_packets(struct rtw89_dev *rtwdev, struct ieee80211_vif *vif) in __rtw89_drop_packets() argument
704 if (vif) { in __rtw89_drop_packets()
705 rtwvif = (struct rtw89_vif *)vif->drv_priv; in __rtw89_drop_packets()
713 static void rtw89_ops_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif, in rtw89_ops_flush() argument
723 __rtw89_drop_packets(rtwdev, vif); in rtw89_ops_flush()
732 struct ieee80211_vif *vif; member
740 struct ieee80211_vif *vif = rtwvif_to_vif(rtwsta->rtwvif); in rtw89_ra_mask_info_update_iter() local
742 if (vif != br_data->vif || vif->p2p) in rtw89_ra_mask_info_update_iter()
751 struct ieee80211_vif *vif, in rtw89_ra_mask_info_update() argument
755 .vif = vif, in rtw89_ra_mask_info_update()
763 struct ieee80211_vif *vif, in rtw89_ops_set_bitrate_mask() argument
769 rtw89_phy_rate_pattern_vif(rtwdev, vif, mask); in rtw89_ops_set_bitrate_mask()
770 rtw89_ra_mask_info_update(rtwdev, vif, mask); in rtw89_ops_set_bitrate_mask()
812 struct ieee80211_vif *vif, in rtw89_ops_sw_scan_start() argument
816 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv; in rtw89_ops_sw_scan_start()
824 struct ieee80211_vif *vif) in rtw89_ops_sw_scan_complete() argument
829 rtw89_core_scan_complete(rtwdev, vif, false); in rtw89_ops_sw_scan_complete()
842 static int rtw89_ops_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif, in rtw89_ops_hw_scan() argument
846 struct rtw89_vif *rtwvif = vif_to_rtwvif_safe(vif); in rtw89_ops_hw_scan()
856 rtw89_hw_scan_start(rtwdev, vif, req); in rtw89_ops_hw_scan()
857 ret = rtw89_hw_scan_offload(rtwdev, vif, true); in rtw89_ops_hw_scan()
859 rtw89_hw_scan_abort(rtwdev, vif); in rtw89_ops_hw_scan()
868 struct ieee80211_vif *vif) in rtw89_ops_cancel_hw_scan() argument
879 rtw89_hw_scan_abort(rtwdev, vif); in rtw89_ops_cancel_hw_scan()
884 struct ieee80211_vif *vif, in rtw89_ops_sta_rc_update() argument
927 struct ieee80211_vif *vif, in rtw89_ops_assign_vif_chanctx() argument
932 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv; in rtw89_ops_assign_vif_chanctx()
943 struct ieee80211_vif *vif, in rtw89_ops_unassign_vif_chanctx() argument
948 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv; in rtw89_ops_unassign_vif_chanctx()
956 struct ieee80211_vif *vif, in rtw89_ops_remain_on_channel() argument
962 struct rtw89_vif *rtwvif = vif_to_rtwvif_safe(vif); in rtw89_ops_remain_on_channel()
965 if (!vif) in rtw89_ops_remain_on_channel()
995 struct ieee80211_vif *vif) in rtw89_ops_cancel_remain_on_channel() argument
998 struct rtw89_vif *rtwvif = vif_to_rtwvif_safe(vif); in rtw89_ops_cancel_remain_on_channel()
1022 struct ieee80211_vif *vif, in rtw89_ops_set_tid_config() argument