mt76: set wlan_idx_hi on mt7916
authorBo Jiao <Bo.Jiao@mediatek.com>
Wed, 22 Dec 2021 12:29:16 +0000 (20:29 +0800)
committerFelix Fietkau <nbd@nbd.name>
Thu, 3 Feb 2022 12:57:57 +0000 (13:57 +0100)
Since mt7916 supports up to 544 wcid entries, wlan_idx_hi needs to be set
in order to support wcid index >= 256

Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
Signed-off-by: Bo Jiao <Bo.Jiao@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt76_connac.h
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h

index e999d7182c8f176c262879136322c545e8619b3b..8701f04a28e34dc092738aead14b658454d0cb89 100644 (file)
@@ -110,6 +110,11 @@ static inline bool is_mt7915(struct mt76_dev *dev)
        return mt76_chip(dev) == 0x7915;
 }
 
+static inline bool is_mt7916(struct mt76_dev *dev)
+{
+       return mt76_chip(dev) == 0x7906;
+}
+
 static inline u8 mt76_connac_chan_bw(struct cfg80211_chan_def *chandef)
 {
        static const u8 width_to_bw[] = {
index edad58383ed49ad0d65a9c991499661f99c9c510..fc9a08436d4396d65a9fcd326764f6f3ecf541fb 100644 (file)
@@ -1464,7 +1464,7 @@ mt76_connac_mcu_get_wlan_idx(struct mt76_dev *dev, struct mt76_wcid *wcid,
 {
        *wlan_idx_hi = 0;
 
-       if (is_mt7921(dev) || is_mt7915(dev)) {
+       if (is_mt7921(dev) || is_mt7915(dev) || is_mt7916(dev)) {
                *wlan_idx_lo = wcid ? to_wcid_lo(wcid->idx) : 0;
                *wlan_idx_hi = wcid ? to_wcid_hi(wcid->idx) : 0;
        } else {