mac80211: rt2x00: experimental improvements for MT7620 wifi
authorDaniel Golle <daniel@makrotopia.org>
Thu, 28 Jul 2022 11:40:12 +0000 (13:40 +0200)
committerDaniel Golle <daniel@makrotopia.org>
Mon, 12 Sep 2022 20:37:08 +0000 (21:37 +0100)
commit31a6605de04218e1c04bd5c2436c24d7d1c07506
tree474c00657c343055bda74eb3e91c19d4dee8ed20
parentd4feb66048f6a8f387eedfb162a1184cdae9d756
mac80211: rt2x00: experimental improvements for MT7620 wifi

Serge Vasilugin reports:

To improve mt7620 built-in wifi performance some changes:
1. Correct BW20/BW40 switching (see comments with mark (1))
2. Correct TX_SW_CFG1 MAC reg from v3 of vendor driver see
https://gitlab.com/dm38/padavan-ng/-/blob/master/trunk/proprietary/rt_wifi/rtpci/3.0.X.X/mt76x2/chips/rt6352.c#L531
3. Set bbp66 for all chains.
4. US_CYC_CNT init based on Programming guide, default value was 33 (pci),
   set chipset bus clock with fallback to cpu clock/3.
5. Don't overwrite default values for mt7620.
6. Correct some typos.
7. Add support for external LNA:
    a) RF and BBP regs never be corrected for this mode
    b) eLNA is driven the same way as ePA with mt7620's pin PA
but vendor driver explicitly pin PA to gpio mode (for forrect calibration?)
so I'm not sure that request for pa_pin in dts-file will be enough

First 5 changes (really 2) improve performance for boards w/o eLNA/ePA.
Changes 7 add support for eLNA

Configuration w/o eLAN/ePA and with eLNA show results
tx/rx (from router point of view) for each stream:
 35-40/30-35 Mbps for HT20
 65-70/60-65 Mbps for HT40

Yes. Max results for 2T2R client is 140-145/135-140
with peaks 160/150, It correspond to mediatek driver results.
Boards with ePA untested.

Reported-by: Serge Vasilugin <vasilugin@yandex.ru>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
17 files changed:
package/kernel/mac80211/patches/rt2x00/992-rt2x00-more-fixes.patch [new file with mode: 0644]
target/linux/ramips/dts/mt7620a.dtsi
target/linux/ramips/dts/mt7620a_buffalo_whr-300hp2.dts
target/linux/ramips/dts/mt7620a_cameo_810.dtsi
target/linux/ramips/dts/mt7620a_dlink_dch-m225.dts
target/linux/ramips/dts/mt7620a_fon_fon2601.dts
target/linux/ramips/dts/mt7620a_hiwifi_hc5861.dts
target/linux/ramips/dts/mt7620a_lenovo_newifi-y1.dtsi
target/linux/ramips/dts/mt7620a_phicomm_k2-v22.4.dts
target/linux/ramips/dts/mt7620a_phicomm_k2-v22.5.dts
target/linux/ramips/dts/mt7620a_phicomm_k2g.dts
target/linux/ramips/dts/mt7620a_tplink_archer-c20-v1.dts
target/linux/ramips/dts/mt7620a_tplink_archer-c50-v1.dts
target/linux/ramips/dts/mt7620a_wavlink_wl-wn530hg4.dts
target/linux/ramips/dts/mt7620a_xiaomi_miwifi-mini.dts
target/linux/ramips/dts/mt7620a_youku_yk-l1.dtsi
target/linux/ramips/dts/mt7620a_zbtlink_zbt-ape522ii.dts