Lines Matching refs:wcid

25 	struct mt76_wcid *wcid;  in mt7615_rx_get_wcid()  local
27 if (idx >= ARRAY_SIZE(dev->mt76.wcid)) in mt7615_rx_get_wcid()
30 wcid = rcu_dereference(dev->mt76.wcid[idx]); in mt7615_rx_get_wcid()
31 if (unicast || !wcid) in mt7615_rx_get_wcid()
32 return wcid; in mt7615_rx_get_wcid()
34 if (!wcid->sta) in mt7615_rx_get_wcid()
37 sta = container_of(wcid, struct mt7615_sta, wcid); in mt7615_rx_get_wcid()
41 return &sta->vif->sta.wcid; in mt7615_rx_get_wcid()
63 status->wcid = mt7615_rx_get_wcid(dev, idx, unicast); in mt7615_mac_fill_rx()
207 if (!status->wcid || !ieee80211_is_data_qos(hdr->frame_control)) in mt7615_mac_fill_rx()
306 struct sk_buff *skb, struct mt76_wcid *wcid, in mt7615_mac_write_txwi() argument
355 FIELD_PREP(MT_TXD1_WLAN_IDX, wcid->idx) | in mt7615_mac_write_txwi()
458 static u32 mt7615_mac_wtbl_addr(int wcid) in mt7615_mac_wtbl_addr() argument
460 return MT_WTBL_BASE + wcid * MT_WTBL_ENTRY_SIZE; in mt7615_mac_wtbl_addr()
468 int wcid = sta->wcid.idx; in mt7615_mac_set_rates() local
469 u32 addr = mt7615_mac_wtbl_addr(wcid); in mt7615_mac_set_rates()
584 FIELD_PREP(MT_WTBL_UPDATE_WLAN_IDX, wcid) | in mt7615_mac_set_rates()
593 if (!(sta->wcid.tx_info & MT_WCID_TX_INFO_SET)) in mt7615_mac_set_rates()
597 sta->wcid.tx_info |= MT_WCID_TX_INFO_SET; in mt7615_mac_set_rates()
628 mt7615_mac_wtbl_update_key(struct mt7615_dev *dev, struct mt76_wcid *wcid, in mt7615_mac_wtbl_update_key() argument
633 u32 addr = mt7615_mac_wtbl_addr(wcid->idx) + 30 * 4; in mt7615_mac_wtbl_update_key()
646 if (cipher != MT_CIPHER_BIP_CMAC_128 && wcid->cipher) in mt7615_mac_wtbl_update_key()
648 if (cipher != MT_CIPHER_BIP_CMAC_128 || !wcid->cipher) in mt7615_mac_wtbl_update_key()
653 if (wcid->cipher & ~BIT(cipher)) { in mt7615_mac_wtbl_update_key()
667 mt7615_mac_wtbl_update_pk(struct mt7615_dev *dev, struct mt76_wcid *wcid, in mt7615_mac_wtbl_update_pk() argument
671 u32 addr = mt7615_mac_wtbl_addr(wcid->idx), w0, w1; in mt7615_mac_wtbl_update_pk()
683 !wcid->cipher) in mt7615_mac_wtbl_update_pk()
686 if (!(wcid->cipher & ~BIT(cipher))) in mt7615_mac_wtbl_update_pk()
696 FIELD_PREP(MT_WTBL_UPDATE_WLAN_IDX, wcid->idx) | in mt7615_mac_wtbl_update_pk()
706 mt7615_mac_wtbl_update_cipher(struct mt7615_dev *dev, struct mt76_wcid *wcid, in mt7615_mac_wtbl_update_cipher() argument
710 u32 addr = mt7615_mac_wtbl_addr(wcid->idx); in mt7615_mac_wtbl_update_cipher()
713 if (cipher != MT_CIPHER_BIP_CMAC_128 || !wcid->cipher) in mt7615_mac_wtbl_update_cipher()
718 wcid->cipher & BIT(MT_CIPHER_BIP_CMAC_128)) in mt7615_mac_wtbl_update_cipher()
722 else if (!(wcid->cipher & ~BIT(cipher))) in mt7615_mac_wtbl_update_cipher()
728 struct mt76_wcid *wcid, in mt7615_mac_wtbl_set_key() argument
741 mt7615_mac_wtbl_update_cipher(dev, wcid, cipher, cmd); in mt7615_mac_wtbl_set_key()
742 err = mt7615_mac_wtbl_update_key(dev, wcid, key, cipher, cmd); in mt7615_mac_wtbl_set_key()
746 err = mt7615_mac_wtbl_update_pk(dev, wcid, cipher, key->keyidx, in mt7615_mac_wtbl_set_key()
752 wcid->cipher |= BIT(cipher); in mt7615_mac_wtbl_set_key()
754 wcid->cipher &= ~BIT(cipher); in mt7615_mac_wtbl_set_key()
763 enum mt76_txq_id qid, struct mt76_wcid *wcid, in mt7615_tx_prepare_skb() argument
769 struct mt7615_sta *msta = container_of(wcid, struct mt7615_sta, wcid); in mt7615_tx_prepare_skb()
778 if (!wcid) in mt7615_tx_prepare_skb()
779 wcid = &dev->mt76.global_wcid; in mt7615_tx_prepare_skb()
781 pid = mt76_tx_status_skb_add(mdev, wcid, tx_info->skb); in mt7615_tx_prepare_skb()
791 mt7615_mac_write_txwi(dev, txwi_ptr, tx_info->skb, wcid, sta, in mt7615_tx_prepare_skb()
982 skb = mt76_tx_status_skb_get(mdev, &sta->wcid, pid, &list); in mt7615_mac_add_txs_skb()
1003 struct mt76_wcid *wcid; in mt7615_mac_add_txs() local
1017 if (wcidx >= ARRAY_SIZE(dev->mt76.wcid)) in mt7615_mac_add_txs()
1022 wcid = rcu_dereference(dev->mt76.wcid[wcidx]); in mt7615_mac_add_txs()
1023 if (!wcid) in mt7615_mac_add_txs()
1026 msta = container_of(wcid, struct mt7615_sta, wcid); in mt7615_mac_add_txs()
1027 sta = wcid_to_sta(wcid); in mt7615_mac_add_txs()