Lines Matching defs:rtwsta
474 struct rtw89_sta *rtwsta;
492 rtwsta = (struct rtw89_sta *)sta->drv_priv;
494 ampdu_num = (u8)((rtwsta->ampdu_params[tid].agg_num ?
495 rtwsta->ampdu_params[tid].agg_num :
601 struct rtw89_sta *rtwsta;
606 rtwsta = (struct rtw89_sta *)sta->drv_priv;
607 return rtwsta->mac_id;
692 struct rtw89_sta *rtwsta = sta_to_rtwsta_safe(sta);
710 if (rtwsta && rtwsta->ra_report.might_fallback_legacy)
721 struct rtw89_sta *rtwsta = (struct rtw89_sta *)sta->drv_priv;
745 *htc = rtwsta->htc_template ? rtwsta->htc_template :
816 struct rtw89_sta *rtwsta = sta_to_rtwsta_safe(sta);
832 desc_info->er_cap = rtwsta ? rtwsta->er_cap : false;
833 desc_info->stbc = rtwsta ? rtwsta->ra.stbc_cap : false;
834 desc_info->ldpc = rtwsta ? rtwsta->ra.ldpc_cap : false;
1503 struct rtw89_sta *rtwsta = (struct rtw89_sta *)sta->drv_priv;
1505 struct rtw89_dev *rtwdev = rtwsta->rtwdev;
1512 if (rtwsta->mac_id != phy_ppdu->mac_id || !phy_ppdu->to_self)
1520 ewma_rssi_add(&rtwsta->avg_rssi, phy_ppdu->rssi_avg);
1523 ewma_rssi_add(&rtwsta->rssi[ant_pos], phy_ppdu->rssi[0]);
1526 ewma_rssi_add(&rtwsta->rssi[i], phy_ppdu->rssi[i]);
1530 ewma_snr_add(&rtwsta->avg_snr, phy_ppdu->ofdm.avg_snr);
1531 ewma_evm_add(&rtwsta->evm_min[evm_pos], phy_ppdu->ofdm.evm_min);
1532 ewma_evm_add(&rtwsta->evm_max[evm_pos], phy_ppdu->ofdm.evm_max);
2363 struct rtw89_sta *rtwsta = (struct rtw89_sta *)sta->drv_priv;
2367 if (mac_id != rtwsta->mac_id)
2370 rtwsta->rx_status = *rx_status;
2371 rtwsta->rx_hw_rate = desc_info->data_rate;
2589 struct rtw89_sta *rtwsta = sta ? (struct rtw89_sta *)sta->drv_priv : NULL;
2597 if (rtwsta->disassoc) {
2652 struct rtw89_sta *rtwsta = (struct rtw89_sta *)sta->drv_priv;
2655 skb_queue_walk_safe(&rtwsta->roc_queue, skb, tmp) {
2656 skb_unlink(skb, &rtwsta->roc_queue);
2666 struct rtw89_sta *rtwsta = sta_to_rtwsta_safe(sta);
2668 if (unlikely(!rtwsta) || unlikely(rtwsta->disassoc))
2693 struct rtw89_sta *rtwsta = sta ? (struct rtw89_sta *)sta->drv_priv : NULL;
2715 if (!rtwsta->disassoc && list_empty(&rtwtxq->list)) {
2770 struct rtw89_sta *rtwsta = sta ? (struct rtw89_sta *)sta->drv_priv : NULL;
2772 if (!sta || rtwsta->max_agg_wait <= 0)
2786 if (*frame_cnt == 1 && rtwtxq->wait_cnt < rtwsta->max_agg_wait) {
2886 struct rtw89_sta *rtwsta = (struct rtw89_sta *)sta->drv_priv;
2887 struct rtw89_vif *rtwvif_target = data, *rtwvif = rtwsta->rtwvif;
2896 if (skb_queue_len(&rtwsta->roc_queue) == 0)
2899 skb_queue_walk_safe(&rtwsta->roc_queue, skb, tmp) {
2900 skb_unlink(skb, &rtwsta->roc_queue);
3256 struct rtw89_sta *rtwsta, u8 tid, u8 *cam_idx)
3293 list_add_tail(&entry->list, &rtwsta->ba_cam_list);
3301 struct rtw89_sta *rtwsta, u8 tid, u8 *cam_idx)
3309 list_for_each_entry_safe(entry, tmp, &rtwsta->ba_cam_list, list) {
3387 struct rtw89_sta *rtwsta = (struct rtw89_sta *)sta->drv_priv;
3393 rtwsta->rtwdev = rtwdev;
3394 rtwsta->rtwvif = rtwvif;
3395 rtwsta->prev_rssi = 0;
3396 INIT_LIST_HEAD(&rtwsta->ba_cam_list);
3397 skb_queue_head_init(&rtwsta->roc_queue);
3402 ewma_rssi_init(&rtwsta->avg_rssi);
3403 ewma_snr_init(&rtwsta->avg_snr);
3405 ewma_rssi_init(&rtwsta->rssi[i]);
3406 ewma_evm_init(&rtwsta->evm_min[i]);
3407 ewma_evm_init(&rtwsta->evm_max[i]);
3412 rtwsta->mac_id = rtwvif->mac_id;
3419 rtw89_btc_ntfy_role_info(rtwdev, rtwvif, rtwsta,
3423 rtwsta->mac_id = rtw89_acquire_mac_id(rtwdev);
3424 if (rtwsta->mac_id == RTW89_MAX_MAC_ID_NUM)
3427 ret = rtw89_mac_set_macid_pause(rtwdev, rtwsta->mac_id, false);
3429 rtw89_release_mac_id(rtwdev, rtwsta->mac_id);
3434 ret = rtw89_fw_h2c_role_maintain(rtwdev, rtwvif, rtwsta,
3437 rtw89_release_mac_id(rtwdev, rtwsta->mac_id);
3442 ret = rtw89_chip_h2c_default_cmac_tbl(rtwdev, rtwvif, rtwsta);
3446 ret = rtw89_chip_h2c_default_dmac_tbl(rtwdev, rtwvif, rtwsta);
3461 struct rtw89_sta *rtwsta = (struct rtw89_sta *)sta->drv_priv;
3469 rtwsta->disassoc = true;
3479 struct rtw89_sta *rtwsta = (struct rtw89_sta *)sta->drv_priv;
3489 rtw89_cam_deinit_addr_cam(rtwdev, &rtwsta->addr_cam);
3491 rtw89_cam_deinit_bssid_cam(rtwdev, &rtwsta->bssid_cam);
3504 ret = rtw89_fw_h2c_join_info(rtwdev, rtwvif, rtwsta, true);
3511 ret = rtw89_fw_h2c_cam(rtwdev, rtwvif, rtwsta, NULL);
3525 struct rtw89_sta *rtwsta = (struct rtw89_sta *)sta->drv_priv;
3526 struct rtw89_bssid_cam_entry *bssid_cam = rtw89_get_bssid_cam_of(rtwvif, rtwsta);
3540 ret = rtw89_cam_init_addr_cam(rtwdev, &rtwsta->addr_cam, bssid_cam);
3553 ret = rtw89_fw_h2c_join_info(rtwdev, rtwvif, rtwsta, false);
3560 ret = rtw89_fw_h2c_cam(rtwdev, rtwvif, rtwsta, NULL);
3578 rtwsta->er_cap = true;
3580 rtw89_btc_ntfy_role_info(rtwdev, rtwvif, rtwsta,
3582 rtw89_core_get_no_ul_ofdma_htc(rtwdev, &rtwsta->htc_template, chan);
3585 ret = rtw89_fw_h2c_general_pkt(rtwdev, rtwvif, rtwsta->mac_id);
3602 struct rtw89_sta *rtwsta = (struct rtw89_sta *)sta->drv_priv;
3607 rtw89_btc_ntfy_role_info(rtwdev, rtwvif, rtwsta,
3610 rtw89_release_mac_id(rtwdev, rtwsta->mac_id);
3612 ret = rtw89_fw_h2c_role_maintain(rtwdev, rtwvif, rtwsta,