Commit b37d0c97 authored by Bo Jiao's avatar Bo Jiao Committed by Felix Fietkau

mt76: mt7915: enlarge wcid size to 544

The mt7916 can support up to 544 wcid entries.
This is an intermediate patch to add mt7916 support.
Co-developed-by: default avatarSujuan Chen <sujuan.chen@mediatek.com>
Signed-off-by: default avatarSujuan Chen <sujuan.chen@mediatek.com>
Co-developed-by: default avatarRyder Lee <ryder.lee@mediatek.com>
Signed-off-by: default avatarRyder Lee <ryder.lee@mediatek.com>
Signed-off-by: default avatarBo Jiao <Bo.Jiao@mediatek.com>
Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
parent 65dec62f
...@@ -225,7 +225,7 @@ enum mt76_wcid_flags { ...@@ -225,7 +225,7 @@ enum mt76_wcid_flags {
MT_WCID_FLAG_HDR_TRANS, MT_WCID_FLAG_HDR_TRANS,
}; };
#define MT76_N_WCIDS 288 #define MT76_N_WCIDS 544
/* stored in ieee80211_tx_info::hw_queue */ /* stored in ieee80211_tx_info::hw_queue */
#define MT_TX_HW_QUEUE_EXT_PHY BIT(3) #define MT_TX_HW_QUEUE_EXT_PHY BIT(3)
......
...@@ -427,7 +427,7 @@ static void mt7915_mac_init(struct mt7915_dev *dev) ...@@ -427,7 +427,7 @@ static void mt7915_mac_init(struct mt7915_dev *dev)
/* enable hardware de-agg */ /* enable hardware de-agg */
mt76_set(dev, MT_MDP_DCR0, MT_MDP_DCR0_DAMSDU_EN); mt76_set(dev, MT_MDP_DCR0, MT_MDP_DCR0_DAMSDU_EN);
for (i = 0; i < MT7915_WTBL_SIZE; i++) for (i = 0; i < mt7915_wtbl_size(dev); i++)
mt7915_mac_wtbl_update(dev, i, mt7915_mac_wtbl_update(dev, i,
MT_WTBL_UPDATE_ADM_COUNT_CLEAR); MT_WTBL_UPDATE_ADM_COUNT_CLEAR);
for (i = 0; i < 2; i++) for (i = 0; i < 2; i++)
......
...@@ -1598,7 +1598,7 @@ static void mt7915_mac_add_txs(struct mt7915_dev *dev, void *data) ...@@ -1598,7 +1598,7 @@ static void mt7915_mac_add_txs(struct mt7915_dev *dev, void *data)
if (pid < MT_PACKET_ID_FIRST) if (pid < MT_PACKET_ID_FIRST)
return; return;
if (wcidx >= MT7915_WTBL_SIZE) if (wcidx >= mt7915_wtbl_size(dev))
return; return;
rcu_read_lock(); rcu_read_lock();
......
...@@ -12,7 +12,8 @@ ...@@ -12,7 +12,8 @@
#define MT7915_MAX_INTERFACES 19 #define MT7915_MAX_INTERFACES 19
#define MT7915_MAX_WMM_SETS 4 #define MT7915_MAX_WMM_SETS 4
#define MT7915_WTBL_SIZE 288 #define MT7915_WTBL_SIZE 288
#define MT7915_WTBL_RESERVED (MT7915_WTBL_SIZE - 1) #define MT7916_WTBL_SIZE 544
#define MT7915_WTBL_RESERVED (mt7915_wtbl_size(dev) - 1)
#define MT7915_WTBL_STA (MT7915_WTBL_RESERVED - \ #define MT7915_WTBL_STA (MT7915_WTBL_RESERVED - \
MT7915_MAX_INTERFACES) MT7915_MAX_INTERFACES)
...@@ -480,6 +481,11 @@ static inline bool is_mt7915(struct mt76_dev *dev) ...@@ -480,6 +481,11 @@ static inline bool is_mt7915(struct mt76_dev *dev)
return mt76_chip(dev) == 0x7915; return mt76_chip(dev) == 0x7915;
} }
static inline u16 mt7915_wtbl_size(struct mt7915_dev *dev)
{
return is_mt7915(&dev->mt76) ? MT7915_WTBL_SIZE : MT7916_WTBL_SIZE;
}
void mt7915_dual_hif_set_irq_mask(struct mt7915_dev *dev, bool write_reg, void mt7915_dual_hif_set_irq_mask(struct mt7915_dev *dev, bool write_reg,
u32 clear, u32 set); u32 clear, u32 set);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment