Lines Matching defs:rtwvif

444 void rtw89_get_channel(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif,
449 chandef = rtw89_chandef_get(rtwdev, rtwvif->sub_entity_idx);
599 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
604 return rtwvif->mac_id;
615 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
618 rtwvif->sub_entity_idx);
626 desc_info->port = desc_info->hiq ? rtwvif->port : 0;
764 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
775 if (!rtwvif || rtwvif->last_a_ctrl == desc_info->a_ctrl_bsr)
778 rtwvif->last_a_ctrl = desc_info->a_ctrl_bsr;
787 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
788 struct rtw89_phy_rate_pattern *rate_pattern = &rtwvif->rate_pattern;
789 enum rtw89_sub_entity_idx idx = rtwvif->sub_entity_idx;
815 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
831 desc_info->port = desc_info->hiq ? rtwvif->port : 0;
1041 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
1049 rtw89_traffic_stats_accu(rtwdev, &rtwvif->stats, skb, true);
1806 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
1812 rtwvif->wifi_role != RTW89_WIFI_ROLE_STATION ||
1813 rtwvif->net_type == RTW89_NET_TYPE_NO_LINK)
1838 rtwvif->stats.rx_tf_acc++;
1842 rtwvif->pwr_diff_en = true;
1913 static void rtw89_vif_sync_bcn_tsf(struct rtw89_vif *rtwvif,
1921 WRITE_ONCE(rtwvif->sync_bcn_tsf, le64_to_cpu(mgmt->u.beacon.timestamp));
1927 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
1956 rtw89_vif_sync_bcn_tsf(rtwvif, hdr, skb->len);
1968 rtw89_traffic_stats_accu(rtwdev, &rtwvif->stats, skb, false);
2800 struct rtw89_vif *rtwvif;
2810 rtwvif = (struct rtw89_vif *)txq->vif->drv_priv;
2812 if (rtwvif->offchan) {
2887 struct rtw89_vif *rtwvif_target = data, *rtwvif = rtwsta->rtwvif;
2888 struct rtw89_dev *rtwdev = rtwvif->rtwdev;
2889 struct ieee80211_vif *vif = rtwvif_to_vif(rtwvif);
2893 if (rtwvif->sub_entity_idx != rtwvif_target->sub_entity_idx)
2913 struct rtw89_vif *rtwvif)
2917 rtwvif);
2921 struct rtw89_vif *rtwvif, bool qos, bool ps)
2923 struct ieee80211_vif *vif = rtwvif_to_vif(rtwvif);
2966 void rtw89_roc_start(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif)
2970 struct rtw89_roc *roc = &rtwvif->roc;
2981 ret = rtw89_core_send_nullfunc(rtwdev, rtwvif, true, true);
2987 if (tmp->sub_entity_idx == rtwvif->sub_entity_idx)
2991 rtw89_config_roc_chandef(rtwdev, rtwvif->sub_entity_idx, &roc_chan);
2998 cancel_delayed_work(&rtwvif->roc.roc_work);
2999 ieee80211_queue_delayed_work(hw, &rtwvif->roc.roc_work,
3000 msecs_to_jiffies(rtwvif->roc.duration));
3003 void rtw89_roc_end(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif)
3007 struct rtw89_roc *roc = &rtwvif->roc;
3024 rtw89_config_roc_chandef(rtwdev, rtwvif->sub_entity_idx, NULL);
3026 ret = rtw89_core_send_nullfunc(rtwdev, rtwvif, true, false);
3032 if (tmp->sub_entity_idx == rtwvif->sub_entity_idx)
3035 rtw89_core_handle_sta_pending_tx(rtwdev, rtwvif);
3045 struct rtw89_vif *rtwvif = container_of(work, struct rtw89_vif,
3047 struct rtw89_dev *rtwdev = rtwvif->rtwdev;
3048 struct rtw89_roc *roc = &rtwvif->roc;
3058 rtw89_roc_end(rtwdev, rtwvif);
3119 struct rtw89_vif *rtwvif;
3123 rtw89_for_each_rtwvif(rtwdev, rtwvif) {
3124 rtw89_traffic_stats_calc(rtwdev, &rtwvif->stats);
3125 rtw89_fw_h2c_tp_offload(rtwdev, rtwvif);
3131 static void rtw89_vif_enter_lps(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif)
3133 if ((rtwvif->wifi_role != RTW89_WIFI_ROLE_STATION &&
3134 rtwvif->wifi_role != RTW89_WIFI_ROLE_P2P_CLIENT) ||
3135 rtwvif->tdls_peer)
3138 if (rtwvif->offchan)
3141 if (rtwvif->stats.tx_tfc_lv == RTW89_TFC_IDLE &&
3142 rtwvif->stats.rx_tfc_lv == RTW89_TFC_IDLE)
3143 rtw89_enter_lps(rtwdev, rtwvif, true);
3148 struct rtw89_vif *rtwvif;
3150 rtw89_for_each_rtwvif(rtwdev, rtwvif)
3151 rtw89_vif_enter_lps(rtwdev, rtwvif);
3326 rtwvif->wifi_role = RTW89_WIFI_ROLE_ ## _type; \
3330 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
3335 rtwvif->wifi_role = RTW89_WIFI_ROLE_P2P_CLIENT;
3337 rtwvif->wifi_role = RTW89_WIFI_ROLE_STATION;
3341 rtwvif->wifi_role = RTW89_WIFI_ROLE_P2P_GO;
3343 rtwvif->wifi_role = RTW89_WIFI_ROLE_AP;
3356 rtwvif->net_type = RTW89_NET_TYPE_AP_MODE;
3357 rtwvif->self_role = RTW89_SELF_ROLE_AP;
3360 rtwvif->net_type = RTW89_NET_TYPE_AD_HOC;
3361 rtwvif->self_role = RTW89_SELF_ROLE_CLIENT;
3365 rtwvif->net_type = RTW89_NET_TYPE_INFRA;
3366 rtwvif->trigger = vif->bss_conf.he_support;
3368 rtwvif->net_type = RTW89_NET_TYPE_NO_LINK;
3369 rtwvif->trigger = false;
3371 rtwvif->self_role = RTW89_SELF_ROLE_CLIENT;
3372 rtwvif->addr_cam.sec_ent_mode = RTW89_ADDR_CAM_SEC_NORMAL;
3386 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
3394 rtwsta->rtwvif = rtwvif;
3412 rtwsta->mac_id = rtwvif->mac_id;
3415 ret = rtw89_reg_6ghz_recalc(rtwdev, rtwvif, true);
3419 rtw89_btc_ntfy_role_info(rtwdev, rtwvif, rtwsta,
3434 ret = rtw89_fw_h2c_role_maintain(rtwdev, rtwvif, rtwsta,
3442 ret = rtw89_chip_h2c_default_cmac_tbl(rtwdev, rtwvif, rtwsta);
3446 ret = rtw89_chip_h2c_default_dmac_tbl(rtwdev, rtwvif, rtwsta);
3460 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
3468 rtwvif->tdls_peer--;
3478 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
3495 rtw89_fw_release_general_pkt_list_vif(rtwdev, rtwvif, true);
3504 ret = rtw89_fw_h2c_join_info(rtwdev, rtwvif, rtwsta, true);
3511 ret = rtw89_fw_h2c_cam(rtwdev, rtwvif, rtwsta, NULL);
3524 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
3526 struct rtw89_bssid_cam_entry *bssid_cam = rtw89_get_bssid_cam_of(rtwvif, rtwsta);
3528 rtwvif->sub_entity_idx);
3533 ret = rtw89_cam_init_bssid_cam(rtwdev, rtwvif, bssid_cam, sta->addr);
3553 ret = rtw89_fw_h2c_join_info(rtwdev, rtwvif, rtwsta, false);
3560 ret = rtw89_fw_h2c_cam(rtwdev, rtwvif, rtwsta, NULL);
3568 rtwvif->tdls_peer++;
3580 rtw89_btc_ntfy_role_info(rtwdev, rtwvif, rtwsta,
3583 rtw89_phy_ul_tb_assoc(rtwdev, rtwvif);
3585 ret = rtw89_fw_h2c_general_pkt(rtwdev, rtwvif, rtwsta->mac_id);
3601 struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv;
3606 rtw89_reg_6ghz_recalc(rtwdev, rtwvif, false);
3607 rtw89_btc_ntfy_role_info(rtwdev, rtwvif, rtwsta,
3612 ret = rtw89_fw_h2c_role_maintain(rtwdev, rtwvif, rtwsta,
4081 struct rtw89_vif *rtwvif = container_of(work, struct rtw89_vif,
4084 if (rtwvif->net_type != RTW89_NET_TYPE_AP_MODE)
4087 rtwdev = rtwvif->rtwdev;
4089 rtw89_chip_h2c_update_beacon(rtwdev, rtwvif);
4366 void rtw89_core_scan_start(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif,
4370 rtwvif->sub_entity_idx);
4377 ether_addr_copy(rtwvif->mac_addr, mac_addr);
4383 rtw89_fw_h2c_cam(rtwdev, rtwvif, NULL, mac_addr);
4389 struct rtw89_vif *rtwvif = vif ? (struct rtw89_vif *)vif->drv_priv : NULL;
4391 if (!rtwvif)
4394 ether_addr_copy(rtwvif->mac_addr, vif->addr);
4395 rtw89_fw_h2c_cam(rtwdev, rtwvif, NULL, NULL);