[][MAC80211][mt76][Refactor mt76 internal patches]

[Description]
Refactor internal patches to fix patch failed.

[Release-log]
N/A

Change-Id: I85b6e531f13944c576a939596d3431c6d27e963a
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/7087554
diff --git a/autobuild_mac80211_release/package/kernel/mt76/patches/4006-wifi-mt76-revert-ser-patches.patch b/autobuild_mac80211_release/package/kernel/mt76/patches/4006-wifi-mt76-revert-ser-patches.patch
new file mode 100644
index 0000000..ac71e70
--- /dev/null
+++ b/autobuild_mac80211_release/package/kernel/mt76/patches/4006-wifi-mt76-revert-ser-patches.patch
@@ -0,0 +1,83 @@
+From 21960def41a69264aadbd66be033ac32820e1909 Mon Sep 17 00:00:00 2001
+From: Peter Chiu <chui-hao.chiu@mediatek.com>
+Date: Fri, 3 Feb 2023 15:41:59 +0800
+Subject: [PATCH 4006/4006] wifi: mt76: revert ser patches
+
+---
+ mt7915/mac.c  |  2 +-
+ mt7915/mmio.c | 30 +++---------------------------
+ 2 files changed, 4 insertions(+), 28 deletions(-)
+
+diff --git a/mt7915/mac.c b/mt7915/mac.c
+index c2e3048c..f1a21422 100644
+--- a/mt7915/mac.c
++++ b/mt7915/mac.c
+@@ -1632,7 +1632,7 @@ void mt7915_mac_reset_work(struct work_struct *work)
+ 		return;
+ 
+ 	if (mtk_wed_device_active(&dev->mt76.mmio.wed)) {
+-		mtk_wed_device_stop(&dev->mt76.mmio.wed);
++		mtk_wed_device_stop(&dev->mt76.mmio.wed, true);
+ 		if (!is_mt7986(&dev->mt76))
+ 			mt76_wr(dev, MT_INT_WED_MASK_CSR, 0);
+ 	}
+diff --git a/mt7915/mmio.c b/mt7915/mmio.c
+index 6b9752b2..33231599 100644
+--- a/mt7915/mmio.c
++++ b/mt7915/mmio.c
+@@ -733,40 +733,17 @@ static void mt7915_mmio_wed_update_rx_stats(struct mtk_wed_device *wed,
+ 	rcu_read_unlock();
+ }
+ 
+-static int mt7915_mmio_wed_reset(struct mtk_wed_device *wed)
++static void mt7915_mmio_wed_reset(struct mtk_wed_device *wed)
+ {
+ 	struct mt76_dev *mdev = container_of(wed, struct mt76_dev, mmio.wed);
+ 	struct mt7915_dev *dev = container_of(mdev, struct mt7915_dev, mt76);
+ 	struct mt76_phy *mphy = &dev->mphy;
+ 	int ret;
+ 
+-	ASSERT_RTNL();
+-
+-	if (test_and_set_bit(MT76_STATE_WED_RESET, &mphy->state))
+-		return -EBUSY;
+-
+ 	ret = mt7915_mcu_set_ser(dev, SER_RECOVER, SER_SET_RECOVER_L1,
+ 				 mphy->band_idx);
+-	if (ret)
+-		goto out;
+-
+-	rtnl_unlock();
+-	if (!wait_for_completion_timeout(&mdev->mmio.wed_reset, 20 * HZ)) {
+-		dev_err(mdev->dev, "wed reset timeout\n");
+-		ret = -ETIMEDOUT;
+-	}
+-	rtnl_lock();
+-out:
+-	clear_bit(MT76_STATE_WED_RESET, &mphy->state);
+-
+-	return ret;
+-}
+-
+-static void mt7915_mmio_wed_reset_complete(struct mtk_wed_device *wed)
+-{
+-	struct mt76_dev *dev = container_of(wed, struct mt76_dev, mmio.wed);
+ 
+-	complete(&dev->mmio.wed_reset_complete);
++	return;
+ }
+ #endif
+ 
+@@ -850,8 +827,7 @@ int mt7915_mmio_wed_init(struct mt7915_dev *dev, void *pdev_ptr,
+ 	wed->wlan.init_rx_buf = mt7915_mmio_wed_init_rx_buf;
+ 	wed->wlan.release_rx_buf = mt7915_mmio_wed_release_rx_buf;
+ 	wed->wlan.update_wo_rx_stats = mt7915_mmio_wed_update_rx_stats;
+-	wed->wlan.reset = mt7915_mmio_wed_reset;
+-	wed->wlan.reset_complete = mt7915_mmio_wed_reset_complete;
++	wed->wlan.ser_trigger = mt7915_mmio_wed_reset;
+ 
+ 	dev->mt76.rx_token_size += wed->wlan.rx_npkt;
+ 
+-- 
+2.18.0
+