OSDN Git Service

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 ddf47c9..85744cd 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) |