Stanislaw Gruszka and Felix Fietkau
a2380992d8
mt76: create new mt76x02-lib module for common mt76x{0,2} code
...
Move rxfilter and mutex to common structure. Create mt76x02-lib.ko
for mt76x0 and mt76x2 common functions and create new unified
mt76x02_configure_filter() function there.
Signed-off-by: Stanislaw Gruszka <[email protected] >
2018-09-11 13:49:19 +02:00
Lorenzo Bianconi and Felix Fietkau
730b86c73a
mt76x2: add napi struct to mt76_rx_poll_complete/mt76_rx_complete signatures
...
in order to reuse mt76_rx_complete routine supporting mt76x2u based
devices add napi struct to mt76_rx_poll_complete and mt76_rx_complete
routine signatures and do not fetch it according to the rx queue index
Signed-off-by: Lorenzo Bianconi <[email protected] >
Signed-off-by: Kalle Valo <[email protected] >
2018-09-11 13:49:19 +02:00
Lorenzo Bianconi and Felix Fietkau
6a1e809102
mt76x2: move interface_modes definition in mt76x2_init
...
Move wiphy interface_modes definition in mt76x2_init in order to
reuse mt76_register_device routine supporting mt76x2u based chipsets
since mt76x2u currently supports just sta mode
Signed-off-by: Lorenzo Bianconi <[email protected] >
Signed-off-by: Kalle Valo <[email protected] >
2018-09-11 13:49:19 +02:00
Felix Fietkau
730c292a2c
mt76: wait for pending tx to complete before switching channel
...
Reduces interruption caused by scanning
Signed-off-by: Felix Fietkau <[email protected] >
2018-05-20 07:57:25 +02:00
Felix Fietkau
21c1e1eae5
mt76: move ieee80211_hw allocation to common core
...
Allows it to be shared between different drivers and locks to be
initialized earlier
Signed-off-by: Felix Fietkau <[email protected] >
2018-05-20 07:57:25 +02:00
Felix Fietkau
0ef26ef052
mt76: only stop tx queues on offchannel, not during the entire scan
...
During scans, mac80211 frequently switches back to the home channel to
minimize interruption of ongoing traffic. Keep regular tx queues active
during that time.
Signed-off-by: Felix Fietkau <[email protected] >
2018-05-20 07:57:25 +02:00
Felix Fietkau
ec8435e711
mt76: initialize rx lock earlier
...
Fixes lockdep warning on mt7603
Signed-off-by: Felix Fietkau <[email protected] >
2018-04-18 09:38:07 +02:00
Felix Fietkau
ca5cc9a478
mt76: fix concurrent rx calls on A-MPDU release
...
Add a spinlock in mt76_rx_complete. Without this, multiple stats updates
could happen in parallel, which can lead to deadlocks. There are
probably more corner cases fixed by this change.
Signed-off-by: Felix Fietkau <[email protected] >
2018-04-17 14:49:29 +02:00
Lorenzo Bianconi and Felix Fietkau
ced433d006
mt76x2: add mac80211 {set,get}_antenna callbacks
...
Add capability to select tx/rx antennas. Possible values are:
- 1: to use only the first antenna
- 2: to use only the second antenna
- 3: to use both of them
Signed-off-by: Lorenzo Bianconi <[email protected] >
2018-03-21 11:23:10 +01:00
Lorenzo Bianconi and Felix Fietkau
6469dcafb5
mt76: add mt76_init_stream_cap routine
...
Add mt76_init_stream_cap utility routine to set ht/vht sta capabilities
related to number of streams currently used by the device
(it will be used by mac80211 set_antenna callback)
Signed-off-by: Lorenzo Bianconi <[email protected] >
2018-03-21 11:23:10 +01:00
Lorenzo Bianconi and Felix Fietkau
7e6e00bf0a
mt76: initialize available_antennas_{tx,rx} info
...
Initialize available_antennas related info in wiphy data structure
according to antenna_mask field; antenna_mask info is initialized
in device specific code and will be used in mac80211 {set,get}_antenna
callbacks
Signed-off-by: Lorenzo Bianconi <[email protected] >
2018-03-21 11:23:10 +01:00
Felix Fietkau
cda627fd8f
mt76: add missing VHT maximum A-MPDU length capability
...
Signficantly improves throughput with some clients
Signed-off-by: Felix Fietkau <[email protected] >
2018-02-26 21:54:53 +01:00
Felix Fietkau
246d548b06
mt76: stop tx queues from the driver callback instead of common code
...
Allows the driver to control whether to send a BlockAckReq after waking
up. MT76x2 needs this set to true, for MT7603 it needs to be false
Signed-off-by: Felix Fietkau <[email protected] >
2018-02-09 16:01:39 +01:00
Felix Fietkau
c60e6dbc4a
mt76: toggle driver station powersave bit before notifying mac80211
...
Avoids race conditions from mac80211 enqueueing tx packets before the
tx-drop bit is cleared
Signed-off-by: Felix Fietkau <[email protected] >
2018-02-09 14:14:02 +01:00
Felix Fietkau
f515dfcca1
mt76: implement AP_LINK_PS
...
With software A-MPDU reordering in place, frames that notify mac80211 of
powersave changes are reordered as well, which can cause connection
stalls. Fix this by implementing powersave state processing in the
driver.
Signed-off-by: Felix Fietkau <[email protected] >
2018-01-26 11:41:38 +01:00
Felix Fietkau
c6f8caced2
mt76: let mac80211 validate CCMP PN for fragmented frames
...
The rules for those are more complex and performance is not an issue
here
Signed-off-by: Felix Fietkau <[email protected] >
2018-01-25 11:29:25 +01:00
Felix Fietkau
9b2c77826d
mt76: validate rx CCMP PN
...
Apparently hardware does not perform CCMP PN validation in hardware, so
we need to take care of this in the driver.
Signed-off-by: Felix Fietkau <[email protected] >
2018-01-22 11:06:19 +01:00
Felix Fietkau
cf3cfc43af
mt76: split mt76_rx_complete
...
Add a separate function for processing frames after A-MPDU reordering,
reduce code duplication
Signed-off-by: Felix Fietkau <[email protected] >
2018-01-22 10:43:22 +01:00
Felix Fietkau
b0508d3044
mt76: implement A-MPDU rx reordering in the driver code
...
This is required for performing CCMP PN validation in software
Signed-off-by: Felix Fietkau <[email protected] >
2018-01-22 10:43:21 +01:00
Felix Fietkau
58a41f17aa
mt76: get station pointer by wcid and pass it to mac80211
...
Avoids the rhashtable lookup based on the MAC address inside mac80211
Signed-off-by: Felix Fietkau <[email protected] >
2018-01-22 10:14:25 +01:00
Felix Fietkau
ad3f8e924e
mt76: add an intermediate struct for rx status information
...
Preparation for passing in more internal rx data via skb->cb
Signed-off-by: Felix Fietkau <[email protected] >
2018-01-21 10:48:29 +01:00
Felix Fietkau
fc28872399
mac80211: add missing include
...
Signed-off-by: Felix Fietkau <[email protected] >
2017-11-21 09:48:19 +01:00
Felix Fietkau
cc02e495cd
mac80211: move DT led configuration to the "led" child node
...
Signed-off-by: Felix Fietkau <[email protected] >
2017-11-07 12:42:18 +01:00
Lorenzo Bianconi and Felix Fietkau
c9bdcd850d
mt76: add led support using mac80211 led framework
...
use tpt-trigger as default trigger
Signed-off-by: Lorenzo Bianconi <[email protected] >
Signed-off-by: Felix Fietkau <[email protected] >
2017-10-31 10:21:14 +01:00
Alejandro and Felix Fietkau
712b8e8f69
mac80211: claim RSN IBSS support
...
Signed-off-by: Alejandro <[email protected] >
2017-03-17 13:29:26 +01:00
Felix Fietkau
a5eaeb27d6
revert mt76_eeprom_override call reordering
...
This call order is necessary for handling the device MAC address
Signed-off-by: Felix Fietkau <[email protected] >
2017-02-03 14:25:08 +01:00
Felix Fietkau
184e068b6f
use wiphy_read_of_freq_limits to parse band capability overrides
...
Signed-off-by: Felix Fietkau <[email protected] >
2017-02-01 16:11:35 +01:00
Stijn Tintel and Felix Fietkau
85d12fea1a
mac80211: enable 802.11w support
...
Signed-off-by: Stijn Tintel <[email protected] >
2017-01-15 13:22:50 +01:00
Felix Fietkau
b18d66f749
core: fix checkpatch errors
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-09-05 11:12:19 +02:00
Felix Fietkau
53c1b7f6ac
update my email address
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-09-04 17:33:28 +02:00
Felix Fietkau
ced81a3458
relicense to ISC (except for util.h which is based on GPL'd kernel code
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-07-12 08:38:46 +02:00
Felix Fietkau
3c8a4bc30e
mt76x2: implement survey support
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-06-15 16:47:23 +02:00
Felix Fietkau
6c4b37be98
move dev->chandef to mt76 struct
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-06-15 15:47:49 +02:00
Felix Fietkau
810eef8383
sync with mac80211 ieee80211_rx_napi API change
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-05-14 16:52:23 +02:00
Felix Fietkau
13c29223ef
Use NL80211_BAND_2GHZ instead of IEEE80211_BAND_2GHZ
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-05-14 16:49:30 +02:00
Felix Fietkau
9af6f18974
mt7603: disable HT CCK rates, they fail under A-MPDU sessions
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-03-04 20:55:38 +01:00
Felix Fietkau
4994946a29
mt7603: fix cleanup order
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-03-03 22:05:07 +01:00
Felix Fietkau
8023b07408
mt7603: disable LDPC
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-02-27 16:10:46 +01:00
Felix Fietkau
079ad90fe2
update copyright lines
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-02-25 18:09:13 +01:00
Felix Fietkau
2bd92acfa2
dma: optimize icache footprint of rx path, batch frames before passing them to mac80211
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-02-08 17:35:40 +01:00
Felix Fietkau
9e305ef093
add rx helper function which uses ieee80211_rx_napi
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-02-08 15:06:21 +01:00
Felix Fietkau
4cddea7193
mac80211: sync with updated version of A-MSDU patch
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-02-08 13:33:09 +01:00
Felix Fietkau
ba004c0067
mac80211: add A-MSDU tx support
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-02-05 17:37:09 +01:00
Felix Fietkau
78155b54ac
unify drvdata handling
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-02-05 01:06:07 +01:00
Felix Fietkau
68c393623b
mt76: support a-msdu in a-mpdu
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-02-03 20:31:45 +01:00
Felix Fietkau
54cb9c330c
mac80211: indicate support for cloned skbs
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-01-14 01:29:51 +01:00
Felix Fietkau
6ca2852f65
move mac address validation to core
...
Signed-off-by: Felix Fietkau <[email protected] >
2016-01-01 19:38:59 +01:00
Felix Fietkau
1389db799a
move txwi cache to core
...
Signed-off-by: Felix Fietkau <[email protected] >
2015-12-17 15:50:01 +01:00
Felix Fietkau
3abdc2e96b
move interface combinations back to individual drivers to deal with different maximum number of interfaces
...
Signed-off-by: Felix Fietkau <[email protected] >
2015-12-17 01:17:08 +01:00
Felix Fietkau
5fa73b3331
set txq data size in common code
...
Signed-off-by: Felix Fietkau <[email protected] >
2015-12-16 20:01:33 +01:00