From: <yhchuang@realtek.com>
To: <kvalo@codeaurora.org>
Cc: <linux-wireless@vger.kernel.org>, <briannorris@chromium.org>,
<chiu@endlessm.com>
Subject: [PATCH v4 2/7] rtw88: pci: reset dma when reset pci trx ring
Date: Thu, 19 Dec 2019 16:58:11 +0800 [thread overview]
Message-ID: <20191219085816.20709-3-yhchuang@realtek.com> (raw)
In-Reply-To: <20191219085816.20709-1-yhchuang@realtek.com>
From: Chin-Yen Lee <timlee@realtek.com>
When PCI trx rings are reset, the DMA engine should also be reset.
Otherswise, the rx_tag of rx flow is not synchronous to hw.
Remove DMA reset when rtw_pci_start() as we added it in
rtw_pci_setup().
Signed-off-by: Chin-Yen Lee <timlee@realtek.com>
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com>
Reviewed-by: Chris Chiu <chiu@endlessm.com>
---
v1 -> v2
* remove duplicated rtw_pci_dma_reset()
v2 -> v3
* no change
v3 -> v4
* no change
drivers/net/wireless/realtek/rtw88/pci.c | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/drivers/net/wireless/realtek/rtw88/pci.c b/drivers/net/wireless/realtek/rtw88/pci.c
index 068f1bec88e6..c394df494c95 100644
--- a/drivers/net/wireless/realtek/rtw88/pci.c
+++ b/drivers/net/wireless/realtek/rtw88/pci.c
@@ -486,13 +486,6 @@ static void rtw_pci_disable_interrupt(struct rtw_dev *rtwdev,
rtwpci->irq_enabled = false;
}
-static int rtw_pci_setup(struct rtw_dev *rtwdev)
-{
- rtw_pci_reset_trx_ring(rtwdev);
-
- return 0;
-}
-
static void rtw_pci_dma_reset(struct rtw_dev *rtwdev, struct rtw_pci *rtwpci)
{
/* reset dma and rx tag */
@@ -501,6 +494,16 @@ static void rtw_pci_dma_reset(struct rtw_dev *rtwdev, struct rtw_pci *rtwpci)
rtwpci->rx_tag = 0;
}
+static int rtw_pci_setup(struct rtw_dev *rtwdev)
+{
+ struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv;
+
+ rtw_pci_reset_trx_ring(rtwdev);
+ rtw_pci_dma_reset(rtwdev, rtwpci);
+
+ return 0;
+}
+
static void rtw_pci_dma_release(struct rtw_dev *rtwdev, struct rtw_pci *rtwpci)
{
struct rtw_pci_tx_ring *tx_ring;
@@ -518,8 +521,6 @@ static int rtw_pci_start(struct rtw_dev *rtwdev)
struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv;
unsigned long flags;
- rtw_pci_dma_reset(rtwdev, rtwpci);
-
spin_lock_irqsave(&rtwpci->irq_lock, flags);
rtw_pci_enable_interrupt(rtwdev, rtwpci);
spin_unlock_irqrestore(&rtwpci->irq_lock, flags);
--
2.17.1
next prev parent reply other threads:[~2019-12-19 8:58 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-19 8:58 [PATCH v4 0/7] rtw88: add wowlan support for 8822c yhchuang
2019-12-19 8:58 ` [PATCH v4 1/7] rtw88: pci: reset ring index when release skbs in tx ring yhchuang
2020-01-26 15:37 ` Kalle Valo
2019-12-19 8:58 ` yhchuang [this message]
2019-12-19 8:58 ` [PATCH v4 3/7] rtw88: add interface config for 8822c yhchuang
2019-12-19 8:58 ` [PATCH v4 4/7] rtw88: load wowlan firmware if wowlan is supported yhchuang
2019-12-19 8:58 ` [PATCH v4 5/7] rtw88: support wowlan feature for 8822c yhchuang
2019-12-19 8:58 ` [PATCH v4 6/7] rtw88: Add wowlan pattern match support yhchuang
2020-02-22 0:52 ` Brian Norris
2020-02-24 21:21 ` Johannes Berg
2020-02-24 21:33 ` Brian Norris
2020-02-24 21:35 ` Johannes Berg
2019-12-19 8:58 ` [PATCH v4 7/7] rtw88: Add wowlan net-detect support yhchuang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191219085816.20709-3-yhchuang@realtek.com \
--to=yhchuang@realtek.com \
--cc=briannorris@chromium.org \
--cc=chiu@endlessm.com \
--cc=kvalo@codeaurora.org \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).