[][mac80211][mt76][update mpdu density setting]
[Description]
Fix MPDU density setting to the same setting as jedi.
For mt7915, MMSS is 4.
For mt7986, MMSS is 2.
[Release-log]
N/A
Change-Id: Ic3e0730e4f76d25fa87dd6aa8b16d204cd2bbcf9
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/7535571
diff --git a/autobuild_mac80211_release/package/kernel/mt76/patches/0008-wifi-mt76-mt7915-update-mpdu-density-in-2-5g-capabil.patch b/autobuild_mac80211_release/package/kernel/mt76/patches/0008-wifi-mt76-mt7915-update-mpdu-density-in-2-5g-capabil.patch
new file mode 100644
index 0000000..5cca53c
--- /dev/null
+++ b/autobuild_mac80211_release/package/kernel/mt76/patches/0008-wifi-mt76-mt7915-update-mpdu-density-in-2-5g-capabil.patch
@@ -0,0 +1,59 @@
+From 4fe047234a68854764a3dbf4cfb18ffee441961f Mon Sep 17 00:00:00 2001
+From: Peter Chiu <chui-hao.chiu@mediatek.com>
+Date: Wed, 24 May 2023 10:17:38 +0800
+Subject: [PATCH] wifi: mt76: mt7915: update mpdu density in 2/5g capability
+
+Set mpdu density to 2 usec to meet hardware capability
+and also update enhance throughput.
+
+Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com>
+---
+ mt7915/init.c | 16 ++++++++++++----
+ 1 file changed, 12 insertions(+), 4 deletions(-)
+
+diff --git a/mt7915/init.c b/mt7915/init.c
+index abca9095..bf2edcc2 100644
+--- a/mt7915/init.c
++++ b/mt7915/init.c
+@@ -398,8 +398,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) {
+@@ -409,10 +413,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;
+@@ -423,6 +428,9 @@ mt7915_init_wiphy(struct mt7915_phy *phy)
+ IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ |
+ 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;
+--
+2.18.0
+