[][MAC80211][mt76][set the first antenna for mt7915 radar detect]

[Description]
Add a mcu command to set the first antennta for radar detect in MT7915.

[Release-log]
N/A

Change-Id: I05e02c17f025567197aff6d4f7cfff540b60e83c
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/6322066
diff --git a/autobuild_mac80211_release/package/kernel/mt76/patches/0013-mt76-mt7915-set-the-first-antenna-to-detect-radar-fo.patch b/autobuild_mac80211_release/package/kernel/mt76/patches/0013-mt76-mt7915-set-the-first-antenna-to-detect-radar-fo.patch
new file mode 100644
index 0000000..5703de3
--- /dev/null
+++ b/autobuild_mac80211_release/package/kernel/mt76/patches/0013-mt76-mt7915-set-the-first-antenna-to-detect-radar-fo.patch
@@ -0,0 +1,64 @@
+From 0fb081d0cbaeaf0c2ff537d44680818185942590 Mon Sep 17 00:00:00 2001
+From: Shayne Chen <shayne.chen@mediatek.com>
+Date: Tue, 26 Jul 2022 16:04:53 +0800
+Subject: [PATCH] mt76: mt7915: set the first antenna to detect radar for
+ MT7915
+
+The default value of listening antenna set by FW might be different in
+MT7915. As most of our cooperated labs use the first antenna to verify
+the radar detection function, manually set the value by a mcu command.
+
+Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
+---
+ drivers/net/wireless/mediatek/mt76/mt7915/mac.c   | 15 +++++++++++++++
+ .../net/wireless/mediatek/mt76/mt7915/mt7915.h    |  1 +
+ 2 files changed, 16 insertions(+)
+
+diff --git a/mt7915/mac.c b/mt7915/mac.c
+index 1f8e1230..a31ac2df 100644
+--- a/mt7915/mac.c
++++ b/mt7915/mac.c
+@@ -2149,6 +2149,13 @@ static int mt7915_dfs_start_rdd(struct mt7915_dev *dev, int chain)
+ 	if (err < 0)
+ 		return err;
+ 
++	if (is_mt7915(&dev->mt76)) {
++		err = mt76_connac_mcu_rdd_cmd(&dev->mt76, RDD_SET_WF_ANT, chain,
++					      0, dev->dbdc_support ? 2 : 0);
++		if (err < 0)
++			return err;
++	}
++
+ 	return mt76_connac_mcu_rdd_cmd(&dev->mt76, RDD_DET_MODE, chain,
+ 				       MT_RX_SEL0, 1);
+ }
+@@ -2269,6 +2276,14 @@ stop:
+ 	if (err < 0)
+ 		return err;
+ 
++	if (is_mt7915(&dev->mt76)) {
++		err = mt76_connac_mcu_rdd_cmd(&dev->mt76, RDD_SET_WF_ANT,
++					      phy->band_idx, 0,
++					      dev->dbdc_support ? 2 : 0);
++		if (err < 0)
++			return err;
++	}
++
+ 	mt7915_dfs_stop_radar_detector(phy);
+ 	phy->mt76->dfs_state = MT_DFS_STATE_DISABLED;
+ 
+diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
+index 22399cc7..2eaada50 100644
+--- a/mt7915/mt7915.h
++++ b/mt7915/mt7915.h
+@@ -468,6 +468,7 @@ enum mt7915_rdd_cmd {
+ 	RDD_DET_MODE,
+ 	RDD_RADAR_EMULATE,
+ 	RDD_START_TXQ = 20,
++	RDD_SET_WF_ANT = 30,
+ 	RDD_CAC_START = 50,
+ 	RDD_CAC_END,
+ 	RDD_NORMAL_START,
+-- 
+2.25.1
+