blob: ac71e70abd64c020674b1ab33d3afc4a8b841d9c [file] [log] [blame]
developerc04f5402023-02-03 09:22:26 +08001From 21960def41a69264aadbd66be033ac32820e1909 Mon Sep 17 00:00:00 2001
2From: Peter Chiu <chui-hao.chiu@mediatek.com>
3Date: Fri, 3 Feb 2023 15:41:59 +0800
4Subject: [PATCH 4006/4006] wifi: mt76: revert ser patches
5
6---
7 mt7915/mac.c | 2 +-
8 mt7915/mmio.c | 30 +++---------------------------
9 2 files changed, 4 insertions(+), 28 deletions(-)
10
11diff --git a/mt7915/mac.c b/mt7915/mac.c
12index c2e3048c..f1a21422 100644
13--- a/mt7915/mac.c
14+++ b/mt7915/mac.c
15@@ -1632,7 +1632,7 @@ void mt7915_mac_reset_work(struct work_struct *work)
16 return;
17
18 if (mtk_wed_device_active(&dev->mt76.mmio.wed)) {
19- mtk_wed_device_stop(&dev->mt76.mmio.wed);
20+ mtk_wed_device_stop(&dev->mt76.mmio.wed, true);
21 if (!is_mt7986(&dev->mt76))
22 mt76_wr(dev, MT_INT_WED_MASK_CSR, 0);
23 }
24diff --git a/mt7915/mmio.c b/mt7915/mmio.c
25index 6b9752b2..33231599 100644
26--- a/mt7915/mmio.c
27+++ b/mt7915/mmio.c
28@@ -733,40 +733,17 @@ static void mt7915_mmio_wed_update_rx_stats(struct mtk_wed_device *wed,
29 rcu_read_unlock();
30 }
31
32-static int mt7915_mmio_wed_reset(struct mtk_wed_device *wed)
33+static void mt7915_mmio_wed_reset(struct mtk_wed_device *wed)
34 {
35 struct mt76_dev *mdev = container_of(wed, struct mt76_dev, mmio.wed);
36 struct mt7915_dev *dev = container_of(mdev, struct mt7915_dev, mt76);
37 struct mt76_phy *mphy = &dev->mphy;
38 int ret;
39
40- ASSERT_RTNL();
41-
42- if (test_and_set_bit(MT76_STATE_WED_RESET, &mphy->state))
43- return -EBUSY;
44-
45 ret = mt7915_mcu_set_ser(dev, SER_RECOVER, SER_SET_RECOVER_L1,
46 mphy->band_idx);
47- if (ret)
48- goto out;
49-
50- rtnl_unlock();
51- if (!wait_for_completion_timeout(&mdev->mmio.wed_reset, 20 * HZ)) {
52- dev_err(mdev->dev, "wed reset timeout\n");
53- ret = -ETIMEDOUT;
54- }
55- rtnl_lock();
56-out:
57- clear_bit(MT76_STATE_WED_RESET, &mphy->state);
58-
59- return ret;
60-}
61-
62-static void mt7915_mmio_wed_reset_complete(struct mtk_wed_device *wed)
63-{
64- struct mt76_dev *dev = container_of(wed, struct mt76_dev, mmio.wed);
65
66- complete(&dev->mmio.wed_reset_complete);
67+ return;
68 }
69 #endif
70
71@@ -850,8 +827,7 @@ int mt7915_mmio_wed_init(struct mt7915_dev *dev, void *pdev_ptr,
72 wed->wlan.init_rx_buf = mt7915_mmio_wed_init_rx_buf;
73 wed->wlan.release_rx_buf = mt7915_mmio_wed_release_rx_buf;
74 wed->wlan.update_wo_rx_stats = mt7915_mmio_wed_update_rx_stats;
75- wed->wlan.reset = mt7915_mmio_wed_reset;
76- wed->wlan.reset_complete = mt7915_mmio_wed_reset_complete;
77+ wed->wlan.ser_trigger = mt7915_mmio_wed_reset;
78
79 dev->mt76.rx_token_size += wed->wlan.rx_npkt;
80
81--
822.18.0
83