openwrt/package/kernel
Daniel Golle 9eacb9d7fc rt2x00: mt7620: lots of improvements
This commit combines all the changes I've made on my staging tree
into a single commit fixing many issues with our patch for MT7620.

First of all, checkpatch.pl revealed numerous code style issues with
the patch, so fix all the white-space and commets. Also use
usleep_range instead of legacy timing and relax timing for VCO
calibration just like the vendor driver does.

Several line programming registers were commented out in the patch.
Originally this came from the features present but disabled by default
in the vendor's driver (RTMP_TEMPERATURE_CALIBRATION and
ADJUST_POWER_CONSUMPTION_SUPPORT). Remove the dead code for now, it can
easily be re-added if we actually intend to support those features.

Move values from mt7620_freqconfig type into the existing rf_channel
struct, this shouldn't be a new typedef and it is possible to use the
existing struct because rf_channel got 4 32-bit fields, so two of the
8-bit values from mt7620_freqconfig can easily be stored in the same
32-bit field.

Map values such that
Rdiv -> rf1
N    -> rf2
K    -> rf3[0:7]
D    -> rf3[8:15]
Ksd  -> rf4

This makes the channel switching logic already look a bit more like
what we are used to in rt2x00... Probably many of the read-modify-write
calls could still be replaced by macros intended for that.

iq calibration seems to be identical to RT5592, so just enable it.
Test shows that this improves things quite a lot, datarates went up
by a couple of megabits when running iperf, signal quality seems jumpy
in the first few seconds once a station connencts, the stabelizes on a
value significantly better than what it was before.

Add description to the patch and reference the original OpenWrt commit
by which it was added.

The patch now passes checkpatch.pl and can thus be discussed with the
upstream authors of the rt2x00 driver.

Funded-by: https://www.kickstarter.com/projects/1327597961/better-support-for-mt7620a-n-in-openwrt-lede/

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2017-02-08 22:21:26 +01:00
..
acx-mac80211 acx-mac80211: fix scan API error that could lead to a crash 2017-02-03 12:35:44 +01:00
ar7-atm treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
ath10k-ct ath10k-ct: depend on kmod-hwmon-core, it gets used when CONFIG_THERMAL is set 2017-02-01 17:49:54 +01:00
avila-wdt kernel/avila-wdt: drop Build/Prepare rule in favor of default one 2016-10-15 11:36:52 +02:00
brcm2708-gpu-fw brcm2708-gpu-fw: update to latest version 2017-02-06 22:24:57 +01:00
broadcom-wl treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
button-hotplug kernel/button-hotplug: drop Build/Prepare rule in favor of default one 2016-10-15 11:36:52 +02:00
gpio-button-hotplug gpio-button-hotplug: add more buttons 2016-11-27 15:34:23 +01:00
gpio-nct5104d gpio-nct5104d: add compatibility for linux 4.9 2017-02-01 17:49:52 +01:00
hwmon-gsc kernel: move the gateworks system controller driver to an out-of-tree package 2017-01-10 12:10:20 +01:00
i2c-gpio-custom kernel/i2c-gpio-custom: drop Build/Prepare rule in favor of default one 2016-10-15 11:36:52 +02:00
kmod-sched-cake kmod-sched-cake: Bump to latest version 2017-01-30 16:30:41 +01:00
lantiq ltq-vmmc: mark VOICE_CPE_VMMC_PMC as broken 2016-12-25 18:43:55 +01:00
leds-apu2 leds-apu2: add compatibility for linux 4.9 2017-02-01 17:49:52 +01:00
linux kernel: of-mdio: add missing dependency for linux 4.9 2017-02-07 23:00:13 +01:00
mac80211 rt2x00: mt7620: lots of improvements 2017-02-08 22:21:26 +01:00
mt76 mt76: update to the latest version, fixes a MAC address handling regression 2017-02-04 10:17:42 +01:00
mwlwifi mwlwifi: Fixes rewritten history hash and latest version 2017-01-26 13:53:57 +01:00
om-watchdog package/om-watchdog: add OpenMesh MR1750v2 support 2016-05-23 12:19:25 +02:00
rotary-gpio-custom rotary-gpio-custom: depend on Linux 3.18 and 4.4 (will not work on newer kernels) 2017-02-01 17:49:53 +01:00
rtc-rv5c386a rtc-rv5c386a: fix include path for bcm47xx_nvram.h 2016-11-30 12:47:25 +01:00
spi-gpio-custom kernel/spi-gpio-custom: drop Build/Prepare rule in favor of default one 2016-10-15 11:36:53 +02:00
trelay kernel/trelay: drop Build/Prepare rule in favor of default one 2016-10-15 11:36:53 +02:00
w1-gpio-custom kernel/w1-gpio-custom: drop Build/Prepare rule in favor of default one 2016-10-15 11:36:53 +02:00
wrt55agv2-spidevs kernel/wrt55agv2-spidevs: drop Build/Prepare rule in favor of default one 2016-10-15 11:36:53 +02:00