Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp4888113ybl; Mon, 9 Dec 2019 19:06:58 -0800 (PST) X-Google-Smtp-Source: APXvYqyj6ms3vztuFQ0gV648evz5nj4aYB+ozxrjV1T23880D1hSQHLjIghSVud2Il3tT6ya83VV X-Received: by 2002:a54:4f8e:: with SMTP id g14mr2162161oiy.8.1575947218368; Mon, 09 Dec 2019 19:06:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1575947218; cv=none; d=google.com; s=arc-20160816; b=Qdrzh+dnflGE1Yy3EYwPEdQG3PdI1R74aTSlT35OQKMTy8N/iuh3IoLo1Lpy2DGIUq 8S33e+W330ByHirztXaE/Y6ws2+fgI97qdA3bF7uoGlNuTwojeifjmGfKLTNTyAGmJOc ZoJ1Zgp58RKiMWKJiCum0/sLe4FLxYBYPLknKNwwHvBmaI0d2aDBiOkOBX4Wmb4Rl9YY IyuqzoJ4GlMqXQAfNlUyTCJu4xYc7AUYLbzARjnKTWltLvaaQIdJzLWjlX4sGFo9+dmB R4YP73mhfUVnJ2O3o86u28soHSIgLu+NjFjaLRBWNL/y9QmhSce4cgFfG1UrCbvoD12K Z8jQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=f3giDwDeC6cFrb5tnzxmVe/3PcTDv/YyjRzIsUh0/m0=; b=Munx5KDR/ZBuUVrX0lofX0l35Z8nHbB5lVC9zb+7rU0TctogXmtQTl04vdbHjnRxNQ rOJrai6WoLQsdWdv5LhqYtehETc66UL/GiUzb3FrkxeM7yocP77x9jvy9zFk7dr6JKvd HMUy669FqKGs3AstwmSaw+rXl0CwnDd4l5FQ/au3uv67TdDZ9vt1MJkUaGtVyPyxn9yw y9sy/grunpEBVh8RyzNTgKLstA3Wlh2bvAAh3LFVVJDDwfVyw35oYlteJBuEX7hLI9Wq pREULNYkirm+jTRoX2a6KG3yIP3H20uORJjY1CcBrmAME98VwRQWV1CG+3p5ickEFLh2 gaTw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@endlessm-com.20150623.gappssmtp.com header.s=20150623 header.b=fb6wAlfB; spf=pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j18si1057442otq.275.2019.12.09.19.06.13; Mon, 09 Dec 2019 19:06:58 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@endlessm-com.20150623.gappssmtp.com header.s=20150623 header.b=fb6wAlfB; spf=pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726607AbfLJDFS (ORCPT + 99 others); Mon, 9 Dec 2019 22:05:18 -0500 Received: from mail-qv1-f67.google.com ([209.85.219.67]:34936 "EHLO mail-qv1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726602AbfLJDFS (ORCPT ); Mon, 9 Dec 2019 22:05:18 -0500 Received: by mail-qv1-f67.google.com with SMTP id d17so3605732qvs.2 for ; Mon, 09 Dec 2019 19:05:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=endlessm-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=f3giDwDeC6cFrb5tnzxmVe/3PcTDv/YyjRzIsUh0/m0=; b=fb6wAlfBN9S5OqrA8G8R+GZh3sUmQ8hpXCtJxP43NbH/caw7lt+9HHbrAUmUUdxWAf 5cxxgSFIxwctPRQPbtTYdKO6tZpfIw5Cqgh7e/nenw+PvLhuqYxHxvUONwQ3NWaiks0T cv13srMxykkgEs5oWw1XnMZoRGjC6+HrtEG0PaCPhTsmi3trOv2uMBJD9sT84oif9TbQ /nQ78LHqi2JANImrr3Ovt5xsqn6xI/texDM2b+cVHL2egfRBJP+DkKtLhgi/lgAAeoiQ g2VRNj2uwldWvWOv1qUjryd+40QdvVEu7m4iZul8QPPytSQ7oB2v3LonuaH4bE4LE2AX zfMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=f3giDwDeC6cFrb5tnzxmVe/3PcTDv/YyjRzIsUh0/m0=; b=VJyZcYj7Nh30bC4fNZcuRKyTQpZAD4ylm1L8AkrJcdVZBmkcl3CoDwLp54BTf20Hwb ToQxYvArQffOwEF6zhAorQ1bX6/8xsHKqFvk3ywKPL+NbutKzTMy/CMS2OhosR6RqT8L 3/J7gqhdM1JB1o3zi3JeWOoguBqICcks5Ofcc8s/ifa3TwFnkzfiq07GQpY0s5+fBmJM JfaK5VoHULEfxvX9/rSlxv3QAYNSXe0rkHfSKts69PdQO5aLkqnJTfrJIov1R2fQeeUC BEuh0IhHBO6BFYKJBehlKQ/8x+hcCYeqDbE+O0O9MCqfD0zTe81vhq8EvczPIVJVQl8K cALQ== X-Gm-Message-State: APjAAAWkZVgj1xzGCVT7LBRl7IA2TarcU0g1Se+VyqIn0j9nTJfPog8O X9hja8WofyqJfR6HgU8AMb5163Fe418hlF1PqpCubA== X-Received: by 2002:a0c:a563:: with SMTP id y90mr27397803qvy.234.1575947117318; Mon, 09 Dec 2019 19:05:17 -0800 (PST) MIME-Version: 1.0 References: <20191209072139.26068-1-yhchuang@realtek.com> <20191209072139.26068-3-yhchuang@realtek.com> In-Reply-To: <20191209072139.26068-3-yhchuang@realtek.com> From: Chris Chiu Date: Tue, 10 Dec 2019 11:05:06 +0800 Message-ID: Subject: Re: [PATCH v2 2/6] rtw88: pci: reset dma when reset pci trx ring To: Tony Chuang Cc: Kalle Valo , linux-wireless , Brian Norris Content-Type: text/plain; charset="UTF-8" Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org On Mon, Dec 9, 2019 at 3:21 PM wrote: > > From: Chin-Yen Lee > > 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 > Signed-off-by: Yan-Hsuan Chuang > --- Reviewed-by: Chris Chiu > > v1 -> v2 > * remove duplicated rtw_pci_dma_reset() > > 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 >