Lines Matching refs:wcid

689 void mt76_wcid_key_setup(struct mt76_dev *dev, struct mt76_wcid *wcid,  in mt76_wcid_key_setup()  argument
695 wcid->rx_check_pn = false; in mt76_wcid_key_setup()
703 wcid->rx_check_pn = true; in mt76_wcid_key_setup()
706 memcpy(wcid->rx_key_pn[i], seq.ccmp.pn, sizeof(seq.ccmp.pn)); in mt76_wcid_key_setup()
743 *sta = wcid_to_sta(mstat.wcid); in mt76_rx_convert()
751 struct mt76_wcid *wcid = status->wcid; in mt76_check_ccmp_pn() local
758 if (!wcid || !wcid->rx_check_pn) in mt76_check_ccmp_pn()
772 BUILD_BUG_ON(sizeof(status->iv) != sizeof(wcid->rx_key_pn[0])); in mt76_check_ccmp_pn()
773 ret = memcmp(status->iv, wcid->rx_key_pn[status->tid], in mt76_check_ccmp_pn()
778 memcpy(wcid->rx_key_pn[status->tid], status->iv, sizeof(status->iv)); in mt76_check_ccmp_pn()
790 struct mt76_wcid *wcid = status->wcid; in mt76_airtime_report() local
807 if (!wcid || !wcid->sta) in mt76_airtime_report()
810 sta = container_of((void *)wcid, struct ieee80211_sta, drv_priv); in mt76_airtime_report()
817 struct mt76_wcid *wcid; in mt76_airtime_flush_ampdu() local
824 if (wcid_idx < ARRAY_SIZE(dev->wcid)) in mt76_airtime_flush_ampdu()
825 wcid = rcu_dereference(dev->wcid[wcid_idx]); in mt76_airtime_flush_ampdu()
827 wcid = NULL; in mt76_airtime_flush_ampdu()
828 dev->rx_ampdu_status.wcid = wcid; in mt76_airtime_flush_ampdu()
841 struct mt76_wcid *wcid = status->wcid; in mt76_airtime_check() local
846 if (!wcid || !wcid->sta) { in mt76_airtime_check()
850 wcid = NULL; in mt76_airtime_check()
861 dev->rx_ampdu_status.wcid_idx = wcid ? wcid->idx : 0xff; in mt76_airtime_check()
879 struct mt76_wcid *wcid = status->wcid; in mt76_check_sta() local
883 if (ieee80211_is_pspoll(hdr->frame_control) && !wcid) { in mt76_check_sta()
886 wcid = status->wcid = (struct mt76_wcid *)sta->drv_priv; in mt76_check_sta()
891 if (!wcid || !wcid->sta) in mt76_check_sta()
894 sta = container_of((void *)wcid, struct ieee80211_sta, drv_priv); in mt76_check_sta()
897 ewma_signal_add(&wcid->rssi, -status->signal); in mt76_check_sta()
899 wcid->inactive_count = 0; in mt76_check_sta()
901 if (!test_bit(MT_WCID_FLAG_CHECK_PS, &wcid->flags)) in mt76_check_sta()
920 if (!!test_bit(MT_WCID_FLAG_PS, &wcid->flags) == ps) in mt76_check_sta()
924 set_bit(MT_WCID_FLAG_PS, &wcid->flags); in mt76_check_sta()
926 clear_bit(MT_WCID_FLAG_PS, &wcid->flags); in mt76_check_sta()
973 struct mt76_wcid *wcid = (struct mt76_wcid *)sta->drv_priv; in mt76_sta_add() local
990 mtxq->wcid = wcid; in mt76_sta_add()
993 ewma_signal_init(&wcid->rssi); in mt76_sta_add()
995 mt76_wcid_mask_set(dev->wcid_phy_mask, wcid->idx); in mt76_sta_add()
996 wcid->ext_phy = ext_phy; in mt76_sta_add()
997 rcu_assign_pointer(dev->wcid[wcid->idx], wcid); in mt76_sta_add()
1008 struct mt76_wcid *wcid = (struct mt76_wcid *)sta->drv_priv; in __mt76_sta_remove() local
1009 int i, idx = wcid->idx; in __mt76_sta_remove()
1011 for (i = 0; i < ARRAY_SIZE(wcid->aggr); i++) in __mt76_sta_remove()
1012 mt76_rx_aggr_stop(dev, wcid, i); in __mt76_sta_remove()
1017 mt76_tx_status_check(dev, wcid, true); in __mt76_sta_remove()
1063 struct mt76_wcid *wcid = (struct mt76_wcid *)sta->drv_priv; in mt76_sta_pre_rcu_remove() local
1066 rcu_assign_pointer(dev->wcid[wcid->idx], NULL); in mt76_sta_pre_rcu_remove()