blob: 4509388ff30a7746b30f2a60323040cbad3fff30 [file] [log] [blame]
developer1bc2ce22023-03-25 00:47:41 +08001From 0a3940d0eaa4fa234c30d27c4f06b001caf0e5a0 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
18index b339c50b..c8b91e86 100644
19--- 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
34index efb9bfaa..4e4f6b35 100644
35--- 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--
482.39.2
49