[][mac80211][mt76][wifi6][Add debugfs knob for RTS threshold]

[Description]
Add debugfs knob for RTS threshold

[Release-log]
N/A

Change-Id: Ib9f6e6e3aafad29ac3c8d8c81ecca96a16b25e86
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/8072534
diff --git a/autobuild_mac80211_release/package/kernel/mt76/patches/1042-wifi-mt76-mt7915-add-debuffs-knob-for-protect-thresh.patch b/autobuild_mac80211_release/package/kernel/mt76/patches/1042-wifi-mt76-mt7915-add-debuffs-knob-for-protect-thresh.patch
new file mode 100644
index 0000000..42c1246
--- /dev/null
+++ b/autobuild_mac80211_release/package/kernel/mt76/patches/1042-wifi-mt76-mt7915-add-debuffs-knob-for-protect-thresh.patch
@@ -0,0 +1,54 @@
+From ddd20028e31060d5bbbc72bd6e465c45819adb56 Mon Sep 17 00:00:00 2001
+From: Peter Chiu <chui-hao.chiu@mediatek.com>
+Date: Mon, 2 Oct 2023 14:00:13 +0800
+Subject: [PATCH] wifi: mt76: mt7915: add debuffs knob for protect threshold
+
+---
+ mt7915/mt7915.h      |  1 +
+ mt7915/mtk_debugfs.c | 11 +++++++++++
+ 2 files changed, 12 insertions(+)
+
+diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
+index e8a6ee68..2a01bd62 100644
+--- a/mt7915/mt7915.h
++++ b/mt7915/mt7915.h
+@@ -716,6 +716,7 @@ void mt7915_mcu_set_rfeature_starec(void *data, struct mt7915_dev *dev,
+ 		       struct ieee80211_vif *vif, struct ieee80211_sta *sta);
+ int mt7915_mcu_set_rfeature_trig_type(struct mt7915_phy *phy, u8 enable, u8 trig_type);
+ int mt7915_mcu_set_mu_dl_ack_policy(struct mt7915_phy *phy, u8 policy_num);
++int mt7915_mcu_set_mu_prot_frame_th(struct mt7915_phy *phy, u32 val);
+ void mt7915_mcu_set_ppdu_tx_type(struct mt7915_phy *phy, u8 ppdu_type);
+ void mt7915_mcu_set_nusers_ofdma(struct mt7915_phy *phy, u8 type, u8 ofdma_user_cnt);
+ void mt7915_mcu_set_mimo(struct mt7915_phy *phy, u8 direction);
+diff --git a/mt7915/mtk_debugfs.c b/mt7915/mtk_debugfs.c
+index ed90d346..a9570ced 100644
+--- a/mt7915/mtk_debugfs.c
++++ b/mt7915/mtk_debugfs.c
+@@ -2838,6 +2838,16 @@ static int mt7915_sta_tx_amsdu_set(void *data, u64 tx_amsdu)
+ DEFINE_DEBUGFS_ATTRIBUTE(fops_tx_amsdu, NULL,
+ 			 mt7915_sta_tx_amsdu_set, "%llx\n");
+ 
++static int mt7915_muru_set_prot_thr(void *data, u64 val)
++{
++	struct mt7915_phy *phy = data;
++
++	return mt7915_mcu_set_mu_prot_frame_th(phy, (u32)val);
++}
++
++DEFINE_DEBUGFS_ATTRIBUTE(fops_muru_set_prot_thr, NULL,
++			 mt7915_muru_set_prot_thr, "%lld\n");
++
+ static int mt7915_red_enable_set(void *data, u64 en)
+ {
+ 	struct mt7915_dev *dev = data;
+@@ -3735,6 +3745,7 @@ int mt7915_mtk_init_debugfs(struct mt7915_phy *phy, struct dentry *dir)
+ 	debugfs_create_devm_seqfile(dev->mt76.dev, "fw_wm_info", dir,
+ 				    mt7915_fw_wm_info_read);
+ 
++	debugfs_create_file("prot_thr", 0200, dir, phy, &fops_muru_set_prot_thr);
+ 	debugfs_create_file("red_en", 0600, dir, dev,
+ 			    &fops_red_en);
+ 	debugfs_create_file("red_show_sta", 0600, dir, dev,
+-- 
+2.18.0
+