| /Linux-v5.4/drivers/net/wireless/mediatek/mt7601u/ |
| D | main.c | 50 unsigned int wcid = GROUP_WCID(idx); in mt7601u_add_interface() local 62 if (dev->wcid_mask[wcid / BITS_PER_LONG] & BIT(wcid % BITS_PER_LONG)) in mt7601u_add_interface() 64 dev->wcid_mask[wcid / BITS_PER_LONG] |= BIT(wcid % BITS_PER_LONG); in mt7601u_add_interface() 65 mvif->group_wcid.idx = wcid; in mt7601u_add_interface() 76 unsigned int wcid = mvif->group_wcid.idx; in mt7601u_remove_interface() local 78 dev->wcid_mask[wcid / BITS_PER_LONG] &= ~BIT(wcid % BITS_PER_LONG); in mt7601u_remove_interface() 226 msta->wcid.idx = idx; in mt7601u_sta_add() 227 msta->wcid.hw_key_idx = -1; in mt7601u_sta_add() 230 rcu_assign_pointer(dev->wcid[idx], &msta->wcid); in mt7601u_sta_add() 245 int idx = msta->wcid.idx; in mt7601u_sta_remove() [all …]
|
| D | mac.c | 146 void mt76_mac_wcid_set_rate(struct mt7601u_dev *dev, struct mt76_wcid *wcid, in mt76_mac_wcid_set_rate() argument 152 wcid->tx_rate = mt76_mac_tx_rate_val(dev, rate, &wcid->tx_rate_nss); in mt76_mac_wcid_set_rate() 153 wcid->tx_rate_set = true; in mt76_mac_wcid_set_rate() 168 stat.wcid = FIELD_GET(MT_TX_STAT_FIFO_WCID, val); in mt7601u_mac_fetch_tx_status() 178 struct mt76_wcid *wcid = NULL; in mt76_send_tx_status() local 182 if (stat->wcid < ARRAY_SIZE(dev->wcid)) in mt76_send_tx_status() 183 wcid = rcu_dereference(dev->wcid[stat->wcid]); in mt76_send_tx_status() 185 if (wcid) { in mt76_send_tx_status() 186 msta = container_of(wcid, struct mt76_sta, wcid); in mt76_send_tx_status() 374 struct mt76_wcid *wcid; in mt7601u_mac_set_ampdu_factor() local [all …]
|
| D | tx.c | 131 struct ieee80211_sta *sta, struct mt76_wcid *wcid, in mt7601u_push_txwi() argument 146 if (!wcid->tx_rate_set) in mt7601u_push_txwi() 152 rate_ctl = wcid->tx_rate; in mt7601u_push_txwi() 180 txwi->wcid = wcid->idx; in mt7601u_push_txwi() 198 struct mt76_wcid *wcid = dev->mon_wcid; in mt7601u_tx() local 213 wcid = &msta->wcid; in mt7601u_tx() 217 wcid = &mvif->group_wcid; in mt7601u_tx() 220 txwi = mt7601u_push_txwi(dev, skb, sta, wcid, pkt_len); in mt7601u_tx() 222 if (mt7601u_dma_enqueue_tx(dev, skb, wcid, hw_q)) in mt7601u_tx()
|
| D | mac.h | 16 u8 wcid; member 114 u8 wcid; member 159 void mt76_mac_wcid_set_rate(struct mt7601u_dev *dev, struct mt76_wcid *wcid,
|
| /Linux-v5.4/drivers/net/wireless/mediatek/mt76/ |
| D | tx.c | 157 mt76_tx_status_skb_add(struct mt76_dev *dev, struct mt76_wcid *wcid, in mt76_tx_status_skb_add() argument 164 if (!wcid) in mt76_tx_status_skb_add() 177 wcid->packet_id = (wcid->packet_id + 1) & MT_PACKET_ID_MASK; in mt76_tx_status_skb_add() 178 if (wcid->packet_id == MT_PACKET_ID_NO_ACK || in mt76_tx_status_skb_add() 179 wcid->packet_id == MT_PACKET_ID_NO_SKB) in mt76_tx_status_skb_add() 180 wcid->packet_id = MT_PACKET_ID_FIRST; in mt76_tx_status_skb_add() 182 pid = wcid->packet_id; in mt76_tx_status_skb_add() 183 cb->wcid = wcid->idx; in mt76_tx_status_skb_add() 195 mt76_tx_status_skb_get(struct mt76_dev *dev, struct mt76_wcid *wcid, int pktid, in mt76_tx_status_skb_get() argument 203 if (wcid && cb->wcid != wcid->idx) in mt76_tx_status_skb_get() [all …]
|
| D | mt76x02_txrx.c | 17 struct mt76_wcid *wcid = &dev->mt76.global_wcid; in mt76x02_tx() local 23 wcid = &msta->wcid; in mt76x02_tx() 28 wcid = &mvif->group_wcid; in mt76x02_tx() 31 mt76_tx(&dev->mt76, control->sta, wcid, skb); in mt76x02_tx() 139 enum mt76_txq_id qid, struct mt76_wcid *wcid, in mt76x02_tx_prepare_skb() argument 149 if (qid == MT_TXQ_PSD && wcid && wcid->idx < 128) in mt76x02_tx_prepare_skb() 150 mt76x02_mac_wcid_set_drop(dev, wcid->idx, false); in mt76x02_tx_prepare_skb() 154 mt76x02_mac_write_txwi(dev, txwi, tx_info->skb, wcid, sta, len); in mt76x02_tx_prepare_skb() 156 pid = mt76_tx_status_skb_add(mdev, wcid, tx_info->skb); in mt76x02_tx_prepare_skb() 171 if (!wcid || wcid->hw_key_idx == 0xff || wcid->sw_iv) in mt76x02_tx_prepare_skb()
|
| D | mt76x02_trace.h | 22 #define TXID_ENTRY __field(u8, wcid) __field(u8, pktid) 23 #define TXID_ASSIGN __entry->wcid = wcid; __entry->pktid = pktid 25 #define TXID_PR_ARG __entry->wcid, __entry->pktid 40 TP_PROTO(struct mt76x02_dev *dev, u8 wcid, u8 pktid), 41 TP_ARGS(dev, wcid, pktid), 57 TP_PROTO(struct mt76x02_dev *dev, u8 wcid, u8 pktid), 58 TP_ARGS(dev, wcid, pktid) 87 __entry->wcid = stat->wcid;
|
| D | mac80211.c | 465 void mt76_wcid_key_setup(struct mt76_dev *dev, struct mt76_wcid *wcid, in mt76_wcid_key_setup() argument 471 wcid->rx_check_pn = false; in mt76_wcid_key_setup() 479 wcid->rx_check_pn = true; in mt76_wcid_key_setup() 482 memcpy(wcid->rx_key_pn[i], seq.ccmp.pn, sizeof(seq.ccmp.pn)); in mt76_wcid_key_setup() 512 return wcid_to_sta(mstat.wcid); in mt76_rx_convert() 519 struct mt76_wcid *wcid = status->wcid; in mt76_check_ccmp_pn() local 526 if (!wcid || !wcid->rx_check_pn) in mt76_check_ccmp_pn() 540 BUILD_BUG_ON(sizeof(status->iv) != sizeof(wcid->rx_key_pn[0])); in mt76_check_ccmp_pn() 541 ret = memcmp(status->iv, wcid->rx_key_pn[status->tid], in mt76_check_ccmp_pn() 546 memcpy(wcid->rx_key_pn[status->tid], status->iv, sizeof(status->iv)); in mt76_check_ccmp_pn() [all …]
|
| D | agg-rx.c | 116 struct mt76_wcid *wcid = status->wcid; in mt76_rx_aggr_check_ctl() local 128 tid = rcu_dereference(wcid->aggr[status->tid]); in mt76_rx_aggr_check_ctl() 142 struct mt76_wcid *wcid = status->wcid; in mt76_rx_aggr_reorder() local 151 sta = wcid_to_sta(wcid); in mt76_rx_aggr_reorder() 166 tid = rcu_dereference(wcid->aggr[status->tid]); in mt76_rx_aggr_reorder() 232 int mt76_rx_aggr_start(struct mt76_dev *dev, struct mt76_wcid *wcid, u8 tidno, in mt76_rx_aggr_start() argument 237 mt76_rx_aggr_stop(dev, wcid, tidno); in mt76_rx_aggr_start() 249 rcu_assign_pointer(wcid->aggr[tidno], tid); in mt76_rx_aggr_start() 278 void mt76_rx_aggr_stop(struct mt76_dev *dev, struct mt76_wcid *wcid, u8 tidno) in mt76_rx_aggr_stop() argument 284 tid = rcu_dereference(wcid->aggr[tidno]); in mt76_rx_aggr_stop() [all …]
|
| D | mt76x02_util.c | 257 idx = mt76_wcid_alloc(dev->mt76.wcid_mask, ARRAY_SIZE(dev->mt76.wcid)); in mt76x02_sta_add() 262 msta->wcid.sta = 1; in mt76x02_sta_add() 263 msta->wcid.idx = idx; in mt76x02_sta_add() 264 msta->wcid.hw_key_idx = -1; in mt76x02_sta_add() 269 set_bit(MT_WCID_FLAG_CHECK_PS, &msta->wcid.flags); in mt76x02_sta_add() 279 struct mt76_wcid *wcid = (struct mt76_wcid *)sta->drv_priv; in mt76x02_sta_remove() local 280 int idx = wcid->idx; in mt76x02_sta_remove() 300 mtxq->wcid = &mvif->group_wcid; in mt76x02_vif_init() 376 mt76_rx_aggr_start(&dev->mt76, &msta->wcid, tid, in mt76x02_ampdu_action() 378 mt76_set(dev, MT_WCID_ADDR(msta->wcid.idx) + 4, BIT(16 + tid)); in mt76x02_ampdu_action() [all …]
|
| D | util.c | 69 struct mt76_wcid *wcid; in mt76_get_min_avg_rssi() local 86 wcid = rcu_dereference(dev->wcid[j]); in mt76_get_min_avg_rssi() 87 if (!wcid) in mt76_get_min_avg_rssi() 91 if (wcid->inactive_count++ < 5) in mt76_get_min_avg_rssi() 92 cur_rssi = -ewma_signal_read(&wcid->rssi); in mt76_get_min_avg_rssi()
|
| D | mt76x02_mac.c | 206 void mt76x02_mac_wcid_set_rate(struct mt76x02_dev *dev, struct mt76_wcid *wcid, in mt76x02_mac_wcid_set_rate() argument 219 wcid->tx_info = tx_info; in mt76x02_mac_wcid_set_rate() 245 stat->wcid = FIELD_GET(MT_TX_STAT_FIFO_WCID, stat1); in mt76x02_mac_load_tx_status() 314 struct sk_buff *skb, struct mt76_wcid *wcid, in mt76x02_mac_write_txwi() argument 330 if (!info->control.hw_key && wcid && wcid->hw_key_idx != 0xff && in mt76x02_mac_write_txwi() 332 wcid = NULL; in mt76x02_mac_write_txwi() 337 if (wcid) in mt76x02_mac_write_txwi() 338 txwi->wcid = wcid->idx; in mt76x02_mac_write_txwi() 340 txwi->wcid = 0xff; in mt76x02_mac_write_txwi() 342 if (wcid && wcid->sw_iv && key) { in mt76x02_mac_write_txwi() [all …]
|
| D | mt76x02.h | 177 enum mt76_txq_id qid, struct mt76_wcid *wcid, 240 struct mt76_wcid *wcid; in mt76x02_rx_get_sta() local 242 if (idx >= ARRAY_SIZE(dev->wcid)) in mt76x02_rx_get_sta() 245 wcid = rcu_dereference(dev->wcid[idx]); in mt76x02_rx_get_sta() 246 if (!wcid) in mt76x02_rx_get_sta() 249 return container_of(wcid, struct mt76x02_sta, wcid); in mt76x02_rx_get_sta() 259 return &sta->wcid; in mt76x02_rx_get_sta_wcid()
|
| D | mt76x02_mmio.c | 385 struct mt76_wcid *wcid; in mt76x02_key_sync() local 390 wcid = (struct mt76_wcid *)sta->drv_priv; in mt76x02_key_sync() 392 if (wcid->hw_key_idx != key->keyidx || wcid->sw_iv) in mt76x02_key_sync() 395 mt76x02_mac_wcid_sync_pn(dev, wcid->idx, key); in mt76x02_key_sync() 410 for (i = 0; i < ARRAY_SIZE(dev->mt76.wcid); i++) { in mt76x02_reset_state() 414 struct mt76_wcid *wcid; in mt76x02_reset_state() local 417 wcid = rcu_dereference_protected(dev->mt76.wcid[i], in mt76x02_reset_state() 419 if (!wcid) in mt76x02_reset_state() 422 priv = msta = container_of(wcid, struct mt76x02_sta, wcid); in mt76x02_reset_state()
|
| D | mt76.h | 160 struct sk_buff *skb, struct mt76_wcid *wcid, 218 struct mt76_wcid *wcid; member 265 u8 wcid; member 295 enum mt76_txq_id qid, struct mt76_wcid *wcid, 460 struct mt76_wcid __rcu *wcid[MT76_N_WCIDS]; member 513 struct mt76_wcid *wcid; member 664 wcid_to_sta(struct mt76_wcid *wcid) in wcid_to_sta() argument 666 void *ptr = wcid; in wcid_to_sta() 668 if (!wcid || !wcid->sta) in wcid_to_sta() 705 struct mt76_wcid *wcid, struct sk_buff *skb); [all …]
|
| D | mt76x02_usb_core.c | 64 enum mt76_txq_id qid, struct mt76_wcid *wcid, in mt76x02u_tx_prepare_skb() argument 78 mt76x02_mac_write_txwi(dev, txwi, tx_info->skb, wcid, sta, len); in mt76x02u_tx_prepare_skb() 81 pid = mt76_tx_status_skb_add(mdev, wcid, tx_info->skb); in mt76x02u_tx_prepare_skb() 97 if (!wcid || wcid->hw_key_idx == 0xff || wcid->sw_iv) in mt76x02u_tx_prepare_skb()
|
| D | mt76x02_mac.h | 17 u8 wcid; member 32 struct mt76_wcid wcid; /* must be first */ member 133 u8 wcid; member 174 void mt76x02_mac_wcid_set_rate(struct mt76x02_dev *dev, struct mt76_wcid *wcid, 187 struct sk_buff *skb, struct mt76_wcid *wcid,
|
| /Linux-v5.4/drivers/net/wireless/mediatek/mt76/mt7615/ |
| D | main.c | 100 mvif->sta.wcid.idx = idx; in mt7615_add_interface() 101 mvif->sta.wcid.hw_key_idx = -1; in mt7615_add_interface() 103 rcu_assign_pointer(dev->mt76.wcid[idx], &mvif->sta.wcid); in mt7615_add_interface() 105 mtxq->wcid = &mvif->sta.wcid; in mt7615_add_interface() 119 int idx = mvif->sta.wcid.idx; in mt7615_remove_interface() 125 rcu_assign_pointer(dev->mt76.wcid[idx], NULL); in mt7615_remove_interface() 175 struct mt76_wcid *wcid = &msta->wcid; in mt7615_set_key() local 207 key->hw_key_idx = wcid->idx; in mt7615_set_key() 208 wcid->hw_key_idx = idx; in mt7615_set_key() 209 } else if (idx == wcid->hw_key_idx) { in mt7615_set_key() [all …]
|
| D | mac.c | 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() [all …]
|
| D | mt7615.h | 55 struct mt76_wcid wcid; /* must be first */ member 235 struct sk_buff *skb, struct mt76_wcid *wcid, 241 int mt7615_mac_wtbl_set_key(struct mt7615_dev *dev, struct mt76_wcid *wcid, 254 enum mt76_txq_id qid, struct mt76_wcid *wcid,
|
| /Linux-v5.4/drivers/net/wireless/mediatek/mt76/mt7603/ |
| D | main.c | 68 mvif->sta.wcid.idx = idx; in mt7603_add_interface() 69 mvif->sta.wcid.hw_key_idx = -1; in mt7603_add_interface() 75 mtxq->wcid = &mvif->sta.wcid; in mt7603_add_interface() 77 rcu_assign_pointer(dev->mt76.wcid[idx], &mvif->sta.wcid); in mt7603_add_interface() 90 int idx = mvif->sta.wcid.idx; in mt7603_remove_interface() 98 rcu_assign_pointer(dev->mt76.wcid[idx], NULL); in mt7603_remove_interface() 330 msta->wcid.sta = 1; in mt7603_sta_add() 331 msta->wcid.idx = idx; in mt7603_sta_add() 336 set_bit(MT_WCID_FLAG_CHECK_PS, &msta->wcid.flags); in mt7603_sta_add() 356 struct mt76_wcid *wcid = (struct mt76_wcid *)sta->drv_priv; in mt7603_sta_remove() local [all …]
|
| D | mac.c | 203 u32 addr = mt7603_wtbl1_addr(sta->wcid.idx); in mt7603_wtbl_set_smps() 215 int idx = sta->wcid.idx; in mt7603_wtbl_set_ps() 307 int idx = msta->wcid.idx; in mt7603_wtbl_update_cap() 346 void mt7603_mac_tx_ba_reset(struct mt7603_dev *dev, int wcid, int tid, in mt7603_mac_tx_ba_reset() argument 349 u32 addr = mt7603_wtbl2_addr(wcid); in mt7603_mac_tx_ba_reset() 377 struct mt76_wcid *wcid; in mt7603_rx_get_wcid() local 379 if (idx >= ARRAY_SIZE(dev->mt76.wcid)) in mt7603_rx_get_wcid() 382 wcid = rcu_dereference(dev->mt76.wcid[idx]); in mt7603_rx_get_wcid() 383 if (unicast || !wcid) in mt7603_rx_get_wcid() 384 return wcid; in mt7603_rx_get_wcid() [all …]
|
| D | dma.c | 37 struct mt76_wcid *wcid; in mt7603_rx_loopback_skb() local 53 wcid = rcu_dereference(dev->mt76.wcid[idx]); in mt7603_rx_loopback_skb() 54 if (!wcid) in mt7603_rx_loopback_skb() 57 priv = msta = container_of(wcid, struct mt7603_sta, wcid); in mt7603_rx_loopback_skb()
|
| D | mt7603.h | 60 struct mt76_wcid wcid; /* must be first */ member 203 void mt7603_mac_tx_ba_reset(struct mt7603_dev *dev, int wcid, int tid, 219 int mt7603_wtbl_set_key(struct mt7603_dev *dev, int wcid, 228 enum mt76_txq_id qid, struct mt76_wcid *wcid,
|
| /Linux-v5.4/arch/arm/kernel/ |
| D | pj4-cp0.c | 78 u32 cp_access, wcid; in pj4_get_iwmmxt_version() local 90 __asm__ __volatile__ ("mrc p1, 0, %0, c0, c0, 0\n" : "=r" (wcid)); in pj4_get_iwmmxt_version() 95 if ((wcid & 0xffffff00) == 0x56051000) in pj4_get_iwmmxt_version() 98 if ((wcid & 0xffffff00) == 0x56052000) in pj4_get_iwmmxt_version()
|