mt76: mt76x0: enable MCS 8 and MCS9
authorLorenzo Bianconi <lorenzo@kernel.org>
Sat, 25 Apr 2020 12:11:09 +0000 (14:11 +0200)
committerFelix Fietkau <nbd@nbd.name>
Tue, 12 May 2020 17:52:33 +0000 (19:52 +0200)
Enable MCS8 and MCS9 for mt76x0{u,e} devices

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt76x0/init.c

index 57f8d56737ebfdc48c2be03a9ea5a1bf7ac37cc1..dc8bf4c6969af50b9297494be1ae18c6c3da4cb6 100644 (file)
 #include "initvals.h"
 #include "../mt76x02_phy.h"
 
-static void mt76x0_vht_cap_mask(struct ieee80211_supported_band *sband)
-{
-       struct ieee80211_sta_vht_cap *vht_cap = &sband->vht_cap;
-       u16 mcs_map = 0;
-       int i;
-
-       vht_cap->cap &= ~IEEE80211_VHT_CAP_RXLDPC;
-       for (i = 0; i < 8; i++) {
-               if (!i)
-                       mcs_map |= (IEEE80211_VHT_MCS_SUPPORT_0_7 << (i * 2));
-               else
-                       mcs_map |=
-                               (IEEE80211_VHT_MCS_NOT_SUPPORTED << (i * 2));
-       }
-       vht_cap->vht_mcs.rx_mcs_map = cpu_to_le16(mcs_map);
-       vht_cap->vht_mcs.tx_mcs_map = cpu_to_le16(mcs_map);
-}
-
 static void
 mt76x0_set_wlan_state(struct mt76x02_dev *dev, u32 val, bool enable)
 {
@@ -263,9 +245,11 @@ int mt76x0_register_device(struct mt76x02_dev *dev)
                return ret;
 
        if (dev->mt76.cap.has_5ghz) {
-               /* overwrite unsupported features */
-               mt76x0_vht_cap_mask(&dev->mphy.sband_5g.sband);
-               mt76x0_init_txpower(dev, &dev->mphy.sband_5g.sband);
+               struct ieee80211_supported_band *sband;
+
+               sband = &dev->mphy.sband_5g.sband;
+               sband->vht_cap.cap &= ~IEEE80211_VHT_CAP_RXLDPC;
+               mt76x0_init_txpower(dev, sband);
        }
 
        if (dev->mt76.cap.has_2ghz)