2022-09-16 23:16:53

by Daniel Golle

[permalink] [raw]
Subject: [PATCH 00/15] rt2x00: OpenWrt patches improving MT7620

Over the years we have been accumulating a number of patches improving
support for the IEEE 802.11bgn 2T2R wireless interface built into the
MediaTek MT7620 MIPS SoCs. Many of them have not been in shape for
being submitted to Linux and changes were needed to make checkpatch.pl
all happy. Now they look as good as it gets, given that most code deals
with undocumented registers and was adapted from the vendor driver.

Patch 1/1 also has been previously submitted and then (imho wrongly)
rejected, so I've included it in this series.

Alltogether rt2x00 now performs almost as good as the vendor driver,
see benchmark of HT20 client below:

Accepted connection from 192.168.5.133, port 37382
[ 5] local 192.168.5.175 port 5201 connected to 192.168.5.133 port 37384
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 9.57 MBytes 80.3 Mbits/sec
[ 5] 1.00-2.00 sec 9.68 MBytes 81.2 Mbits/sec
[ 5] 2.00-3.00 sec 9.98 MBytes 83.7 Mbits/sec
[ 5] 3.00-4.00 sec 9.72 MBytes 81.6 Mbits/sec
[ 5] 4.00-5.00 sec 9.49 MBytes 79.6 Mbits/sec
[ 5] 5.00-6.00 sec 9.88 MBytes 82.9 Mbits/sec
[ 5] 6.00-7.00 sec 9.76 MBytes 81.8 Mbits/sec
[ 5] 7.00-8.00 sec 9.96 MBytes 83.6 Mbits/sec
[ 5] 8.00-9.00 sec 9.76 MBytes 81.9 Mbits/sec
[ 5] 9.00-10.00 sec 9.86 MBytes 82.7 Mbits/sec
[ 5] 10.00-10.03 sec 243 KBytes 78.4 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.03 sec 97.9 MBytes 81.9 Mbits/sec receiver

Accepted connection from 192.168.5.133, port 49588
[ 5] local 192.168.5.175 port 5201 connected to 192.168.5.133 port 49598
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 12.7 MBytes 106 Mbits/sec 0 557 KBytes
[ 5] 1.00-2.00 sec 11.1 MBytes 93.0 Mbits/sec 0 1020 KBytes
[ 5] 2.00-3.00 sec 11.2 MBytes 94.4 Mbits/sec 0 1.57 MBytes
[ 5] 3.00-4.00 sec 11.2 MBytes 94.4 Mbits/sec 0 1.58 MBytes
[ 5] 4.00-5.00 sec 10.0 MBytes 83.9 Mbits/sec 0 1.58 MBytes
[ 5] 5.00-6.00 sec 11.2 MBytes 94.4 Mbits/sec 0 1.58 MBytes
[ 5] 6.00-7.00 sec 11.2 MBytes 94.4 Mbits/sec 0 1.58 MBytes
[ 5] 7.00-8.00 sec 10.0 MBytes 83.9 Mbits/sec 0 1.58 MBytes
[ 5] 8.00-9.00 sec 12.5 MBytes 105 Mbits/sec 0 1.58 MBytes
[ 5] 9.00-10.00 sec 10.0 MBytes 83.9 Mbits/sec 0 1.58 MBytes
[ 5] 10.00-10.03 sec 1.25 MBytes 381 Mbits/sec 0 1.58 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.03 sec 112 MBytes 94.1 Mbits/sec 0 sender


Daniel Golle (8):
rt2x00: add support for external PA on MT7620
rt2x00: don't run Rt5592 IQ calibration on MT7620
rt2x00: move helper functions up in file
rt2x00: fix HT20/HT40 bandwidth switch on MT7620
rt2x00: set correct TX_SW_CFG1 MAC register for MT7620
rt2x00: set VGC gain for both chains of MT7620
rt2x00: set SoC wmac clock register
rt2x00: correctly set BBP register 86 for MT7620

David Bauer (1):
rt2x00: add throughput LED trigger

Tomislav Požega (6):
rt2x00: define RF5592 in init_eeprom routine
rt2x00: add RF self TXDC calibration for MT7620
rt2x00: add r calibration for MT7620
rt2x00: add RXDCOC calibration for MT7620
rt2x00: add RXIQ calibration for MT7620
rt2x00: add TX LOFT calibration for MT7620

.../net/wireless/ralink/rt2x00/rt2800lib.c | 1705 ++++++++++++++++-
.../net/wireless/ralink/rt2x00/rt2800lib.h | 10 +
drivers/net/wireless/ralink/rt2x00/rt2x00.h | 5 +
.../net/wireless/ralink/rt2x00/rt2x00dev.c | 18 +
6 files changed, 1787 insertions(+), 25 deletions(-)

--
2.37.3


2022-09-17 13:22:17

by Stanislaw Gruszka

[permalink] [raw]
Subject: Re: [PATCH 00/15] rt2x00: OpenWrt patches improving MT7620

On Sat, Sep 17, 2022 at 12:03:57AM +0100, Daniel Golle wrote:
> Over the years we have been accumulating a number of patches improving
> support for the IEEE 802.11bgn 2T2R wireless interface built into the
> MediaTek MT7620 MIPS SoCs. Many of them have not been in shape for
> being submitted to Linux and changes were needed to make checkpatch.pl
> all happy. Now they look as good as it gets, given that most code deals
> with undocumented registers and was adapted from the vendor driver.
>
> Patch 1/1 also has been previously submitted and then (imho wrongly)
>rejected, so I've included it in this series.

In general this looks good. Some calibration functions are just too
big, but we can eventually take them and refactor in the tree.
Just please assure there are no compilation warnings and add
yours signed-off by to all patches.

> Alltogether rt2x00 now performs almost as good as the vendor driver,
> see benchmark of HT20 client below:
>
> Accepted connection from 192.168.5.133, port 37382
> [ 5] local 192.168.5.175 port 5201 connected to 192.168.5.133 port 37384
> [ ID] Interval Transfer Bitrate
> [ 5] 0.00-1.00 sec 9.57 MBytes 80.3 Mbits/sec
> [ 5] 1.00-2.00 sec 9.68 MBytes 81.2 Mbits/sec
> [ 5] 2.00-3.00 sec 9.98 MBytes 83.7 Mbits/sec
> [ 5] 3.00-4.00 sec 9.72 MBytes 81.6 Mbits/sec
> [ 5] 4.00-5.00 sec 9.49 MBytes 79.6 Mbits/sec
> [ 5] 5.00-6.00 sec 9.88 MBytes 82.9 Mbits/sec
> [ 5] 6.00-7.00 sec 9.76 MBytes 81.8 Mbits/sec
> [ 5] 7.00-8.00 sec 9.96 MBytes 83.6 Mbits/sec
> [ 5] 8.00-9.00 sec 9.76 MBytes 81.9 Mbits/sec
> [ 5] 9.00-10.00 sec 9.86 MBytes 82.7 Mbits/sec
> [ 5] 10.00-10.03 sec 243 KBytes 78.4 Mbits/sec
> - - - - - - - - - - - - - - - - - - - - - - - - -
> [ ID] Interval Transfer Bitrate
> [ 5] 0.00-10.03 sec 97.9 MBytes 81.9 Mbits/sec receiver

My mt7620 AP benchmarking tests quite highly depended on client devices.
With clients like iwlwifi and ath it worked ok. I got pretty poor
results when connected rt2x00 client devices :-/

Regards
Stanislaw

2022-09-17 13:28:38

by Stanislaw Gruszka

[permalink] [raw]
Subject: Re: [PATCH 00/15] rt2x00: OpenWrt patches improving MT7620

On Sat, Sep 17, 2022 at 03:17:35PM +0200, Stanislaw Gruszka wrote:
> On Sat, Sep 17, 2022 at 12:03:57AM +0100, Daniel Golle wrote:
> > Over the years we have been accumulating a number of patches improving
> > support for the IEEE 802.11bgn 2T2R wireless interface built into the
> > MediaTek MT7620 MIPS SoCs. Many of them have not been in shape for
> > being submitted to Linux and changes were needed to make checkpatch.pl
> > all happy. Now they look as good as it gets, given that most code deals
> > with undocumented registers and was adapted from the vendor driver.
> >
> > Patch 1/1 also has been previously submitted and then (imho wrongly)
> >rejected, so I've included it in this series.
>
> In general this looks good. Some calibration functions are just too
> big, but we can eventually take them and refactor in the tree.
> Just please assure there are no compilation warnings and add
> yours signed-off by to all patches.

Also please configure git-send-email to send patches in one thread.

Thanks
Stanislaw