Lines Matching refs:rtwvif

439 void rtw89_get_channel(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif,
444 chandef = rtw89_chandef_get(rtwdev, rtwvif->sub_entity_idx);
507 struct rtw89_vif *rtwvif;
521 rtwvif = (struct rtw89_vif *)vif->drv_priv;
522 addr_cam = rtw89_get_addr_cam_of(rtwvif, rtwsta);
604 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
609 return rtwvif->mac_id;
620 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
623 rtwvif->sub_entity_idx);
631 desc_info->port = desc_info->hiq ? rtwvif->port : 0;
757 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
768 if (!rtwvif || rtwvif->last_a_ctrl == desc_info->a_ctrl_bsr)
771 rtwvif->last_a_ctrl = desc_info->a_ctrl_bsr;
780 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
781 struct rtw89_phy_rate_pattern *rate_pattern = &rtwvif->rate_pattern;
782 enum rtw89_sub_entity_idx idx = rtwvif->sub_entity_idx;
808 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
824 desc_info->port = desc_info->hiq ? rtwvif->port : 0;
1032 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
1040 rtw89_traffic_stats_accu(rtwdev, &rtwvif->stats, skb, true);
1772 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
1778 rtwvif->wifi_role != RTW89_WIFI_ROLE_STATION ||
1779 rtwvif->net_type == RTW89_NET_TYPE_NO_LINK)
1804 rtwvif->stats.rx_tf_acc++;
1808 rtwvif->pwr_diff_en = true;
1879 static void rtw89_vif_sync_bcn_tsf(struct rtw89_vif *rtwvif,
1887 WRITE_ONCE(rtwvif->sync_bcn_tsf, le64_to_cpu(mgmt->u.beacon.timestamp));
1893 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
1921 rtw89_vif_sync_bcn_tsf(rtwvif, hdr, skb->len);
1933 rtw89_traffic_stats_accu(rtwdev, &rtwvif->stats, skb, false);
2732 struct rtw89_vif *rtwvif;
2742 rtwvif = (struct rtw89_vif *)txq->vif->drv_priv;
2744 if (rtwvif->offchan) {
2819 struct rtw89_vif *rtwvif_target = data, *rtwvif = rtwsta->rtwvif;
2820 struct rtw89_dev *rtwdev = rtwvif->rtwdev;
2821 struct ieee80211_vif *vif = rtwvif_to_vif(rtwvif);
2825 if (rtwvif->sub_entity_idx != rtwvif_target->sub_entity_idx)
2845 struct rtw89_vif *rtwvif)
2849 rtwvif);
2853 struct rtw89_vif *rtwvif, bool qos, bool ps)
2855 struct ieee80211_vif *vif = rtwvif_to_vif(rtwvif);
2898 void rtw89_roc_start(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif)
2902 struct rtw89_roc *roc = &rtwvif->roc;
2913 ret = rtw89_core_send_nullfunc(rtwdev, rtwvif, true, true);
2919 if (tmp->sub_entity_idx == rtwvif->sub_entity_idx)
2923 rtw89_config_roc_chandef(rtwdev, rtwvif->sub_entity_idx, &roc_chan);
2930 cancel_delayed_work(&rtwvif->roc.roc_work);
2931 ieee80211_queue_delayed_work(hw, &rtwvif->roc.roc_work,
2932 msecs_to_jiffies(rtwvif->roc.duration));
2935 void rtw89_roc_end(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif)
2939 struct rtw89_roc *roc = &rtwvif->roc;
2956 rtw89_config_roc_chandef(rtwdev, rtwvif->sub_entity_idx, NULL);
2958 ret = rtw89_core_send_nullfunc(rtwdev, rtwvif, true, false);
2964 if (tmp->sub_entity_idx == rtwvif->sub_entity_idx)
2967 rtw89_core_handle_sta_pending_tx(rtwdev, rtwvif);
2977 struct rtw89_vif *rtwvif = container_of(work, struct rtw89_vif,
2979 struct rtw89_dev *rtwdev = rtwvif->rtwdev;
2980 struct rtw89_roc *roc = &rtwvif->roc;
2990 rtw89_roc_end(rtwdev, rtwvif);
3051 struct rtw89_vif *rtwvif;
3055 rtw89_for_each_rtwvif(rtwdev, rtwvif) {
3056 rtw89_traffic_stats_calc(rtwdev, &rtwvif->stats);
3057 rtw89_fw_h2c_tp_offload(rtwdev, rtwvif);
3063 static void rtw89_vif_enter_lps(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif)
3065 if ((rtwvif->wifi_role != RTW89_WIFI_ROLE_STATION &&
3066 rtwvif->wifi_role != RTW89_WIFI_ROLE_P2P_CLIENT) ||
3067 rtwvif->tdls_peer)
3070 if (rtwvif->offchan)
3073 if (rtwvif->stats.tx_tfc_lv == RTW89_TFC_IDLE &&
3074 rtwvif->stats.rx_tfc_lv == RTW89_TFC_IDLE)
3075 rtw89_enter_lps(rtwdev, rtwvif, true);
3080 struct rtw89_vif *rtwvif;
3082 rtw89_for_each_rtwvif(rtwdev, rtwvif)
3083 rtw89_vif_enter_lps(rtwdev, rtwvif);
3258 rtwvif->wifi_role = RTW89_WIFI_ROLE_ ## _type; \
3262 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
3267 rtwvif->wifi_role = RTW89_WIFI_ROLE_P2P_CLIENT;
3269 rtwvif->wifi_role = RTW89_WIFI_ROLE_STATION;
3273 rtwvif->wifi_role = RTW89_WIFI_ROLE_P2P_GO;
3275 rtwvif->wifi_role = RTW89_WIFI_ROLE_AP;
3288 rtwvif->net_type = RTW89_NET_TYPE_AP_MODE;
3289 rtwvif->self_role = RTW89_SELF_ROLE_AP;
3292 rtwvif->net_type = RTW89_NET_TYPE_AD_HOC;
3293 rtwvif->self_role = RTW89_SELF_ROLE_CLIENT;
3297 rtwvif->net_type = RTW89_NET_TYPE_INFRA;
3298 rtwvif->trigger = vif->bss_conf.he_support;
3300 rtwvif->net_type = RTW89_NET_TYPE_NO_LINK;
3301 rtwvif->trigger = false;
3303 rtwvif->self_role = RTW89_SELF_ROLE_CLIENT;
3304 rtwvif->addr_cam.sec_ent_mode = RTW89_ADDR_CAM_SEC_NORMAL;
3318 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
3326 rtwsta->rtwvif = rtwvif;
3344 rtwsta->mac_id = rtwvif->mac_id;
3346 rtw89_reg_6ghz_power_recalc(rtwdev, rtwvif, true);
3347 rtw89_btc_ntfy_role_info(rtwdev, rtwvif, rtwsta,
3363 ret = rtw89_fw_h2c_role_maintain(rtwdev, rtwvif, rtwsta,
3371 ret = rtw89_chip_h2c_default_cmac_tbl(rtwdev, rtwvif, rtwsta);
3375 ret = rtw89_chip_h2c_default_dmac_tbl(rtwdev, rtwvif, rtwsta);
3389 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
3397 rtwvif->tdls_peer--;
3407 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
3424 rtw89_fw_release_general_pkt_list_vif(rtwdev, rtwvif, true);
3433 ret = rtw89_fw_h2c_join_info(rtwdev, rtwvif, rtwsta, true);
3440 ret = rtw89_fw_h2c_cam(rtwdev, rtwvif, rtwsta, NULL);
3453 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
3455 struct rtw89_bssid_cam_entry *bssid_cam = rtw89_get_bssid_cam_of(rtwvif, rtwsta);
3457 rtwvif->sub_entity_idx);
3462 ret = rtw89_cam_init_bssid_cam(rtwdev, rtwvif, bssid_cam, sta->addr);
3482 ret = rtw89_fw_h2c_join_info(rtwdev, rtwvif, rtwsta, false);
3489 ret = rtw89_fw_h2c_cam(rtwdev, rtwvif, rtwsta, NULL);
3497 rtwvif->tdls_peer++;
3509 rtw89_btc_ntfy_role_info(rtwdev, rtwvif, rtwsta,
3512 rtw89_phy_ul_tb_assoc(rtwdev, rtwvif);
3514 ret = rtw89_fw_h2c_general_pkt(rtwdev, rtwvif, rtwsta->mac_id);
3530 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
3535 rtw89_reg_6ghz_power_recalc(rtwdev, rtwvif, false);
3536 rtw89_btc_ntfy_role_info(rtwdev, rtwvif, rtwsta,
3541 ret = rtw89_fw_h2c_role_maintain(rtwdev, rtwvif, rtwsta,
4010 struct rtw89_vif *rtwvif = container_of(work, struct rtw89_vif,
4013 if (rtwvif->net_type != RTW89_NET_TYPE_AP_MODE)
4016 rtwdev = rtwvif->rtwdev;
4018 rtw89_chip_h2c_update_beacon(rtwdev, rtwvif);
4276 void rtw89_core_scan_start(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif,
4280 rtwvif->sub_entity_idx);
4287 ether_addr_copy(rtwvif->mac_addr, mac_addr);
4293 rtw89_fw_h2c_cam(rtwdev, rtwvif, NULL, mac_addr);
4299 struct rtw89_vif *rtwvif = vif ? (struct rtw89_vif *)vif->drv_priv : NULL;
4301 if (!rtwvif)
4304 ether_addr_copy(rtwvif->mac_addr, vif->addr);
4305 rtw89_fw_h2c_cam(rtwdev, rtwvif, NULL, NULL);