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()
135 rtw89_vif_type_mapping(vif, false); in rtw89_ops_add_interface()
150 ether_addr_copy(rtwvif->mac_addr, vif->addr); in rtw89_ops_add_interface()
160 rtw89_core_txq_init(rtwdev, vif->txq); in rtw89_ops_add_interface()
172 struct ieee80211_vif *vif) in rtw89_ops_remove_interface() argument
175 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv; in rtw89_ops_remove_interface()
177 rtw89_debug(rtwdev, RTW89_DBG_STATE, "remove vif %pM type %d p2p %d\n", in rtw89_ops_remove_interface()
178 vif->addr, vif->type, vif->p2p); in rtw89_ops_remove_interface()
196 struct ieee80211_vif *vif, in rtw89_ops_change_interface() argument
204 rtw89_debug(rtwdev, RTW89_DBG_STATE, "change vif %pM (%d)->(%d), p2p (%d)->(%d)\n", in rtw89_ops_change_interface()
205 vif->addr, vif->type, type, vif->p2p, p2p); in rtw89_ops_change_interface()
207 rtw89_ops_remove_interface(hw, vif); in rtw89_ops_change_interface()
209 vif->type = type; in rtw89_ops_change_interface()
210 vif->p2p = p2p; in rtw89_ops_change_interface()
212 ret = rtw89_ops_add_interface(hw, vif); in rtw89_ops_change_interface()
299 struct ieee80211_vif *vif = rtwvif_to_vif(rtwvif); in rtw89_aifsn_to_aifs() local
305 slot_time = vif->bss_conf.use_short_slot ? 9 : 20; in rtw89_aifsn_to_aifs()
381 struct ieee80211_vif *vif, in rtw89_station_mode_sta_assoc() argument
386 if (vif->type != NL80211_IFTYPE_STATION) in rtw89_station_mode_sta_assoc()
389 sta = ieee80211_find_sta(vif, conf->bssid); in rtw89_station_mode_sta_assoc()
395 rtw89_vif_type_mapping(vif, true); in rtw89_station_mode_sta_assoc()
397 rtw89_core_sta_assoc(rtwdev, vif, sta); in rtw89_station_mode_sta_assoc()
401 struct ieee80211_vif *vif, in rtw89_ops_bss_info_changed() argument
406 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv; in rtw89_ops_bss_info_changed()
412 if (vif->cfg.assoc) { in rtw89_ops_bss_info_changed()
413 rtw89_station_mode_sta_assoc(rtwdev, vif, conf); in rtw89_ops_bss_info_changed()
414 rtw89_phy_set_bss_color(rtwdev, vif); in rtw89_ops_bss_info_changed()
415 rtw89_chip_cfg_txpwr_ul_tb_offset(rtwdev, vif); in rtw89_ops_bss_info_changed()
417 rtw89_mac_set_he_obss_narrow_bw_ru(rtwdev, vif); in rtw89_ops_bss_info_changed()
425 rtw89_hw_scan_abort(rtwdev, vif); in rtw89_ops_bss_info_changed()
442 rtw89_phy_set_bss_color(rtwdev, vif); in rtw89_ops_bss_info_changed()
445 rtw89_mac_bf_set_gid_table(rtwdev, vif, conf); in rtw89_ops_bss_info_changed()
448 rtw89_process_p2p_ps(rtwdev, vif); in rtw89_ops_bss_info_changed()
451 rtw89_fw_h2c_set_bcn_fltr_cfg(rtwdev, vif, true); in rtw89_ops_bss_info_changed()
460 struct ieee80211_vif *vif, in rtw89_ops_start_ap() argument
464 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv; in rtw89_ops_start_ap()
475 ether_addr_copy(rtwvif->bssid, vif->bss_conf.bssid); in rtw89_ops_start_ap()
478 rtw89_fw_h2c_assoc_cmac_tbl(rtwdev, vif, NULL); in rtw89_ops_start_ap()
491 void rtw89_ops_stop_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif, in rtw89_ops_stop_ap() argument
495 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv; in rtw89_ops_stop_ap()
499 rtw89_fw_h2c_assoc_cmac_tbl(rtwdev, vif, NULL); in rtw89_ops_stop_ap()
517 struct ieee80211_vif *vif, in rtw89_ops_conf_tx() argument
522 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv; in rtw89_ops_conf_tx()
534 struct ieee80211_vif *vif, in __rtw89_ops_sta_state() argument
543 return rtw89_core_sta_add(rtwdev, vif, sta); in __rtw89_ops_sta_state()
547 if (vif->type == NL80211_IFTYPE_STATION && !sta->tdls) in __rtw89_ops_sta_state()
548 return 0; /* defer to bss_info_changed to have vif info */ in __rtw89_ops_sta_state()
549 return rtw89_core_sta_assoc(rtwdev, vif, sta); in __rtw89_ops_sta_state()
554 return rtw89_core_sta_disassoc(rtwdev, vif, sta); in __rtw89_ops_sta_state()
558 return rtw89_core_sta_disconnect(rtwdev, vif, sta); in __rtw89_ops_sta_state()
562 return rtw89_core_sta_remove(rtwdev, vif, sta); in __rtw89_ops_sta_state()
568 struct ieee80211_vif *vif, in rtw89_ops_sta_state() argument
578 ret = __rtw89_ops_sta_state(hw, vif, sta, old_state, new_state); in rtw89_ops_sta_state()
585 struct ieee80211_vif *vif, in rtw89_ops_set_key() argument
598 ret = rtw89_cam_sec_key_add(rtwdev, vif, sta, key); in rtw89_ops_set_key()
608 ret = rtw89_cam_sec_key_del(rtwdev, vif, sta, key, true); in rtw89_ops_set_key()
623 struct ieee80211_vif *vif, in rtw89_ops_ampdu_action() argument
642 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); in rtw89_ops_ampdu_action()
684 struct ieee80211_vif *vif, in rtw89_ops_sta_statistics() argument
695 void __rtw89_drop_packets(struct rtw89_dev *rtwdev, struct ieee80211_vif *vif) in __rtw89_drop_packets() argument
699 if (vif) { in __rtw89_drop_packets()
700 rtwvif = (struct rtw89_vif *)vif->drv_priv; in __rtw89_drop_packets()
708 static void rtw89_ops_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif, in rtw89_ops_flush() argument
718 __rtw89_drop_packets(rtwdev, vif); in rtw89_ops_flush()
727 struct ieee80211_vif *vif; member
735 struct ieee80211_vif *vif = rtwvif_to_vif(rtwsta->rtwvif); in rtw89_ra_mask_info_update_iter() local
737 if (vif != br_data->vif || vif->p2p) in rtw89_ra_mask_info_update_iter()
746 struct ieee80211_vif *vif, in rtw89_ra_mask_info_update() argument
750 .vif = vif, in rtw89_ra_mask_info_update()
758 struct ieee80211_vif *vif, in rtw89_ops_set_bitrate_mask() argument
764 rtw89_phy_rate_pattern_vif(rtwdev, vif, mask); in rtw89_ops_set_bitrate_mask()
765 rtw89_ra_mask_info_update(rtwdev, vif, mask); in rtw89_ops_set_bitrate_mask()
807 struct ieee80211_vif *vif, in rtw89_ops_sw_scan_start() argument
811 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv; in rtw89_ops_sw_scan_start()
819 struct ieee80211_vif *vif) in rtw89_ops_sw_scan_complete() argument
824 rtw89_core_scan_complete(rtwdev, vif, false); in rtw89_ops_sw_scan_complete()
837 static int rtw89_ops_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif, in rtw89_ops_hw_scan() argument
841 struct rtw89_vif *rtwvif = vif_to_rtwvif_safe(vif); in rtw89_ops_hw_scan()
851 rtw89_hw_scan_start(rtwdev, vif, req); in rtw89_ops_hw_scan()
852 ret = rtw89_hw_scan_offload(rtwdev, vif, true); in rtw89_ops_hw_scan()
854 rtw89_hw_scan_abort(rtwdev, vif); in rtw89_ops_hw_scan()
863 struct ieee80211_vif *vif) in rtw89_ops_cancel_hw_scan() argument
874 rtw89_hw_scan_abort(rtwdev, vif); in rtw89_ops_cancel_hw_scan()
879 struct ieee80211_vif *vif, in rtw89_ops_sta_rc_update() argument
922 struct ieee80211_vif *vif, in rtw89_ops_assign_vif_chanctx() argument
927 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv; in rtw89_ops_assign_vif_chanctx()
938 struct ieee80211_vif *vif, in rtw89_ops_unassign_vif_chanctx() argument
943 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv; in rtw89_ops_unassign_vif_chanctx()
951 struct ieee80211_vif *vif, in rtw89_ops_remain_on_channel() argument
957 struct rtw89_vif *rtwvif = vif_to_rtwvif_safe(vif); in rtw89_ops_remain_on_channel()
960 if (!vif) in rtw89_ops_remain_on_channel()
971 rtw89_hw_scan_abort(rtwdev, vif); in rtw89_ops_remain_on_channel()
990 struct ieee80211_vif *vif) in rtw89_ops_cancel_remain_on_channel() argument
993 struct rtw89_vif *rtwvif = vif_to_rtwvif_safe(vif); in rtw89_ops_cancel_remain_on_channel()
1017 struct ieee80211_vif *vif, in rtw89_ops_set_tid_config() argument