wifi: mt76: mt7915: update mpdu density capability
authorPeter Chiu <chui-hao.chiu@mediatek.com>
Thu, 31 Aug 2023 06:22:20 +0000 (14:22 +0800)
committerFelix Fietkau <nbd@nbd.name>
Sat, 30 Sep 2023 18:03:05 +0000 (20:03 +0200)
Set mpdu density to 2 usec for non-mt7915 Wi-Fi 6 generation chipsets
to align to the hardware capability which improves the throughput.

Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com>
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7915/init.c

index 8f6b213a47551abfe23af7211ce1d975927f647a..f4d77eba71910a71439f44da407710ce4712b306 100644 (file)
@@ -390,8 +390,12 @@ mt7915_init_wiphy(struct mt7915_phy *phy)
                phy->mt76->sband_2g.sband.ht_cap.cap |=
                        IEEE80211_HT_CAP_LDPC_CODING |
                        IEEE80211_HT_CAP_MAX_AMSDU;
-               phy->mt76->sband_2g.sband.ht_cap.ampdu_density =
-                       IEEE80211_HT_MPDU_DENSITY_4;
+               if (is_mt7915(&dev->mt76))
+                       phy->mt76->sband_2g.sband.ht_cap.ampdu_density =
+                               IEEE80211_HT_MPDU_DENSITY_4;
+               else
+                       phy->mt76->sband_2g.sband.ht_cap.ampdu_density =
+                               IEEE80211_HT_MPDU_DENSITY_2;
        }
 
        if (phy->mt76->cap.has_5ghz) {
@@ -401,10 +405,11 @@ mt7915_init_wiphy(struct mt7915_phy *phy)
                phy->mt76->sband_5g.sband.ht_cap.cap |=
                        IEEE80211_HT_CAP_LDPC_CODING |
                        IEEE80211_HT_CAP_MAX_AMSDU;
-               phy->mt76->sband_5g.sband.ht_cap.ampdu_density =
-                       IEEE80211_HT_MPDU_DENSITY_4;
 
                if (is_mt7915(&dev->mt76)) {
+                       phy->mt76->sband_5g.sband.ht_cap.ampdu_density =
+                               IEEE80211_HT_MPDU_DENSITY_4;
+
                        vht_cap->cap |=
                                IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_7991 |
                                IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK;
@@ -414,6 +419,9 @@ mt7915_init_wiphy(struct mt7915_phy *phy)
                                        IEEE80211_VHT_CAP_SHORT_GI_160 |
                                        FIELD_PREP(IEEE80211_VHT_CAP_EXT_NSS_BW_MASK, 1);
                } else {
+                       phy->mt76->sband_5g.sband.ht_cap.ampdu_density =
+                               IEEE80211_HT_MPDU_DENSITY_2;
+
                        vht_cap->cap |=
                                IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_11454 |
                                IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK;