- 14 Feb, 2020 37 commits
-
-
Lorenzo Bianconi authored
mt76x0e users reported some devices (e.g TP-Link Archer VR200v) have been flashed with big endian radio partition. Add the possibility to specify eeprom endianness using big-endian dts property and in case covert eeprom data in little endian Tested-by: Kevin Schmidt <kevin.patrick.schmidt@googlemail.com> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Lorenzo Bianconi authored
Reset MT_MIB_STAT_CCA after channel switch since it is used to track busy time starting from 'commit dcff8d4d ("mt76: mt7603: switch to a different counter for survey busy time")' Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Shayne Chen authored
Make sure the MAC address is checked before function returns. If CONFIG_OF is set and the device node is null, the function will return directly, and an invalid MAC address will not be checked. Signed-off-by: Shayne Chen <shayne.chen@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Fixes potential RCU issues and avoids calling ieee80211_rx_napi with softirq enabled. Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
To avoid having the hardware potentially write to memory behind stale descriptors, set the dma-done flag on all of them before cleaning up allocated rx buffers Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
The MT7615 firmware needs to know the association id at creation time, which is unavailable during the transition from notexist to none in .sta_state. This can cause a number of issues, probably also breaking powersave support. Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Loading the mcu firmware and waiting for it to boot takes a long time, which adds a significant amount to the system boot time. Fix this by running the mcu init from a workqueue and waiting for it to complete before starting the phy or issuing mcu commands via debugfs Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Beacon changes need to be sent to the firmware, otherwise it will keep sending stale data Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
This is only used for testing for now. In the future it will be possible to enable the second PHY through an proper API via device tree Running: echo 1 > /sys/kernel/debug/ieee80211/phyX/mt76/dbdc will register a second wiphy (and limit the primary one to 2 spatial streams). The second wiphy will only be able to run on 5 GHz, while the primary one can operate in both bands (if supported by the device). Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Beacons and management frames need to explicitly select the alternate tx queues in order to be sent out on the right phy Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Run initialization per phy Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Use the first two WMM slots for the primary phy and the second two for the secondary phy. Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Program the RMAC CHFREQ registers to properly indicate the band that the frames are received on. Add some sanity checks to the programmed values, because the firmware programs these registers differently Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Move chainmask to struct mt7615_phy and instead of needlessly making the format similar to values for older chips, make it refer to the actual chain bits used for the rx/tx path. This is important for multiple wiphy support, where for a secondary phy, antenna_mask will start at 0, and chainmask will start at the chain offset (bit 2) Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
There are two DFS detectors on the chip. When using 160 MHz channel bandwidth (not supported in dual-wiphy mode), both are used. Otherwise, one detector is used per wiphy. Rework the code to start/stop them separately per phy and to indicate the radar event on the right phy based on the detector index Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Writing 0/1 is shorter and just as clear Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Initialize low-power beacon mode setting Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Use per-phy radio stats and tuning registers Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Allows them to be used by a separately registered wiphy later Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Shayne Chen authored
Prevent the overwriting of max_tx_fragments if it has already been set in chip-specific init routine. Signed-off-by: Shayne Chen <shayne.chen@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
It is only used by the driver Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Will be used to determine the phy from within the driver Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Unlike the core phy, this will have extra allocated memory for a driver private struct. Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Will be used for per-phy driver private data Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Allow tracking clients of both wiphys separately Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Adds multiple wiphy support to mt76_get_txpower Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Nothing in the core uses it Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Nothing in the core uses it Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Allows keeping per-wiphy state separate Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Allows tracking tx scheduling separately per phy Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Add support for an extra wiphy in mt76_set_channel and mt76_get_survey This is preparation for supporting multiple wiphys per device to support the concurrent dual-band feature of MT7615D Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
This is preparation for supporting multiple wiphys per device to support the concurrent dual-band feature of MT7615D Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
This is preparation for supporting multiple wiphys per device to support the concurrent dual-band feature of MT7615D Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
This is preparation for supporting multiple wiphys per device to support the concurrent dual-band feature of MT7615D Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
This is preparation for supporting multiple wiphys per device to support the concurrent dual-band feature of MT7615D Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
This is preparation for supporting multiple wiphys per device to support the concurrent dual-band feature of MT7615D On the first wiphy, hw->priv will point to struct mt76_dev, which contains a struct mt76_phy at the start. For the secondary wiphy, hw->priv will point to a mt76_phy encapsulated in a driver specific struct To simplify access to struct mt76_phy members from drivers, the driver specific device struct is changed to add a union of struct mt76_dev and struct mt76_phy as the first element Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Reduces duplication and prepares for further rework Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
- 13 Feb, 2020 1 commit
-
-
Tzu-En Huang authored
In associating and configuring beamformee, bfee->role is not correctly set before rtw_chip_ops::config_bfee(). Fix it by setting it correctly. Signed-off-by: Tzu-En Huang <tehuang@realtek.com> Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com> Reviewed-by: Chris Chiu <chiu@endlessm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
-
- 12 Feb, 2020 2 commits
-
-
Joe Perches authored
Reduce the data size 2kb or 3kb by making tables const. Add const to pointer declarations to make compilation work too. (x86-64 defconfig) $ size drivers/net/wireless/realtek/rtw88/rtw8822?.o* text data bss dec hex filename 25054 672 8 25734 6486 drivers/net/wireless/realtek/rtw88/rtw8822b.o.new 23870 1872 8 25750 6496 drivers/net/wireless/realtek/rtw88/rtw8822b.o.old 53646 828 0 54474 d4ca drivers/net/wireless/realtek/rtw88/rtw8822c.o.new 52846 1652 0 54498 d4e2 drivers/net/wireless/realtek/rtw88/rtw8822c.o.old (x86-64 allyesconfig) $ size drivers/net/wireless/realtek/rtw88/rtw8822?.o* text data bss dec hex filename 45811 6280 128 52219 cbfb drivers/net/wireless/realtek/rtw88/rtw8822b.o.new 44211 7880 128 52219 cbfb drivers/net/wireless/realtek/rtw88/rtw8822b.o.old 100195 8128 0 108323 1a723 drivers/net/wireless/realtek/rtw88/rtw8822c.o.new 98947 9376 0 108323 1a723 drivers/net/wireless/realtek/rtw88/rtw8822c.o.old Signed-off-by: Joe Perches <joe@perches.com> Acked-by: Yan-Hsuan Chuang <yhchuang@realtek.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
-
Yan-Hsuan Chuang authored
Some tests shows that using AMSDU to aggregate TCP ACKs to specific APs will degrade the throughput on 2.4G band in 20MHz bandwidth (< 10 Mbps, should be ~100 Mbps for 2x2). Also found that there's barely no negative impact if we disable TX AMSDU on 2.4G to connect to other APs. So it seems like we can just tell mac80211 to not to aggregate MSDUs when transmitting on 2.4G band. Note that we still can TX AMSDU on 5G band and benefit from it by having 50 ~ 70 Mbps throughput improvement. Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com> Reviewed-by: Chris Chiu <chiu@endlessm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
-