From fcddb155b538beb0ca7614260a1323d64bfc656a Mon Sep 17 00:00:00 2001 From: DENG Qingfang Date: Mon, 23 Nov 2020 10:46:37 +0800 Subject: [PATCH] mt76: allow VHT rate on 2.4GHz Allow chips that support 11ac to use 256QAM on 2.4GHz Signed-off-by: DENG Qingfang --- mac80211.c | 10 +++++----- mt7615/init.c | 2 ++ 2 files changed, 7 insertions(+), 5 deletions(-) --- a/mac80211.c +++ b/mac80211.c @@ -275,7 +275,7 @@ static void mt76_init_stream_cap(struct void mt76_set_stream_caps(struct mt76_phy *phy, bool vht) { if (phy->cap.has_2ghz) - mt76_init_stream_cap(phy, &phy->sband_2g.sband, false); + mt76_init_stream_cap(phy, &phy->sband_2g.sband, vht); if (phy->cap.has_5ghz) mt76_init_stream_cap(phy, &phy->sband_5g.sband, vht); if (phy->cap.has_6ghz) @@ -342,13 +342,13 @@ mt76_init_sband(struct mt76_phy *phy, st static int mt76_init_sband_2g(struct mt76_phy *phy, struct ieee80211_rate *rates, - int n_rates) + int n_rates, bool vht) { phy->hw->wiphy->bands[NL80211_BAND_2GHZ] = &phy->sband_2g.sband; return mt76_init_sband(phy, &phy->sband_2g, mt76_channels_2ghz, ARRAY_SIZE(mt76_channels_2ghz), rates, - n_rates, true, false); + n_rates, true, vht); } static int @@ -496,7 +496,7 @@ int mt76_register_phy(struct mt76_phy *p return ret; if (phy->cap.has_2ghz) { - ret = mt76_init_sband_2g(phy, rates, n_rates); + ret = mt76_init_sband_2g(phy, rates, n_rates, vht); if (ret) return ret; } @@ -621,7 +621,7 @@ int mt76_register_device(struct mt76_dev return ret; if (phy->cap.has_2ghz) { - ret = mt76_init_sband_2g(phy, rates, n_rates); + ret = mt76_init_sband_2g(phy, rates, n_rates, vht); if (ret) return ret; } --- a/mt7615/init.c +++ b/mt7615/init.c @@ -409,6 +409,8 @@ mt7615_init_wiphy(struct ieee80211_hw *h hw->max_tx_fragments = MT_HW_TXP_MAX_BUF_NUM; phy->mt76->sband_2g.sband.ht_cap.cap |= IEEE80211_HT_CAP_LDPC_CODING; + phy->mt76->sband_2g.sband.vht_cap.cap |= + IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK; phy->mt76->sband_5g.sband.ht_cap.cap |= IEEE80211_HT_CAP_LDPC_CODING; phy->mt76->sband_5g.sband.vht_cap.cap |= IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK;