All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jakub Kicinski <jakub.kicinski@netronome.com>
To: Thomas Bogendoerfer <tbogendoerfer@suse.de>
Cc: Ralf Baechle <ralf@linux-mips.org>,
	Paul Burton <paul.burton@mips.com>,
	James Hogan <jhogan@kernel.org>,
	"David S. Miller" <davem@davemloft.net>,
	linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org,
	netdev@vger.kernel.org
Subject: Re: [PATCH net-next 06/15] net: sgi: ioc3-eth: get rid of ioc3_clean_rx_ring()
Date: Wed, 28 Aug 2019 16:02:46 -0700	[thread overview]
Message-ID: <20190828160246.7b211f8a@cakuba.netronome.com> (raw)
In-Reply-To: <20190828140315.17048-7-tbogendoerfer@suse.de>

On Wed, 28 Aug 2019 16:03:05 +0200, Thomas Bogendoerfer wrote:
> Clean rx ring is just called once after a new ring is allocated, which
> is per definition clean. So there is not need for this function.
> 
> Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
> ---
>  drivers/net/ethernet/sgi/ioc3-eth.c | 21 ---------------------
>  1 file changed, 21 deletions(-)
> 
> diff --git a/drivers/net/ethernet/sgi/ioc3-eth.c b/drivers/net/ethernet/sgi/ioc3-eth.c
> index 6ca560d4ab79..39631e067b71 100644
> --- a/drivers/net/ethernet/sgi/ioc3-eth.c
> +++ b/drivers/net/ethernet/sgi/ioc3-eth.c
> @@ -761,26 +761,6 @@ static void ioc3_mii_start(struct ioc3_private *ip)
>  	add_timer(&ip->ioc3_timer);
>  }
>  
> -static inline void ioc3_clean_rx_ring(struct ioc3_private *ip)
> -{
> -	struct ioc3_erxbuf *rxb;
> -	struct sk_buff *skb;
> -	int i;
> -
> -	for (i = ip->rx_ci; i & 15; i++) {
> -		ip->rx_skbs[ip->rx_pi] = ip->rx_skbs[ip->rx_ci];
> -		ip->rxr[ip->rx_pi++] = ip->rxr[ip->rx_ci++];
> -	}
> -	ip->rx_pi &= RX_RING_MASK;
> -	ip->rx_ci &= RX_RING_MASK;
> -
> -	for (i = ip->rx_ci; i != ip->rx_pi; i = (i + 1) & RX_RING_MASK) {
> -		skb = ip->rx_skbs[i];
> -		rxb = (struct ioc3_erxbuf *)(skb->data - RX_OFFSET);
> -		rxb->w0 = 0;

There's gotta be some purpose to setting this w0 word to zero no?
ioc3_rx() uses that to see if the descriptor is done, and dutifully
clears it after..

> -	}
> -}
> -
>  static inline void ioc3_clean_tx_ring(struct ioc3_private *ip)
>  {
>  	struct sk_buff *skb;
> @@ -860,7 +840,6 @@ static void ioc3_init_rings(struct net_device *dev)
>  	ioc3_free_rings(ip);
>  	ioc3_alloc_rings(dev);
>  
> -	ioc3_clean_rx_ring(ip);
>  	ioc3_clean_tx_ring(ip);
>  
>  	/* Now the rx ring base, consume & produce registers.  */


  reply	other threads:[~2019-08-28 23:03 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-28 14:02 [PATCH net-next 00/15] ioc3-eth improvements Thomas Bogendoerfer
2019-08-28 14:03 ` [PATCH net-next 01/15] MIPS: SGI-IP27: remove ioc3 ethernet init Thomas Bogendoerfer
2019-08-28 20:45   ` Paul Burton
2019-08-28 14:03 ` [PATCH net-next 02/15] MIPS: SGI-IP27: restructure ioc3 register access Thomas Bogendoerfer
2019-08-28 14:03 ` [PATCH net-next 03/15] net: sgi: ioc3-eth: remove checkpatch errors/warning Thomas Bogendoerfer
2019-08-28 17:10   ` Joe Perches
2019-08-28 19:55     ` Thomas Bogendoerfer
2019-08-28 14:03 ` [PATCH net-next 04/15] net: sgi: ioc3-eth: use defines for constants dealing with desc rings Thomas Bogendoerfer
2019-08-28 14:03 ` [PATCH net-next 05/15] net: sgi: ioc3-eth: allocate space for desc rings only once Thomas Bogendoerfer
2019-08-28 22:58   ` Jakub Kicinski
2019-08-28 14:03 ` [PATCH net-next 06/15] net: sgi: ioc3-eth: get rid of ioc3_clean_rx_ring() Thomas Bogendoerfer
2019-08-28 23:02   ` Jakub Kicinski [this message]
2019-08-29  8:52     ` Thomas Bogendoerfer
2019-08-28 14:03 ` [PATCH net-next 07/15] net: sgi: ioc3-eth: separate tx and rx ring handling Thomas Bogendoerfer
2019-08-28 14:03 ` [PATCH net-next 08/15] net: sgi: ioc3-eth: introduce chip start function Thomas Bogendoerfer
2019-08-28 14:03 ` [PATCH net-next 09/15] net: sgi: ioc3-eth: split ring cleaning/freeing and allocation Thomas Bogendoerfer
2019-08-28 23:04   ` Jakub Kicinski
2019-08-28 14:03 ` [PATCH net-next 10/15] net: sgi: ioc3-eth: refactor rx buffer allocation Thomas Bogendoerfer
2019-08-28 14:03 ` [PATCH net-next 11/15] net: sgi: ioc3-eth: use dma-direct for dma allocations Thomas Bogendoerfer
2019-08-28 14:03 ` [PATCH net-next 12/15] net: sgi: ioc3-eth: use csum_fold Thomas Bogendoerfer
2019-08-28 14:03 ` [PATCH net-next 13/15] net: sgi: ioc3-eth: Fix IPG settings Thomas Bogendoerfer
2019-08-28 14:03 ` [PATCH net-next 14/15] net: sgi: ioc3-eth: protect emcr in all cases Thomas Bogendoerfer
2019-08-28 14:03 ` [PATCH net-next 15/15] net: sgi: ioc3-eth: no need to stop queue set_multicast_list Thomas Bogendoerfer

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=20190828160246.7b211f8a@cakuba.netronome.com \
    --to=jakub.kicinski@netronome.com \
    --cc=davem@davemloft.net \
    --cc=jhogan@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=paul.burton@mips.com \
    --cc=ralf@linux-mips.org \
    --cc=tbogendoerfer@suse.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.