blob: c1242fc20dfc687ba9347e16e97d76c56218c15e [file] [log] [blame]
developer1346ce52022-12-15 21:36:14 +08001From 001bfbcae27083c1ac5ffca0705bcf7447390875 Mon Sep 17 00:00:00 2001
developer1c8c97b2022-08-11 18:27:08 -07002From: TomLiu <tomml.liu@mediatek.com>
3Date: Thu, 11 Aug 2022 18:09:45 -0700
developer1346ce52022-12-15 21:36:14 +08004Subject: [PATCH 1125/1131] mt76: mt7915: Add hemu dump support
developer1c8c97b2022-08-11 18:27:08 -07005
6Change-Id: I521214f3feb6f0d528a9f550255050ffd1ec96d2
7---
developereb6a0182022-12-12 18:53:32 +08008 mt7915/vendor.c | 25 +++++++++++++++++++++++++
developer1c8c97b2022-08-11 18:27:08 -07009 mt7915/vendor.h | 1 +
developereb6a0182022-12-12 18:53:32 +080010 2 files changed, 26 insertions(+)
developer1c8c97b2022-08-11 18:27:08 -070011
12diff --git a/mt7915/vendor.c b/mt7915/vendor.c
developer1346ce52022-12-15 21:36:14 +080013index 2484e25..f7becce 100644
developer1c8c97b2022-08-11 18:27:08 -070014--- a/mt7915/vendor.c
15+++ b/mt7915/vendor.c
16@@ -37,6 +37,7 @@ wireless_ctrl_policy[NUM_MTK_VENDOR_ATTRS_WIRELESS_CTRL] = {
17 static const struct nla_policy
18 hemu_ctrl_policy[NUM_MTK_VENDOR_ATTRS_HEMU_CTRL] = {
19 [MTK_VENDOR_ATTR_HEMU_CTRL_ONOFF] = {.type = NLA_U8 },
20+ [MTK_VENDOR_ATTR_HEMU_CTRL_DUMP] = {.type = NLA_U8 },
21 };
22
23 static const struct nla_policy
developereb6a0182022-12-12 18:53:32 +080024@@ -1004,6 +1005,29 @@ static int mt7915_vendor_hemu_ctrl(struct wiphy *wiphy,
developer1c8c97b2022-08-11 18:27:08 -070025 return 0;
26 }
27
28+
29+static int
30+mt7915_vendor_hemu_ctrl_dump(struct wiphy *wiphy, struct wireless_dev *wdev,
31+ struct sk_buff *skb, const void *data, int data_len,
32+ unsigned long *storage)
33+{
34+ struct ieee80211_hw *hw = wiphy_to_ieee80211_hw(wiphy);
35+ struct mt7915_phy *phy = mt7915_hw_phy(hw);
36+ struct mt7915_dev *dev = phy->dev;
developer1c8c97b2022-08-11 18:27:08 -070037+ int len = 0;
38+
39+ if (*storage == 1)
40+ return -ENOENT;
41+ *storage = 1;
42+
43+ if (nla_put_u8(skb, MTK_VENDOR_ATTR_HEMU_CTRL_DUMP, dev->dbg.muru_onoff))
44+ return -ENOMEM;
45+ len += 1;
46+
47+ return len;
48+}
49+
50+
51 static int
52 mt7915_vendor_phy_capa_ctrl_dump(struct wiphy *wiphy, struct wireless_dev *wdev,
53 struct sk_buff *skb, const void *data, int data_len,
developereb6a0182022-12-12 18:53:32 +080054@@ -1190,6 +1214,7 @@ static const struct wiphy_vendor_command mt7915_vendor_commands[] = {
developer1c8c97b2022-08-11 18:27:08 -070055 .flags = WIPHY_VENDOR_CMD_NEED_NETDEV |
56 WIPHY_VENDOR_CMD_NEED_RUNNING,
57 .doit = mt7915_vendor_hemu_ctrl,
58+ .dumpit = mt7915_vendor_hemu_ctrl_dump,
59 .policy = hemu_ctrl_policy,
60 .maxattr = MTK_VENDOR_ATTR_HEMU_CTRL_MAX,
61 },
62diff --git a/mt7915/vendor.h b/mt7915/vendor.h
developer1346ce52022-12-15 21:36:14 +080063index 7231971..c19ffe7 100644
developer1c8c97b2022-08-11 18:27:08 -070064--- a/mt7915/vendor.h
65+++ b/mt7915/vendor.h
developer144824b2022-11-25 21:27:43 +080066@@ -72,6 +72,7 @@ enum mtk_vendor_attr_hemu_ctrl {
developer1c8c97b2022-08-11 18:27:08 -070067 MTK_VENDOR_ATTR_HEMU_CTRL_UNSPEC,
68
69 MTK_VENDOR_ATTR_HEMU_CTRL_ONOFF,
70+ MTK_VENDOR_ATTR_HEMU_CTRL_DUMP,
71
72 /* keep last */
73 NUM_MTK_VENDOR_ATTRS_HEMU_CTRL,
74--
developer9851a292022-12-15 17:33:43 +0800752.18.0
developer1c8c97b2022-08-11 18:27:08 -070076