mt76.h (9c68a57bc22d8c952688d54781b55e7cd9bea238) | mt76.h (aee5b8cf2477bbb293cb84a4f726f5c0f91f587e) |
---|---|
1/* 2 * Copyright (C) 2016 Felix Fietkau <nbd@nbd.name> 3 * 4 * Permission to use, copy, modify, and/or distribute this software for any 5 * purpose with or without fee is hereby granted, provided that the above 6 * copyright notice and this permission notice appear in all copies. 7 * 8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES --- 108 unchanged lines hidden (view full) --- 117 118 void (*tx_cleanup)(struct mt76_dev *dev, enum mt76_txq_id qid, 119 bool flush); 120 121 void (*kick)(struct mt76_dev *dev, struct mt76_queue *q); 122}; 123 124struct mt76_wcid { | 1/* 2 * Copyright (C) 2016 Felix Fietkau <nbd@nbd.name> 3 * 4 * Permission to use, copy, modify, and/or distribute this software for any 5 * purpose with or without fee is hereby granted, provided that the above 6 * copyright notice and this permission notice appear in all copies. 7 * 8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES --- 108 unchanged lines hidden (view full) --- 117 118 void (*tx_cleanup)(struct mt76_dev *dev, enum mt76_txq_id qid, 119 bool flush); 120 121 void (*kick)(struct mt76_dev *dev, struct mt76_queue *q); 122}; 123 124struct mt76_wcid { |
125 struct mt76_rx_tid __rcu *aggr[IEEE80211_NUM_TIDS]; 126 127 struct work_struct aggr_work; 128 |
|
125 u8 idx; 126 u8 hw_key_idx; 127 128 u8 sta:1; 129 130 __le16 tx_rate; 131 bool tx_rate_set; 132 u8 tx_rate_nss; --- 14 unchanged lines hidden (view full) --- 147}; 148 149struct mt76_txwi_cache { 150 u32 txwi[8]; 151 dma_addr_t dma_addr; 152 struct list_head list; 153}; 154 | 129 u8 idx; 130 u8 hw_key_idx; 131 132 u8 sta:1; 133 134 __le16 tx_rate; 135 bool tx_rate_set; 136 u8 tx_rate_nss; --- 14 unchanged lines hidden (view full) --- 151}; 152 153struct mt76_txwi_cache { 154 u32 txwi[8]; 155 dma_addr_t dma_addr; 156 struct list_head list; 157}; 158 |
159 160struct mt76_rx_tid { 161 struct rcu_head rcu_head; 162 163 struct mt76_dev *dev; 164 165 spinlock_t lock; 166 struct delayed_work reorder_work; 167 168 u16 head; 169 u8 size; 170 u8 nframes; 171 172 u8 started:1, stopped:1, timer_pending:1; 173 174 struct sk_buff *reorder_buf[]; 175}; 176 |
|
155enum { 156 MT76_STATE_INITIALIZED, 157 MT76_STATE_RUNNING, 158 MT76_SCANNING, 159 MT76_RESET, 160}; 161 162struct mt76_hw_cap { --- 86 unchanged lines hidden (view full) --- 249 s8 vht[10]; 250 }; 251 s8 all[38]; 252 }; 253}; 254 255struct mt76_rx_status { 256 struct mt76_wcid *wcid; | 177enum { 178 MT76_STATE_INITIALIZED, 179 MT76_STATE_RUNNING, 180 MT76_SCANNING, 181 MT76_RESET, 182}; 183 184struct mt76_hw_cap { --- 86 unchanged lines hidden (view full) --- 271 s8 vht[10]; 272 }; 273 s8 all[38]; 274 }; 275}; 276 277struct mt76_rx_status { 278 struct mt76_wcid *wcid; |
279 280 unsigned long reorder_time; 281 282 u8 aggr; 283 u8 tid; 284 u16 seqno; 285 |
|
257 u32 flag; 258 u16 freq; 259 u8 enc_flags; 260 u8 encoding:2, bw:3; 261 u8 rate_idx; 262 u8 nss; 263 u8 band; 264 u8 signal; --- 110 unchanged lines hidden (view full) --- 375 struct ieee80211_sta *sta, 376 u16 tids, int nframes, 377 enum ieee80211_frame_release_type reason, 378 bool more_data); 379void mt76_set_channel(struct mt76_dev *dev); 380int mt76_get_survey(struct ieee80211_hw *hw, int idx, 381 struct survey_info *survey); 382 | 286 u32 flag; 287 u16 freq; 288 u8 enc_flags; 289 u8 encoding:2, bw:3; 290 u8 rate_idx; 291 u8 nss; 292 u8 band; 293 u8 signal; --- 110 unchanged lines hidden (view full) --- 404 struct ieee80211_sta *sta, 405 u16 tids, int nframes, 406 enum ieee80211_frame_release_type reason, 407 bool more_data); 408void mt76_set_channel(struct mt76_dev *dev); 409int mt76_get_survey(struct ieee80211_hw *hw, int idx, 410 struct survey_info *survey); 411 |
412int mt76_rx_aggr_start(struct mt76_dev *dev, struct mt76_wcid *wcid, u8 tid, 413 u16 ssn, u8 size); 414void mt76_rx_aggr_stop(struct mt76_dev *dev, struct mt76_wcid *wcid, u8 tid); 415 |
|
383/* internal */ 384void mt76_tx_free(struct mt76_dev *dev); 385void mt76_put_txwi(struct mt76_dev *dev, struct mt76_txwi_cache *t); 386void mt76_rx_complete(struct mt76_dev *dev, enum mt76_rxq_id q); | 416/* internal */ 417void mt76_tx_free(struct mt76_dev *dev); 418void mt76_put_txwi(struct mt76_dev *dev, struct mt76_txwi_cache *t); 419void mt76_rx_complete(struct mt76_dev *dev, enum mt76_rxq_id q); |
420void mt76_rx_aggr_reorder(struct sk_buff *skb, struct sk_buff_head *frames); 421struct ieee80211_sta *mt76_rx_convert(struct sk_buff *skb); |
|
387 388#endif | 422 423#endif |