blob: 3f55f11d6868133dbff03ec50767502795044186 [file] [log] [blame]
developerde9ecce2023-05-22 11:17:16 +08001From fb2659a8aa12346cdda4010737f63178040fa513 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
developerde9ecce2023-05-22 11:17:16 +08004Subject: [PATCH 04/22] 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
developerde9ecce2023-05-22 11:17:16 +080018index 77ca8f05..02acac64 100644
developer483388c2023-03-08 13:52:15 +080019--- a/mt76_connac.h
20+++ b/mt76_connac.h
developerde9ecce2023-05-22 11:17:16 +080021@@ -240,6 +240,11 @@ static inline bool is_connac_v1(struct mt76_dev *dev)
developer483388c2023-03-08 13:52:15 +080022 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
developerde9ecce2023-05-22 11:17:16 +080034index 46f69aa8..5fab6772 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--
developerde9ecce2023-05-22 11:17:16 +0800482.39.2
developer483388c2023-03-08 13:52:15 +080049