Commit Graph
58 Commits
Author SHA1 Message Date
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
Lorenzo BianconiandFelix Fietkau 700ed20476 mt76x2: make mt76x2_mac_reset routine static
Add static qualifier to mt76x2_mac_reset routine and remove the
prototype from mt76x2_mac.h since it is used just in mt76x2_init.c

Signed-off-by: Lorenzo Bianconi <[email protected]>
2018-04-03 21:36:32 +02:00
Lorenzo BianconiandFelix 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 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
Lorenzo BianconiandFelix Fietkau 302af90bdc mt76x2: init: disable all pending tasklets during device removal
There is a possible race in mt76x2_stop_hardware() since pre_tbtt and
dfs tasklets could run during driver cleanup. Fix it disabling all
pending tasklets during device removal

Signed-off-by: Lorenzo Bianconi <[email protected]>
2018-01-23 11:39:46 +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 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
Lorenzo BianconiandFelix Fietkau cf591704e2 mt76x2: dfs: add set_domain handler
Add mt76x2_dfs_set_domain routine in order to properly reconfigure
pattern detector when DFS domain has been changed

Signed-off-by: Lorenzo Bianconi <[email protected]>
2018-01-18 19:06:30 +01:00
Felix Fietkau 68b0cf17ef mt76x2: add functions for setting extended MAC address registers
Signed-off-by: Felix Fietkau <[email protected]>
2017-12-17 11:50:14 +01:00
Felix Fietkau d242650960 Revert "mt76x2: remove MAC address limitation for multi-vif setups"
This reverts commit 170f3341c6.
2017-12-17 11:44:47 +01:00
Felix Fietkau bdc6f2f970 Revert "mt76x2: clean up MAC/BSSID address initialization"
This reverts commit 3563b8fd0a.
2017-12-17 11:44:27 +01:00
Felix Fietkau bcd576e710 Revert "mt76x2: drop wiphy->addresses"
This reverts commit 9de77e1efc.
2017-12-17 11:44:11 +01:00
Felix Fietkau 860b185a43 Revert "mt76x2: init: disable APCLI by default"
This reverts commit a6a6e2582a.
2017-12-17 11:43:51 +01:00
Lorenzo BianconiandFelix Fietkau ac815fa2a5 mt76x2: init: fix rx filter default value during init
mt76x2_mac_start writes dev->rxfilter to the hardware. It also happens
during init, before dev->rxfilter is filled with the initval register
value, leading to issues like promisc mode being enabled
unconditionally.

Fix this by reading the default value into dev->rxfilter earlier

Signed-off-by: Lorenzo Bianconi <[email protected]>
Signed-off-by: Felix Fietkau <[email protected]>
2017-12-08 12:11:04 +01:00
Lorenzo BianconiandFelix Fietkau a6a6e2582a mt76x2: init: disable APCLI by default
It is no longer necessary for client mode operation, vif index entries
8-16 are no longer used

Signed-off-by: Lorenzo Bianconi <[email protected]>
Signed-off-by: Felix Fietkau <[email protected]>
2017-12-07 21:18:55 +01:00
Felix Fietkau 9de77e1efc mt76x2: drop wiphy->addresses
Now that the MAC address limitation is resolved, we no longer need a MAC
address list

Signed-off-by: Felix Fietkau <[email protected]>
2017-12-07 19:51:01 +01:00
Felix Fietkau 3563b8fd0a mt76x2: clean up MAC/BSSID address initialization
Drop the use of the EEPROM address entirely, rely on interface address
only

Signed-off-by: Felix Fietkau <[email protected]>
2017-12-07 19:51:01 +01:00
Felix Fietkau 170f3341c6 mt76x2: remove MAC address limitation for multi-vif setups
The hardware has a separate set of registers to configure a
per-interface MAC address.

Signed-off-by: Lorenzo Bianconi <[email protected]>
Signed-off-by: Felix Fietkau <[email protected]>
2017-12-07 19:50:46 +01:00
Felix Fietkau 19fff41338 mt76x2: convert between per-chain tx power and combined output
Using both chains adds max. 3 dBm.

Signed-off-by: Felix Fietkau <[email protected]>
2017-11-30 12:59:31 +01:00
Felix Fietkau 3bd7e76e2d mt76x2: initialize channel power limits
Signed-off-by: Felix Fietkau <[email protected]>
2017-11-30 12:33:47 +01:00
Felix Fietkau 60172cc63c mt76x2: clear drop flag for all WCIDs on init
Signed-off-by: Felix Fietkau <[email protected]>
2017-11-15 18:00:10 +01:00
Lorenzo BianconiandFelix Fietkau 58e9138323 mt76x2: init: add ma80211 led callbacks
Signed-off-by: Lorenzo Bianconi <[email protected]>
2017-10-31 10:22:15 +01:00
Lorenzo BianconiandFelix Fietkau b9f3193a24 mt76x2: init: unlock DFS channels
Signed-off-by: Lorenzo Bianconi <[email protected]>
2016-09-25 18:13:37 +02:00
Lorenzo BianconiandFelix Fietkau 6375fc1abe mt76x2: add hw radar detector
add hw DFS pattern detector support for mt76x2 based devices
DFS region supported:
 - FCC
 - ETSI
 - JAPAN_W53
 - JAPAN_W56

Signed-off-by: Lorenzo Bianconi <[email protected]>
2016-09-25 18:13:12 +02:00
Felix Fietkau d7f5112c09 mt76x2: fix checkpatch warnings
Signed-off-by: Felix Fietkau <[email protected]>
2016-09-04 18:59:22 +02:00
Felix Fietkau b300bdc42e use the new bitfield accessor macros
Signed-off-by: Felix Fietkau <[email protected]>
2016-09-04 17:37:26 +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 11e0a12ce4 mt76x2: fix crash on monitor mode injection
Signed-off-by: Felix Fietkau <[email protected]>
2016-06-15 14:59:13 +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 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 fa3ee92842 unify tx completion handling, allow a driver callback to clean up tx skbs
Signed-off-by: Felix Fietkau <[email protected]>
2016-02-06 16:14:02 +01:00
Felix Fietkau b08f5433d1 tx: move dma mapping code to core, unify tx callbacks into one that prepares tx_info, skb and txwi
Signed-off-by: Felix Fietkau <[email protected]>
2016-02-03 20:14:53 +01:00
Felix Fietkau ebb8d3a74b mt76x2: move mt76x2_write_reg_pairs to mt76x2_init.c
Signed-off-by: Felix Fietkau <[email protected]>
2016-02-03 15:57:25 +01:00
Felix Fietkau a6d7949f67 move rx polling to core
Signed-off-by: Felix Fietkau <[email protected]>
2016-02-03 15:51:17 +01:00
Felix Fietkau 812bcc3a78 mt76x2: move rx queue processing to core
Signed-off-by: Felix Fietkau <[email protected]>
2016-02-03 14:51:07 +01:00
Felix Fietkau 82510f818c mt76x2: initialize protection registers
Signed-off-by: Felix Fietkau <[email protected]>
2016-01-28 00:46:33 +01:00
Felix Fietkau b0f112bb72 mt76x2: enable VHT IBSS support
Signed-off-by: Felix Fietkau <[email protected]>
2016-01-13 23:38:02 +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
Felix Fietkau a08c4a3cd4 add a driver ops struct to allow mt76 to call into driver specific code, will be used for queueing tx packets (incl. mac header processing)
Signed-off-by: Felix Fietkau <[email protected]>
2015-12-16 18:38:39 +01:00
Felix Fietkau 42b9c4db0a move wcid and txq struct to mt76.h in preparation for making tx scheduling code more generic
Signed-off-by: Felix Fietkau <[email protected]>
2015-12-16 17:45:46 +01:00
Felix Fietkau 239b67204c move eeprom related code to common
Signed-off-by: Felix Fietkau <[email protected]>
2015-12-16 02:09:26 +01:00
Felix Fietkau 1dcd197ae3 move hw feature flags to common code
Signed-off-by: Felix Fietkau <[email protected]>
2015-12-08 10:22:13 +01:00