blob: f3251b2fe5fc3790f639a311e189b018538129b7 [file] [log] [blame]
developer8eb72a32023-03-30 08:32:07 +08001From 73923332230ef57e0d4ff6f6436d4133a1256a6f Mon Sep 17 00:00:00 2001
developer483388c2023-03-08 13:52:15 +08002From: Shayne Chen <shayne.chen@mediatek.com>
3Date: Thu, 16 Feb 2023 13:53:14 +0800
developer1bc2ce22023-03-25 00:47:41 +08004Subject: [PATCH 09/29] wifi: mt76: connac: set correct muar_idx for connac3
developer483388c2023-03-08 13:52:15 +08005 chipset
6
7Set the muar_idx to 0xe for the hw bcast/mcast station entry of connac3
8chipset.
9
10Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
11Change-Id: I7054c3b3c64ec447cc280ea810f4958afdfa9e02
12---
13 mt76_connac.h | 5 +++++
14 mt76_connac_mcu.c | 3 +++
15 2 files changed, 8 insertions(+)
16
17diff --git a/mt76_connac.h b/mt76_connac.h
developer8eb72a32023-03-30 08:32:07 +080018index b339c50..c8b91e8 100644
developer483388c2023-03-08 13:52:15 +080019--- a/mt76_connac.h
20+++ b/mt76_connac.h
21@@ -216,6 +216,11 @@ static inline bool is_connac_v1(struct mt76_dev *dev)
22 return is_mt7615(dev) || is_mt7663(dev) || is_mt7622(dev);
23 }
24
25+static inline bool is_connac_v3(struct mt76_dev *dev)
26+{
27+ return is_mt7996(dev);
28+}
29+
30 static inline bool is_mt76_fw_txp(struct mt76_dev *dev)
31 {
32 switch (mt76_chip(dev)) {
33diff --git a/mt76_connac_mcu.c b/mt76_connac_mcu.c
developer8eb72a32023-03-30 08:32:07 +080034index efb9bfa..4e4f6b3 100644
developer483388c2023-03-08 13:52:15 +080035--- a/mt76_connac_mcu.c
36+++ b/mt76_connac_mcu.c
37@@ -281,6 +281,9 @@ __mt76_connac_mcu_alloc_sta_req(struct mt76_dev *dev, struct mt76_vif *mvif,
38 };
39 struct sk_buff *skb;
40
41+ if (is_connac_v3(dev) && !wcid->sta)
42+ hdr.muar_idx = 0xe;
43+
44 mt76_connac_mcu_get_wlan_idx(dev, wcid, &hdr.wlan_idx_lo,
45 &hdr.wlan_idx_hi);
46 skb = mt76_mcu_msg_alloc(dev, NULL, len);
47--
developer8eb72a32023-03-30 08:32:07 +0800482.18.0
developer483388c2023-03-08 13:52:15 +080049