Lines Matching defs:rtwvif

26 	struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
31 if (rtwvif->offchan && !(flags & IEEE80211_TX_CTL_TX_OFFCHAN) && sta) {
112 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
126 rtwvif->rtwdev = rtwdev;
127 rtwvif->roc.state = RTW89_ROC_IDLE;
128 rtwvif->offchan = false;
129 list_add_tail(&rtwvif->list, &rtwdev->rtwvifs_list);
130 INIT_WORK(&rtwvif->update_beacon_work, rtw89_core_update_beacon_work);
131 INIT_DELAYED_WORK(&rtwvif->roc.roc_work, rtw89_roc_work);
134 rtw89_traffic_stats_init(rtwdev, &rtwvif->stats);
136 rtwvif->port = rtw89_core_acquire_bit_map(rtwdev->hw_port,
138 if (rtwvif->port == RTW89_PORT_NUM) {
140 list_del_init(&rtwvif->list);
144 rtwvif->bcn_hit_cond = 0;
145 rtwvif->mac_idx = RTW89_MAC_0;
146 rtwvif->phy_idx = RTW89_PHY_0;
147 rtwvif->sub_entity_idx = RTW89_SUB_ENTITY_0;
148 rtwvif->chanctx_assigned = false;
149 rtwvif->hit_rule = 0;
150 rtwvif->reg_6ghz_power = RTW89_REG_6GHZ_POWER_DFLT;
151 ether_addr_copy(rtwvif->mac_addr, vif->addr);
152 INIT_LIST_HEAD(&rtwvif->general_pkt_list);
154 ret = rtw89_mac_add_vif(rtwdev, rtwvif);
156 rtw89_core_release_bit_map(rtwdev->hw_port, rtwvif->port);
157 list_del_init(&rtwvif->list);
163 rtw89_btc_ntfy_role_info(rtwdev, rtwvif, NULL, BTC_ROLE_START);
176 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
181 cancel_work_sync(&rtwvif->update_beacon_work);
182 cancel_delayed_work_sync(&rtwvif->roc.roc_work);
186 rtw89_btc_ntfy_role_info(rtwdev, rtwvif, NULL, BTC_ROLE_STOP);
187 rtw89_mac_remove_vif(rtwdev, rtwvif);
188 rtw89_core_release_bit_map(rtwdev->hw_port, rtwvif->port);
189 list_del_init(&rtwvif->list);
312 struct rtw89_vif *rtwvif, u8 aifsn)
314 struct ieee80211_vif *vif = rtwvif_to_vif(rtwvif);
316 rtwvif->sub_entity_idx);
327 struct rtw89_vif *rtwvif, u16 ac)
329 struct ieee80211_tx_queue_params *params = &rtwvif->tx_params[ac];
337 aifs = rtw89_aifsn_to_aifs(rtwdev, rtwvif, params->aifs);
342 rtw89_fw_h2c_set_edca(rtwdev, rtwvif, ac_to_fw_idx[ac], val);
356 struct rtw89_vif *rtwvif, u16 ac)
358 struct ieee80211_tx_queue_params *params = &rtwvif->tx_params[ac];
371 aifs = aifsn ? rtw89_aifsn_to_aifs(rtwdev, rtwvif, aifsn) : 0;
377 reg = rtw89_mac_reg_by_idx(rtwdev, ac_to_mu_edca_param[ac][gen], rtwvif->mac_idx);
380 rtw89_mac_set_hw_muedca_ctrl(rtwdev, rtwvif, true);
384 struct rtw89_vif *rtwvif, u16 ac)
386 ____rtw89_conf_tx_edca(rtwdev, rtwvif, ac);
387 ____rtw89_conf_tx_mu_edca(rtwdev, rtwvif, ac);
391 struct rtw89_vif *rtwvif)
396 __rtw89_conf_tx(rtwdev, rtwvif, ac);
422 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
432 rtw89_mac_port_update(rtwdev, rtwvif);
449 rtwvif->ip_addr = vif->cfg.arp_addr_list[0];
460 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
466 ether_addr_copy(rtwvif->bssid, conf->bssid);
467 rtw89_cam_bssid_changed(rtwdev, rtwvif);
468 rtw89_fw_h2c_cam(rtwdev, rtwvif, NULL, NULL);
469 WRITE_ONCE(rtwvif->sync_bcn_tsf, 0);
473 rtw89_chip_h2c_update_beacon(rtwdev, rtwvif);
476 rtw89_conf_tx(rtwdev, rtwvif);
491 rtw89_reg_6ghz_recalc(rtwdev, rtwvif, true);
501 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
506 chan = rtw89_chan_get(rtwdev, rtwvif->sub_entity_idx);
515 ether_addr_copy(rtwvif->bssid, vif->bss_conf.bssid);
516 rtw89_cam_bssid_changed(rtwdev, rtwvif);
517 rtw89_mac_port_update(rtwdev, rtwvif);
519 rtw89_fw_h2c_role_maintain(rtwdev, rtwvif, NULL, RTW89_ROLE_TYPE_CHANGE);
520 rtw89_fw_h2c_join_info(rtwdev, rtwvif, NULL, true);
521 rtw89_fw_h2c_cam(rtwdev, rtwvif, NULL, NULL);
535 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
538 rtw89_mac_stop_ap(rtwdev, rtwvif);
540 rtw89_fw_h2c_join_info(rtwdev, rtwvif, NULL, true);
549 struct rtw89_vif *rtwvif = rtwsta->rtwvif;
551 ieee80211_queue_work(rtwdev->hw, &rtwvif->update_beacon_work);
562 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
566 rtwvif->tx_params[ac] = *params;
567 __rtw89_conf_tx(rtwdev, rtwvif, ac);
741 struct rtw89_vif *rtwvif;
744 rtwvif = (struct rtw89_vif *)vif->drv_priv;
745 rtw89_mac_pkt_drop_vif(rtwdev, rtwvif);
747 rtw89_for_each_rtwvif(rtwdev, rtwvif)
748 rtw89_mac_pkt_drop_vif(rtwdev, rtwvif);
779 struct ieee80211_vif *vif = rtwvif_to_vif(rtwsta->rtwvif);
855 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
858 rtw89_core_scan_start(rtwdev, rtwvif, mac_addr, false);
885 struct rtw89_vif *rtwvif = vif_to_rtwvif_safe(vif);
891 if (rtwdev->scanning || rtwvif->offchan)
971 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
975 ret = rtw89_chanctx_ops_assign_vif(rtwdev, rtwvif, ctx);
987 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
990 rtw89_chanctx_ops_unassign_vif(rtwdev, rtwvif, ctx);
1001 struct rtw89_vif *rtwvif = vif_to_rtwvif_safe(vif);
1002 struct rtw89_roc *roc = &rtwvif->roc;
1026 rtw89_roc_start(rtwdev, rtwvif);
1037 struct rtw89_vif *rtwvif = vif_to_rtwvif_safe(vif);
1039 if (!rtwvif)
1042 cancel_delayed_work_sync(&rtwvif->roc.roc_work);
1045 rtw89_roc_end(rtwdev, rtwvif);
1055 struct rtw89_dev *rtwdev = rtwsta->rtwvif->rtwdev;