From 5b7b1ad75275431f2a3981445ecb122296e6033c Mon Sep 17 00:00:00 2001 From: TomLiu Date: Thu, 11 Aug 2022 18:09:45 -0700 Subject: [PATCH 1125/1131] mt76: mt7915: Add hemu dump support Change-Id: I521214f3feb6f0d528a9f550255050ffd1ec96d2 --- mt7915/vendor.c | 25 +++++++++++++++++++++++++ mt7915/vendor.h | 1 + 2 files changed, 26 insertions(+) diff --git a/mt7915/vendor.c b/mt7915/vendor.c index 2484e25..f7becce 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,29 @@ 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); + struct mt7915_dev *dev = phy->dev; + int len = 0; + + if (*storage == 1) + return -ENOENT; + *storage = 1; + + if (nla_put_u8(skb, MTK_VENDOR_ATTR_HEMU_CTRL_DUMP, dev->dbg.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 +1214,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.36.1