]> git.baikalelectronics.ru Git - kernel.git/commitdiff
mt76: mt7603: improve hardware rate switching configuration
authorFelix Fietkau <nbd@nbd.name>
Mon, 24 Jun 2019 22:16:20 +0000 (00:16 +0200)
committerFelix Fietkau <nbd@nbd.name>
Thu, 27 Jun 2019 10:58:13 +0000 (12:58 +0200)
Now that tx status reporting can figure out the first attempted rate, we can
make switching from lower rates to higher rates more conservative.
This reduces retries under bad link conditions and ensures that fallback
rates get more test coverage

Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7603/init.c

index ddf47c9eb67f91dcdfdeddf074533fc57995b6fe..85744cdd09f81193a4b4804dd2b43cf1277825a5 100644 (file)
@@ -227,7 +227,16 @@ mt7603_mac_init(struct mt7603_dev *dev)
        mt76_rmw_field(dev, MT_LPON_BTEIR, MT_LPON_BTEIR_MBSS_MODE, 2);
        mt76_rmw_field(dev, MT_WF_RMACDR, MT_WF_RMACDR_MBSSID_MASK, 2);
 
-       mt76_wr(dev, MT_AGG_ARUCR, FIELD_PREP(MT_AGG_ARxCR_LIMIT(0), 7));
+       mt76_wr(dev, MT_AGG_ARUCR,
+               FIELD_PREP(MT_AGG_ARxCR_LIMIT(0), 7) |
+               FIELD_PREP(MT_AGG_ARxCR_LIMIT(1), 2) |
+               FIELD_PREP(MT_AGG_ARxCR_LIMIT(2), 2) |
+               FIELD_PREP(MT_AGG_ARxCR_LIMIT(3), 2) |
+               FIELD_PREP(MT_AGG_ARxCR_LIMIT(4), 1) |
+               FIELD_PREP(MT_AGG_ARxCR_LIMIT(5), 1) |
+               FIELD_PREP(MT_AGG_ARxCR_LIMIT(6), 1) |
+               FIELD_PREP(MT_AGG_ARxCR_LIMIT(7), 1));
+
        mt76_wr(dev, MT_AGG_ARDCR,
                FIELD_PREP(MT_AGG_ARxCR_LIMIT(0), MT7603_RATE_RETRY - 1) |
                FIELD_PREP(MT_AGG_ARxCR_LIMIT(1), MT7603_RATE_RETRY - 1) |