blob: 747cbf2c7da7b7e536c038dc429c11735e464cf8 [file] [log] [blame]
developerbbd45e12023-05-19 08:22:06 +08001From 95f591a8dcc2d3517b85147928677b60f5c9e015 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
developerbbd45e12023-05-19 08:22:06 +08004Subject: [PATCH 1022/1033] wifi: mt76: mt7915: Add mu dump support
developer1c8c97b2022-08-11 18:27:08 -07005
6Change-Id: I521214f3feb6f0d528a9f550255050ffd1ec96d2
7---
developereb2bd8e2023-02-09 11:16:04 +08008 mt7915/vendor.c | 24 ++++++++++++++++++++++++
developer1c8c97b2022-08-11 18:27:08 -07009 mt7915/vendor.h | 1 +
developereb2bd8e2023-02-09 11:16:04 +080010 2 files changed, 25 insertions(+)
developer1c8c97b2022-08-11 18:27:08 -070011
12diff --git a/mt7915/vendor.c b/mt7915/vendor.c
developerbbd45e12023-05-19 08:22:06 +080013index afba18e..0c0b47e 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
developer57de9b72023-02-20 11:15:54 +080018 mu_ctrl_policy[NUM_MTK_VENDOR_ATTRS_MU_CTRL] = {
19 [MTK_VENDOR_ATTR_MU_CTRL_ONOFF] = {.type = NLA_U8 },
20+ [MTK_VENDOR_ATTR_MU_CTRL_DUMP] = {.type = NLA_U8 },
developer1c8c97b2022-08-11 18:27:08 -070021 };
22
23 static const struct nla_policy
developerbbd45e12023-05-19 08:22:06 +080024@@ -1006,6 +1007,28 @@ static int mt7915_vendor_mu_ctrl(struct wiphy *wiphy,
developer1c8c97b2022-08-11 18:27:08 -070025 return 0;
26 }
27
28+
29+static int
developer57de9b72023-02-20 11:15:54 +080030+mt7915_vendor_mu_ctrl_dump(struct wiphy *wiphy, struct wireless_dev *wdev,
developer1c8c97b2022-08-11 18:27:08 -070031+ 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);
developer1c8c97b2022-08-11 18:27:08 -070036+ int len = 0;
37+
38+ if (*storage == 1)
39+ return -ENOENT;
40+ *storage = 1;
41+
developer57de9b72023-02-20 11:15:54 +080042+ if (nla_put_u8(skb, MTK_VENDOR_ATTR_MU_CTRL_DUMP, phy->muru_onoff))
developer1c8c97b2022-08-11 18:27:08 -070043+ return -ENOMEM;
44+ len += 1;
45+
46+ return len;
47+}
48+
49+
50 static int
51 mt7915_vendor_phy_capa_ctrl_dump(struct wiphy *wiphy, struct wireless_dev *wdev,
52 struct sk_buff *skb, const void *data, int data_len,
developerbbd45e12023-05-19 08:22:06 +080053@@ -1192,6 +1215,7 @@ static const struct wiphy_vendor_command mt7915_vendor_commands[] = {
developer1c8c97b2022-08-11 18:27:08 -070054 .flags = WIPHY_VENDOR_CMD_NEED_NETDEV |
55 WIPHY_VENDOR_CMD_NEED_RUNNING,
developer57de9b72023-02-20 11:15:54 +080056 .doit = mt7915_vendor_mu_ctrl,
57+ .dumpit = mt7915_vendor_mu_ctrl_dump,
58 .policy = mu_ctrl_policy,
59 .maxattr = MTK_VENDOR_ATTR_MU_CTRL_MAX,
developer1c8c97b2022-08-11 18:27:08 -070060 },
61diff --git a/mt7915/vendor.h b/mt7915/vendor.h
developer1d9da7d2023-04-15 12:45:34 +080062index 0c96377..d8e23d3 100644
developer1c8c97b2022-08-11 18:27:08 -070063--- a/mt7915/vendor.h
64+++ b/mt7915/vendor.h
developer57de9b72023-02-20 11:15:54 +080065@@ -72,6 +72,7 @@ enum mtk_vendor_attr_mu_ctrl {
66 MTK_VENDOR_ATTR_MU_CTRL_UNSPEC,
developer1c8c97b2022-08-11 18:27:08 -070067
developer57de9b72023-02-20 11:15:54 +080068 MTK_VENDOR_ATTR_MU_CTRL_ONOFF,
69+ MTK_VENDOR_ATTR_MU_CTRL_DUMP,
developer1c8c97b2022-08-11 18:27:08 -070070
71 /* keep last */
developer57de9b72023-02-20 11:15:54 +080072 NUM_MTK_VENDOR_ATTRS_MU_CTRL,
developer1c8c97b2022-08-11 18:27:08 -070073--
developer2324aa22023-04-12 11:30:15 +0800742.18.0
developer1c8c97b2022-08-11 18:27:08 -070075