Commit Graph
141 Commits
Author SHA1 Message Date
Felix Fietkau 3413961e36 mt7603: avoid reordering qos-null data packets
Signed-off-by: Felix Fietkau <[email protected]>
2018-02-09 11:19:11 +01:00
Felix Fietkau 9c2e03dd0a mt7603: fix rx LDPC reporting
Signed-off-by: Felix Fietkau <[email protected]>
2018-01-25 16:46:58 +01:00
Felix Fietkau 3968dae910 mt7603: fix 40 mhz channel bandwidth reporting
Signed-off-by: Felix Fietkau <[email protected]>
2018-01-25 16:44:06 +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 461cdf9f01 mt76: pass the per-vif wcid to the core for multicast rx
Preparation for adding software rx CCMP PN validation

Signed-off-by: Felix Fietkau <[email protected]>
2018-01-22 11:06:17 +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 4d4cd05966 Partially revert "mt7603: use mcu command to set timing registers, fix OFDM timeout values"
This reverts commit 268467b9a4.
It is unnecessary to go through the MCU for this.

Signed-off-by: Felix Fietkau <[email protected]>
2017-12-07 17:09:28 +01:00
Felix Fietkau 8e17d36381 mt7603: remove some harmless WARN_ONs in rx path
Discard affected packets instead. Should reduce the frequency of bogus
bug reports

Signed-off-by: Felix Fietkau <[email protected]>
2017-12-03 18:15:05 +01:00
Felix Fietkau 57a2e334ec mt7603: set tx-skip flag for powersave clients
Helps flush out frames faster

Signed-off-by: Felix Fietkau <[email protected]>
2017-12-03 17:32:34 +01:00
Felix Fietkau e953c78806 mt7603: clear wtbl PS bit for powersave responses
Avoids filtering frames that are supposed to be sent

Signed-off-by: Felix Fietkau <[email protected]>
2017-12-03 16:49:02 +01:00
Felix Fietkau 96817d63ea mt7603: make mt7603_mac_watchdog_reset() static
Signed-off-by: Felix Fietkau <[email protected]>
2017-12-03 16:49:02 +01:00
Felix Fietkau c079960b59 mt7603: clean up dma debug reads
Signed-off-by: Felix Fietkau <[email protected]>
2017-12-02 11:11:58 +01:00
Felix Fietkau d8a59901ec mt7603: warn if PSE reset fails
Signed-off-by: Felix Fietkau <[email protected]>
2017-12-02 10:50:08 +01:00
Felix Fietkau c8807b4a3c mt7603: simplify PSE reset
Skip PSE client reset, it is done by the firmware already

Signed-off-by: Felix Fietkau <[email protected]>
2017-12-02 10:49:14 +01:00
Felix Fietkau d99092baab mt7603: remove WARN_ON_ONCE for workaround checks
It can happen during normal operation and it confuses users more than it
actually helps. workaround trigger counts are still available via
debugfs

Signed-off-by: Felix Fietkau <[email protected]>
2017-12-02 10:43:39 +01:00
Felix Fietkau 8026638543 mt7603: rename MT_PSE_RESET register
It is actually a dummy control register used for communicating reset
state with the MCU firmware

Signed-off-by: Felix Fietkau <[email protected]>
2017-12-01 17:50:59 +01:00
Felix Fietkau 737cf2b6f7 mt7603: rename mt7603_mac_reset to mt7603_pse_reset
Signed-off-by: Felix Fietkau <[email protected]>
2017-12-01 17:38:39 +01:00
Felix Fietkau e78156982f update to latest mac80211/cfg80211 API changes
Signed-off-by: Hauke Mehrtens <[email protected]>
Signed-off-by: Felix Fietkau <[email protected]>
2017-10-05 20:50:48 +02:00
Lorenzo BianconiandFelix Fietkau 21f20b46e3 mt7603: mac: fix register configuration in mt7603_rx_dma_busy()
Signed-off-by: Lorenzo Bianconi <[email protected]>
2017-09-09 17:45:15 +02:00
Lorenzo BianconiandFelix Fietkau cb83f3329f mt7603: mac: fix logic in mt7603_tx_hang()
Signed-off-by: Lorenzo Bianconi <[email protected]>
2017-09-09 17:45:07 +02:00
Lorenzo BianconiandFelix Fietkau 8dee788e05 mt7603: mac: stop netdev queues during watchdog reset
Signed-off-by: Lorenzo Bianconi <[email protected]>
2017-07-17 10:21:59 +02:00
Lorenzo BianconiandFelix Fietkau 8a649c3b1e mt7603: mac: code optimization
Remove unnecessary return instruction and time variable in
mt7603_mac_work()

Signed-off-by: Lorenzo Bianconi <[email protected]>
2017-07-15 10:30:56 +02:00
Lorenzo BianconiandFelix Fietkau e90a81a552 mt7603: fix channel width fall back in TXWI
Signed-off-by: Lorenzo Bianconi <[email protected]>
2017-07-04 10:55:39 +02:00
Felix Fietkau c4e3deaa58 mt7603: use the real vif index in txwi header for normal tx.
Fixes rate control for multi-vif. Beacons and buffered multicast packets
still need the adjusted index

Signed-off-by: Felix Fietkau <[email protected]>
2017-07-01 16:53:18 +02:00
Felix Fietkau 32eab505a4 mt7603: set wtbl entry vif index
Signed-off-by: Felix Fietkau <[email protected]>
2017-07-01 16:46:34 +02:00
Lorenzo BianconiandFelix Fietkau cf4ba12871 mt7603: avoid tx rate sampling using no retransmissions
Since the TXWI has no room for the MRR reconfigure the MT_WTBL registers
using the sample rate as first tx rate for channel probing avoiding
very low TCP performance in a lossy environment

Signed-off-by: Lorenzo Bianconi <[email protected]>
Signed-off-by: Felix Fietkau <[email protected]>
2017-06-26 14:06:56 +02:00
Lorenzo BianconiandFelix Fietkau 01fb9ba096 mt7603: fix control/status retries count estimation
Refactor tx count computation for fixed_rate frames in status path

Signed-off-by: Lorenzo Bianconi <[email protected]>
2017-06-26 14:06:44 +02:00
Felix Fietkau af326156d9 mt7603: change auto rate control register initialization
Allow the hardware to fall back if rates stop working, make the first
rate fail earlier.

Signed-off-by: Felix Fietkau <[email protected]>
Signed-off-by: Lorenzo Bianconi <[email protected]>
2017-06-26 14:06:31 +02:00
Felix Fietkau 219c8dc717 mt7603: fix endian issue in CCMP PN
Signed-off-by: Felix Fietkau <[email protected]>
2017-05-26 09:40:49 +02:00
Felix Fietkau b8a7d0729e mt7603: fix rate update bw fallback index
Signed-off-by: Felix Fietkau <[email protected]>
2017-05-26 08:59:00 +02:00
Felix Fietkau 7168d59902 mt7603: reset PSE queue hang indicator bits
Signed-off-by: Felix Fietkau <[email protected]>
2017-03-21 14:47:01 +01:00
Felix Fietkau 38bae1d303 mt7603: improve reliability of the PSE reset
Signed-off-by: Felix Fietkau <[email protected]>
2017-03-21 14:44:39 +01:00
Felix Fietkau e2d298d071 mt7603: issue tx reset bit 2 before DMA reset
Signed-off-by: Felix Fietkau <[email protected]>
2017-03-21 10:44:53 +01:00
Felix Fietkau 59ce2b491b mt7603: set tx vif own MAC index (needed for beacons)
Signed-off-by: Felix Fietkau <[email protected]>
2017-03-15 14:24:44 +01:00
Felix Fietkau e54add55e0 mt7603: move napi/tasklet enable/disable outside of the locked section
Should help prevent deadlocks

Signed-off-by: Felix Fietkau <[email protected]>
2017-03-15 14:24:42 +01:00
Felix Fietkau da8e79696d mt7603: check wtbl busy status and stop/start tx queues when clearing sta entry
Signed-off-by: Felix Fietkau <[email protected]>
2017-03-15 14:24:40 +01:00
Felix Fietkau dce8aac5c4 mt7603: fix endian issue in mt7603_mac_fill_rx
Signed-off-by: Felix Fietkau <[email protected]>
2017-03-15 14:24:35 +01:00
Felix Fietkau f8f49d2428 mt7603: return -EOPNOTSUPP on unsupported ciphers
Signed-off-by: Felix Fietkau <[email protected]>
2017-01-14 23:05:46 +01:00
Felix Fietkau 7ce4368c3d mt7603: work around a compiler issue on accessing 802.11 header fields
For some reason the FIELD_GET call runs into a BUILD_BUG_ON on some
platforms when using the 802.11 frame type/subtype definitions.

Use mask and shift explicitly to work around this

Signed-off-by: Felix Fietkau <[email protected]>
2016-12-15 13:00:17 +01: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 f30fa6c56c mt7603: poll for rate update completion before setting sta->wcid.tx_rate_set for the first time
Signed-off-by: Felix Fietkau <[email protected]>
2016-06-17 10:54:51 +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 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 dd828b7fc6 mt7603: fix initialization of the rate fallback table
Signed-off-by: Felix Fietkau <[email protected]>
2016-03-09 12:43:32 +01:00