mt76: adjust wcid size to support new 802.11ax generation
authorRyder Lee <ryder.lee@mediatek.com>
Fri, 24 Apr 2020 19:32:25 +0000 (03:32 +0800)
committerFelix Fietkau <nbd@nbd.name>
Tue, 12 May 2020 17:52:35 +0000 (19:52 +0200)
The newer 802.11ax devices (i.e. MT7915E) can connect to much more
peers than previous generations.

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

index 38c91db2dea78aad026d58c6c8014c2c392f5d3d..25a7cda90766258d86668692198213a098d63883 100644 (file)
@@ -181,7 +181,7 @@ enum mt76_wcid_flags {
        MT_WCID_FLAG_PS,
 };
 
-#define MT76_N_WCIDS 128
+#define MT76_N_WCIDS 288
 
 /* stored in ieee80211_tx_info::hw_queue */
 #define MT_TX_HW_QUEUE_EXT_PHY         BIT(3)
@@ -201,7 +201,7 @@ struct mt76_wcid {
        struct ewma_signal rssi;
        int inactive_count;
 
-       u8 idx;
+       u16 idx;
        u8 hw_key_idx;
 
        u8 sta:1;
@@ -268,7 +268,7 @@ struct mt76_rx_tid {
 
 struct mt76_tx_cb {
        unsigned long jiffies;
-       u8 wcid;
+       u16 wcid;
        u8 pktid;
        u8 flags;
 };
@@ -445,7 +445,7 @@ struct mt76_mmio {
 struct mt76_rx_status {
        union {
                struct mt76_wcid *wcid;
-               u8 wcid_idx;
+               u16 wcid_idx;
        };
 
        unsigned long reorder_time;
@@ -622,7 +622,7 @@ enum mt76_phy_type {
 #define mt76_hw(dev) (dev)->mphy.hw
 
 static inline struct ieee80211_hw *
-mt76_wcid_hw(struct mt76_dev *dev, u8 wcid)
+mt76_wcid_hw(struct mt76_dev *dev, u16 wcid)
 {
        if (wcid <= MT76_N_WCIDS &&
            mt76_wcid_mask_test(dev->wcid_phy_mask, wcid))