mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-09 22:14:36 -04:00
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: Sujuan Chen <sujuan.chen@mediatek.com> Signed-off-by: Sujuan Chen <sujuan.chen@mediatek.com> Co-developed-by: Ryder Lee <ryder.lee@mediatek.com> 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>
This commit is contained in:
@@ -225,7 +225,7 @@ enum mt76_wcid_flags {
|
||||
MT_WCID_FLAG_HDR_TRANS,
|
||||
};
|
||||
|
||||
#define MT76_N_WCIDS 288
|
||||
#define MT76_N_WCIDS 544
|
||||
|
||||
/* stored in ieee80211_tx_info::hw_queue */
|
||||
#define MT_TX_HW_QUEUE_EXT_PHY BIT(3)
|
||||
|
||||
@@ -427,7 +427,7 @@ static void mt7915_mac_init(struct mt7915_dev *dev)
|
||||
/* enable hardware de-agg */
|
||||
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,
|
||||
MT_WTBL_UPDATE_ADM_COUNT_CLEAR);
|
||||
for (i = 0; i < 2; i++)
|
||||
|
||||
@@ -1598,7 +1598,7 @@ static void mt7915_mac_add_txs(struct mt7915_dev *dev, void *data)
|
||||
if (pid < MT_PACKET_ID_FIRST)
|
||||
return;
|
||||
|
||||
if (wcidx >= MT7915_WTBL_SIZE)
|
||||
if (wcidx >= mt7915_wtbl_size(dev))
|
||||
return;
|
||||
|
||||
rcu_read_lock();
|
||||
|
||||
@@ -12,7 +12,8 @@
|
||||
#define MT7915_MAX_INTERFACES 19
|
||||
#define MT7915_MAX_WMM_SETS 4
|
||||
#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 - \
|
||||
MT7915_MAX_INTERFACES)
|
||||
|
||||
@@ -480,6 +481,11 @@ static inline bool is_mt7915(struct mt76_dev *dev)
|
||||
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,
|
||||
u32 clear, u32 set);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user