From 805623e9a7556fc147bd167a50bfe5538e924c7b Mon Sep 17 00:00:00 2001
From: TomLiu <tomml.liu@mediatek.com>
Date: Thu, 11 Aug 2022 18:09:45 -0700
Subject: [PATCH 1124/1133] mt76: mt7915: Add hemu dump support

Change-Id: I521214f3feb6f0d528a9f550255050ffd1ec96d2
---
 mt7915/vendor.c | 24 ++++++++++++++++++++++++
 mt7915/vendor.h |  1 +
 2 files changed, 25 insertions(+)

diff --git a/mt7915/vendor.c b/mt7915/vendor.c
index f712d67..83f38e0 100644
--- a/mt7915/vendor.c
+++ b/mt7915/vendor.c
@@ -37,6 +37,7 @@ wireless_ctrl_policy[NUM_MTK_VENDOR_ATTRS_WIRELESS_CTRL] = {
 static const struct nla_policy
 hemu_ctrl_policy[NUM_MTK_VENDOR_ATTRS_HEMU_CTRL] = {
 	[MTK_VENDOR_ATTR_HEMU_CTRL_ONOFF] = {.type = NLA_U8 },
+	[MTK_VENDOR_ATTR_HEMU_CTRL_DUMP] = {.type = NLA_U8 },
 };
 
 static const struct nla_policy
@@ -1004,6 +1005,28 @@ static int mt7915_vendor_hemu_ctrl(struct wiphy *wiphy,
 	return 0;
 }
 
+
+static int
+mt7915_vendor_hemu_ctrl_dump(struct wiphy *wiphy, struct wireless_dev *wdev,
+			     struct sk_buff *skb, const void *data, int data_len,
+			     unsigned long *storage)
+{
+	struct ieee80211_hw *hw = wiphy_to_ieee80211_hw(wiphy);
+	struct mt7915_phy *phy = mt7915_hw_phy(hw);
+	int len = 0;
+
+	if (*storage == 1)
+		return -ENOENT;
+	*storage = 1;
+
+	if (nla_put_u8(skb, MTK_VENDOR_ATTR_HEMU_CTRL_DUMP, phy->muru_onoff))
+		return -ENOMEM;
+	len += 1;
+
+	return len;
+}
+
+
 static int
 mt7915_vendor_phy_capa_ctrl_dump(struct wiphy *wiphy, struct wireless_dev *wdev,
 			     struct sk_buff *skb, const void *data, int data_len,
@@ -1190,6 +1213,7 @@ static const struct wiphy_vendor_command mt7915_vendor_commands[] = {
 		.flags = WIPHY_VENDOR_CMD_NEED_NETDEV |
 			WIPHY_VENDOR_CMD_NEED_RUNNING,
 		.doit = mt7915_vendor_hemu_ctrl,
+		.dumpit = mt7915_vendor_hemu_ctrl_dump,
 		.policy = hemu_ctrl_policy,
 		.maxattr = MTK_VENDOR_ATTR_HEMU_CTRL_MAX,
 	},
diff --git a/mt7915/vendor.h b/mt7915/vendor.h
index 7231971..c19ffe7 100644
--- a/mt7915/vendor.h
+++ b/mt7915/vendor.h
@@ -72,6 +72,7 @@ enum mtk_vendor_attr_hemu_ctrl {
 	MTK_VENDOR_ATTR_HEMU_CTRL_UNSPEC,
 
 	MTK_VENDOR_ATTR_HEMU_CTRL_ONOFF,
+	MTK_VENDOR_ATTR_HEMU_CTRL_DUMP,
 
 	/* keep last */
 	NUM_MTK_VENDOR_ATTRS_HEMU_CTRL,
-- 
2.39.0

