Felix Fietkau
c3efb5d899
mt7603: add support for detecting MT7688 and single stream devices
...
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-28 14:34:05 +01:00
Felix Fietkau
00e03b990f
mt7603: fix MT_WF_PHY_CR_RXTD_BASE definition
...
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-28 14:19:03 +01:00
Felix Fietkau
4063ae1ecb
mt7603: check for PSE hang / stuck beacon first
...
Ensure that PSE reset is issued when necessary
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-28 13:55:37 +01:00
Felix Fietkau
31cd20eb6a
mt7603: issue PSE reset on stuck beacon
...
Improves reliability of recovery
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-28 13:54:47 +01:00
Felix Fietkau
5fb60a7d7a
mt7603: fix aggregation size handling
...
Do not step over the 32 subframe limit.
Fix staying under the limit
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-21 19:04:19 +01:00
Felix Fietkau
da666a74a6
mt7603: issue PSE reset if firmware debug register indicates stuck queues
...
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-21 15:10:31 +01:00
Felix Fietkau
b38fe7d531
mt7603: only issue PSE reset on PSE stuck
...
The reset can take quite a bit of time, so only issue it when necessary
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-21 15:04:47 +01:00
Felix Fietkau
94cebfc31a
mt7603: fix handling lost interrupt events during watchdog reset
...
Schedule tx tasklet and rx napi poll after reset to ensure that processing
of DMA queues resumes
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-21 15:00:15 +01:00
Felix Fietkau
a301decead
mt7603: add back PSE client reset code
...
Should help with MT7628 reliability
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-21 13:52:04 +01:00
Felix Fietkau
b3f82a33c0
mt7603: report PSE reset failures via debugfs
...
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-21 13:18:28 +01:00
Felix Fietkau
9428e34d1f
mt7603: fix watchdog reset sequence
...
- issue PSE reset first
- skip DMA reset if PSE reset failed
- schedule tx after reset has completed
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-21 13:08:16 +01:00
Felix Fietkau
4734108318
mt7603: use mt7603_wtbl_clear on station removal
...
It removes more stale data from the WTBL
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-21 12:59:13 +01:00
Felix Fietkau
c09e8a489f
mt7603: fix buffering of tx packets for powersave clients
...
Use PSE registers to loop back any pending tx packets for a client that
just went to sleep back into the MCU rx queue.
Re-queue those packets to the tx queue immediately after a client wakes up.
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-20 16:18:22 +01:00
Felix Fietkau
82363abeaf
mt7603: move tx status to rx queue 0
...
This makes it easier to loop powersave-filtered packets through the MCU queue
without involving the firmware
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-20 16:18:22 +01:00
Felix Fietkau
b44d793e25
mt7603: clear PSE redirections before MCU init
...
Ensure that stale data from a previous run is cleaned up
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-20 16:18:01 +01:00
Felix Fietkau
ca2c875ae6
mt7603: add support for accessing remapped registers via ops
...
Add wrappers for existing register ops
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-20 12:15:32 +01:00
Felix Fietkau
7c4c33c41e
mt7603: skip efuse tx power data for mt7628
...
Sync with vendor driver behavior
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-20 12:15:32 +01:00
Felix Fietkau
42c5281187
mt7603: fix maximum frame size in scheduler init
...
Since hardware A-MSDU decap is disabled, use maximum A-MSDU size
as maximum packet size
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-17 17:56:07 +01:00
Felix Fietkau
d22799b2c3
mt7603: reduce reserved pages for beacons
...
Only 4 interfaces are supported anyway
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-17 17:56:07 +01:00
Felix Fietkau
749d5c3d2c
mt7603: fix reserved page handling for mt7628
...
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-17 17:56:07 +01:00
Felix Fietkau
3873e827ed
mt7603: fix MT_BMAP_0/MT_GROUP_THD_0 register initializion for mt7628
...
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-17 17:34:19 +01:00
Felix Fietkau
471d397e06
mt7603: fix priority for buffered multicast packets
...
Ensure that they are transmitted immediately after the beacon
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-17 15:41:32 +01:00
Felix Fietkau
d0fdf01a95
mt7603: avoid unnecessary wtbl writes for ps-filter
...
Only clear the skip_tx flag if powersave mode is enabled
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-16 12:41:17 +01:00
Felix Fietkau
41931e43ab
mt7603: toggle skip_tx on station add/remove
...
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-16 12:33:17 +01:00
Felix Fietkau
90e2c1b616
mt7603: add mt7603_wtbl_set_skip_tx, change mt7603_wtbl_set_ps users
...
Avoids unnecessary toggling of the MT_WTBL1_OR_PSM_WRITE flag
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-16 12:28:30 +01:00
Felix Fietkau
13f1e82f6f
mt7603: clear wtbl entry for removed stations
...
Should fix some issues with reassociating stations
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-16 12:09:52 +01:00
Felix Fietkau
a97127b1b3
mt76: replace sta_add/remove ops with common sta_state function
...
Allows adding unassociated stations from mac80211
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-16 12:09:52 +01:00
Felix Fietkau
e65ad4c5db
mt7603: make group_wcid the first member in struct mt7603_vif
...
Allows mt76 core to cast vif->drv_priv to struct mt76_wcid
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-16 12:09:52 +01:00
Felix Fietkau
0848d2db97
mt7603: simplify mt7603_mcu_msg_send, remove skb_ret handling
...
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-13 14:53:45 +01:00
Felix Fietkau
fd85ff9a97
mt7603: use mt76_sta_remove helper
...
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-13 11:53:22 +01:00
Felix Fietkau
75aa36e0a3
mt7603: use wcid/wcid_mask from struct mt76_dev
...
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-13 11:51:49 +01:00
Felix Fietkau
29d95328d6
mt7603: fix faulty variable initialization in last commit
...
Should be harmless, since watchdog reset is only performed when necessary
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-08 09:07:11 +01:00
Felix Fietkau
417cf49ce8
mt7603: improve recovery from MCU hang
...
Fix forcing watchdog reset after a MCU hang
Run watchdog work immediately after a failed channel change
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-07 18:46:47 +01:00
Felix Fietkau
5ee05239fa
mt7603: fix tx status rate reporting for fixed-rate packets
...
Add support for parsing legacy rates, use a flag in the tx status info
as indicator for fixed rate packets
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-06 22:19:20 +01:00
Felix Fietkau
a1afefdbf0
mt7603: fix handling of fixed rate packets
...
The FIXED_RATE flag of txd6 does not enable fixed rate, it only configures
the use of the fixed rate register as rate source.
Set the right flag in txd2 instead.
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-06 17:42:10 +01:00
Felix Fietkau
498d716353
mt7603: fix checkpatch issues
...
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-06 15:41:37 +01:00
Felix Fietkau
d9b5324ecc
mt7603: add SPDX license identifiers
...
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-06 13:53:26 +01:00
Felix Fietkau
ac6fc78aee
mt7603: add debugfs file to trigger watchdog resets
...
Makes it easier to verify that the reset code is working properly
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-06 13:39:41 +01:00
Felix Fietkau
c34baabf3b
mt7603: add missing unlock in case changing the channel fails
...
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-06 13:35:32 +01:00
Felix Fietkau
87bad3a592
mt7603: stop MAC on watchdog reset
...
Prevent further rx activity while shutting down DMA and resetting PSE
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-06 13:24:58 +01:00
Felix Fietkau
3c8e8a789b
mt7603: use irq_lock/irqmask from struct mt76_dev
...
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-06 12:24:48 +01:00
Felix Fietkau
01815e9ac2
mt7603: use mutex from struct mt76_dev
...
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-06 12:21:50 +01:00
Felix Fietkau
5195257f22
mt7603: fix maximum rx frame size
...
Use 4096 as maximum size instead of the rx buffer size, since rx packets
can be split across multiple buffers. This fixes issues with receiving
A-MSDU aggregated packets.
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-05 21:25:54 +01:00
Felix Fietkau
ef06c3074f
mt76: avoid queue/status spinlocks while passing tx status to mac80211
...
There is some code in the mac80211 tx status processing code that could
potentially call back into the tx codepath.
To avoid deadlocks, make sure that no tx related spinlocks are taken
during the ieee80211_tx_status call.
Signed-off-by: Felix Fietkau <[email protected] >
2018-11-05 21:11:42 +01:00
Felix Fietkau
ed17ba23e8
mt7603: use common tx status handling code
...
Signed-off-by: Felix Fietkau <[email protected] >
2018-10-25 18:50:28 +02:00
Felix Fietkau
0b8b15f97c
mt7603: use common mmio mcu struct
...
Signed-off-by: Felix Fietkau <[email protected] >
2018-10-25 12:58:51 +02:00
Lorenzo Bianconi and Felix Fietkau
99e04864d9
mt76: use mt76x02_dev instead of mt76_dev in mt76x02_mmio.c
...
Use mt76x02_dev data structure as reference in mt76x02_mmio.c
instead of mt76_dev
Signed-off-by: Lorenzo Bianconi <[email protected] >
Signed-off-by: Felix Fietkau <[email protected] >
2018-10-05 20:03:54 +02:00
Felix Fietkau
14f70f4d28
mt7603: fix wcid for frames sent via drv_tx
...
pspoll responses can be sent via drv_tx, which may need to be encrypted
Signed-off-by: Felix Fietkau <[email protected] >
2018-09-29 13:11:45 +02:00
Felix Fietkau
62ce3245da
move mt7603 source files to mt7603/
...
Signed-off-by: Felix Fietkau <[email protected] >
2018-09-28 18:02:01 +02:00