blob: 98ae91e5d34661a777713a958e6904c140374fc0 [file] [log] [blame]
developer05f3b2b2024-08-19 19:17:34 +08001From 8e5290c521da92f931b169e1b2dccc7125e17253 Mon Sep 17 00:00:00 2001
developerbddc9db2023-09-11 13:34:36 +08002From: Howard Hsu <howard-yh.hsu@mediatek.com>
3Date: Tue, 5 Sep 2023 20:17:19 +0800
developer05f3b2b2024-08-19 19:17:34 +08004Subject: [PATCH 1036/1052] wifi: mt76: mt7915: support enable/disable spatial
developerbd9fa1e2023-10-16 11:04:00 +08005 reuse through debugfs
developerbddc9db2023-09-11 13:34:36 +08006
7Signed-off-by: Howard Hsu <howard-yh.hsu@mediatek.com>
8---
9 mt7915/mcu.c | 3 +--
10 mt7915/mt7915.h | 1 +
11 mt7915/mtk_debugfs.c | 12 ++++++++++++
12 3 files changed, 14 insertions(+), 2 deletions(-)
13
14diff --git a/mt7915/mcu.c b/mt7915/mcu.c
developer05f3b2b2024-08-19 19:17:34 +080015index 34d36e50..40d94c4f 100644
developerbddc9db2023-09-11 13:34:36 +080016--- a/mt7915/mcu.c
17+++ b/mt7915/mcu.c
developera46f6132024-03-26 14:09:54 +080018@@ -3756,8 +3756,7 @@ int mt7915_mcu_set_txbf(struct mt7915_dev *dev, u8 action)
developerbddc9db2023-09-11 13:34:36 +080019 sizeof(req), true);
20 }
21
22-static int
23-mt7915_mcu_enable_obss_spr(struct mt7915_phy *phy, u8 action, u8 val)
24+int mt7915_mcu_enable_obss_spr(struct mt7915_phy *phy, u8 action, u8 val)
25 {
26 struct mt7915_dev *dev = phy->dev;
27 struct mt7915_mcu_sr_ctrl req = {
28diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
developer05f3b2b2024-08-19 19:17:34 +080029index ef51d6e2..bc0f313c 100644
developerbddc9db2023-09-11 13:34:36 +080030--- a/mt7915/mt7915.h
31+++ b/mt7915/mt7915.h
developer05f3b2b2024-08-19 19:17:34 +080032@@ -814,6 +814,7 @@ int mt7915_mcu_get_edcca(struct mt7915_phy *phy, u8 mode, s8 *value);
developerbddc9db2023-09-11 13:34:36 +080033 int mt7915_mcu_sw_aci_set(struct mt7915_dev *dev, bool val);
34 int mt7915_mcu_ipi_hist_ctrl(struct mt7915_phy *phy, void *data, u8 cmd, bool wait_resp);
35 int mt7915_mcu_ipi_hist_scan(struct mt7915_phy *phy, void *data, u8 mode, bool wait_resp);
36+int mt7915_mcu_enable_obss_spr(struct mt7915_phy *phy, u8 action, u8 val);
37
38 #ifdef MTK_DEBUG
39 int mt7915_mtk_init_debugfs(struct mt7915_phy *phy, struct dentry *dir);
40diff --git a/mt7915/mtk_debugfs.c b/mt7915/mtk_debugfs.c
developer05f3b2b2024-08-19 19:17:34 +080041index 2cc0b2d8..c00184f8 100644
developerbddc9db2023-09-11 13:34:36 +080042--- a/mt7915/mtk_debugfs.c
43+++ b/mt7915/mtk_debugfs.c
developera46f6132024-03-26 14:09:54 +080044@@ -3799,6 +3799,17 @@ mt7915_sw_aci_set(void *data, u64 val)
developerbddc9db2023-09-11 13:34:36 +080045 DEFINE_DEBUGFS_ATTRIBUTE(fops_sw_aci, NULL,
46 mt7915_sw_aci_set, "%llx\n");
47
48+static int
49+mt7915_sr_enable_set(void *data, u64 val)
50+{
51+ struct mt7915_phy *phy = data;
52+
53+ return mt7915_mcu_enable_obss_spr(phy, SPR_ENABLE, val);
54+}
55+
56+DEFINE_DEBUGFS_ATTRIBUTE(fops_sr_enable, NULL,
57+ mt7915_sr_enable_set, "%llx\n");
58+
59 int mt7915_mtk_init_debugfs(struct mt7915_phy *phy, struct dentry *dir)
60 {
61 struct mt7915_dev *dev = phy->dev;
developera46f6132024-03-26 14:09:54 +080062@@ -3889,6 +3900,7 @@ int mt7915_mtk_init_debugfs(struct mt7915_phy *phy, struct dentry *dir)
developerbddc9db2023-09-11 13:34:36 +080063 mt7915_show_eeprom_mode);
64 debugfs_create_file("sw_aci", 0600, dir, dev,
65 &fops_sw_aci);
66+ debugfs_create_file("sr_enable", 0200, dir, phy, &fops_sr_enable);
67 return 0;
68 }
69 #endif
70--
712.18.0
72