From 680ee306a830525879b8d972f8cd894b01514225 Mon Sep 17 00:00:00 2001
From: "himanshu.goyal" <himanshu.goyal@mediatek.com>
Date: Tue, 24 Jan 2023 14:32:08 +0800
Subject: [PATCH 1029/1033] wifi: mt76: mt7915: Add vendor command attribute
 for RTS BW signaling.

Signed-off-by: himanshu.goyal <himanshu.goyal@mediatek.com>
---
 mt7915/mcu.c    | 6 ++++++
 mt7915/mcu.h    | 9 +++++++++
 mt7915/vendor.c | 4 ++++
 mt7915/vendor.h | 1 +
 4 files changed, 20 insertions(+)

diff --git a/mt7915/mcu.c b/mt7915/mcu.c
index 0bec0bc..3939768 100644
--- a/mt7915/mcu.c
+++ b/mt7915/mcu.c
@@ -4497,6 +4497,12 @@ int mt7915_mcu_set_cfg(struct mt7915_phy *phy, u8 cfg_info, u8 type)
 		req.cert.length = cpu_to_le16(tlv_len);
 		req.cert.cert_program = type;
 		break;
+	case CFGINFO_RTS_SIGTA_EN_FEATURE:
+		tlv_len = sizeof(struct rts_sigta_cfg);
+		req.rts_sigta.tag = cpu_to_le16(cfg_info);
+		req.rts_sigta.length = cpu_to_le16(tlv_len);
+		req.rts_sigta.enable  = type ? 1: 0;
+		break;
 	case CFGINFO_3WIRE_EN_CFG:
 		tlv_len = sizeof(struct three_wire_cfg);
 		req.three_wire.tag = cpu_to_le16(cfg_info);
diff --git a/mt7915/mcu.h b/mt7915/mcu.h
index 240a315..8ac70e5 100644
--- a/mt7915/mcu.h
+++ b/mt7915/mcu.h
@@ -924,6 +924,13 @@ struct three_wire_cfg {
 	u8 rsv[3];
 } __packed;
 
+struct rts_sigta_cfg {
+	__le16 tag;
+	__le16 length;
+	bool enable; /* 0: Disable, 1: Enable */
+	u8 rsv[3];
+} __packed;
+
 struct cfg_basic_info {
 	u8 dbdc_idx;
 	u8 rsv[3];
@@ -931,11 +938,13 @@ struct cfg_basic_info {
 	union {
 		struct cert_cfg cert;
 		struct three_wire_cfg three_wire;
+		struct rts_sigta_cfg rts_sigta;
 	};
 } __packed;
 
 enum {
 	CFGINFO_CERT_CFG = 4,
+	CFGINFO_RTS_SIGTA_EN_FEATURE = 7,
 	CFGINFO_3WIRE_EN_CFG = 10,
 };
 
diff --git a/mt7915/vendor.c b/mt7915/vendor.c
index 3d1984b..6bbdc6f 100644
--- a/mt7915/vendor.c
+++ b/mt7915/vendor.c
@@ -33,6 +33,7 @@ wireless_ctrl_policy[NUM_MTK_VENDOR_ATTRS_WIRELESS_CTRL] = {
 	[MTK_VENDOR_ATTR_WIRELESS_CTRL_AMSDU] = {.type = NLA_U8 },
 	[MTK_VENDOR_ATTR_WIRELESS_CTRL_MU_EDCA] = {.type = NLA_U8 },
 	[MTK_VENDOR_ATTR_WIRELESS_CTRL_CERT] = {.type = NLA_U8 },
+	[MTK_VENDOR_ATTR_WIRELESS_CTRL_RTS_SIGTA] = {.type = NLA_U8 },
 };
 
 static const struct nla_policy
@@ -994,6 +995,9 @@ static int mt7915_vendor_wireless_ctrl(struct wiphy *wiphy,
 	} else if (tb[MTK_VENDOR_ATTR_WIRELESS_CTRL_AMSDU]) {
 		val8 = nla_get_u8(tb[MTK_VENDOR_ATTR_WIRELESS_CTRL_AMSDU]);
 		mt7915_set_wireless_amsdu(hw, val8);
+	} else if (tb[MTK_VENDOR_ATTR_WIRELESS_CTRL_RTS_SIGTA]) {
+		val8 = nla_get_u8(tb[MTK_VENDOR_ATTR_WIRELESS_CTRL_RTS_SIGTA]);
+		mt7915_mcu_set_cfg(phy, CFGINFO_RTS_SIGTA_EN_FEATURE, val8);
 	}
 
 	return 0;
diff --git a/mt7915/vendor.h b/mt7915/vendor.h
index 33c75dc..6001ce4 100644
--- a/mt7915/vendor.h
+++ b/mt7915/vendor.h
@@ -76,6 +76,7 @@ enum mtk_vendor_attr_wireless_ctrl {
 	MTK_VENDOR_ATTR_WIRELESS_CTRL_MIMO,
 	MTK_VENDOR_ATTR_WIRELESS_CTRL_AMSDU,
 	MTK_VENDOR_ATTR_WIRELESS_CTRL_CERT = 9,
+	MTK_VENDOR_ATTR_WIRELESS_CTRL_RTS_SIGTA,
 
 	MTK_VENDOR_ATTR_WIRELESS_CTRL_MU_EDCA, /* reserve */
 	/* keep last */
-- 
2.18.0

