blob: dab6e5b553490b161455e4188bbf4761c714e7f1 [file] [log] [blame]
developer8eb72a32023-03-30 08:32:07 +08001From b76cd7102b71458bb38868b8e0c2d2866aba1183 Mon Sep 17 00:00:00 2001
developer483388c2023-03-08 13:52:15 +08002From: Peter Chiu <chui-hao.chiu@mediatek.com>
3Date: Mon, 13 Feb 2023 09:46:40 +0800
developer1bc2ce22023-03-25 00:47:41 +08004Subject: [PATCH 04/29] wifi: mt76: mt7996: init mpdu density
developer483388c2023-03-08 13:52:15 +08005
6Init mpdu density based on the hardware capability to
7prevent hardware drop.
8
9Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com>
10---
11 mt7996/init.c | 9 +++++++--
12 1 file changed, 7 insertions(+), 2 deletions(-)
13
14diff --git a/mt7996/init.c b/mt7996/init.c
developer8eb72a32023-03-30 08:32:07 +080015index 946da93..de94e15 100644
developer483388c2023-03-08 13:52:15 +080016--- a/mt7996/init.c
17+++ b/mt7996/init.c
developer1bc2ce22023-03-25 00:47:41 +080018@@ -196,10 +196,13 @@ mt7996_init_wiphy(struct ieee80211_hw *hw)
developer483388c2023-03-08 13:52:15 +080019
20 hw->max_tx_fragments = 4;
21
22- if (phy->mt76->cap.has_2ghz)
23+ if (phy->mt76->cap.has_2ghz) {
24 phy->mt76->sband_2g.sband.ht_cap.cap |=
25 IEEE80211_HT_CAP_LDPC_CODING |
26 IEEE80211_HT_CAP_MAX_AMSDU;
27+ phy->mt76->sband_2g.sband.ht_cap.ampdu_density =
28+ IEEE80211_HT_MPDU_DENSITY_2;
29+ }
30
31 if (phy->mt76->cap.has_5ghz) {
32 phy->mt76->sband_5g.sband.ht_cap.cap |=
developer1bc2ce22023-03-25 00:47:41 +080033@@ -211,6 +214,8 @@ mt7996_init_wiphy(struct ieee80211_hw *hw)
developer483388c2023-03-08 13:52:15 +080034 IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK |
35 IEEE80211_VHT_CAP_SHORT_GI_160 |
36 IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ;
37+ phy->mt76->sband_5g.sband.ht_cap.ampdu_density =
38+ IEEE80211_HT_MPDU_DENSITY_1;
39 }
40
41 mt76_set_stream_caps(phy->mt76, true);
developer1bc2ce22023-03-25 00:47:41 +080042@@ -689,7 +694,7 @@ mt7996_init_he_caps(struct mt7996_phy *phy, enum nl80211_band band,
developer483388c2023-03-08 13:52:15 +080043 u16 cap = IEEE80211_HE_6GHZ_CAP_TX_ANTPAT_CONS |
44 IEEE80211_HE_6GHZ_CAP_RX_ANTPAT_CONS;
45
46- cap |= u16_encode_bits(IEEE80211_HT_MPDU_DENSITY_2,
47+ cap |= u16_encode_bits(IEEE80211_HT_MPDU_DENSITY_0_5,
48 IEEE80211_HE_6GHZ_CAP_MIN_MPDU_START) |
49 u16_encode_bits(IEEE80211_VHT_MAX_AMPDU_1024K,
50 IEEE80211_HE_6GHZ_CAP_MAX_AMPDU_LEN_EXP) |
51--
developer8eb72a32023-03-30 08:32:07 +0800522.18.0
developer483388c2023-03-08 13:52:15 +080053