blob: ac71e70abd64c020674b1ab33d3afc4a8b841d9c [file] [log] [blame]
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