Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1599953
| Path | csiph.com!feeder.erje.net!2.eu.feeder.erje.net!border1.nntp.ams1.giganews.com!nntp.giganews.com!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.am4!peer.am4.highwinds-media.com!peer01.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!fu-berlin.de!bofh.it!news.nic.it!robomod |
|---|---|
| From | Doug Berger <opendmb@gmail.com> |
| Newsgroups | linux.kernel |
| Subject | [PATCH net-next 03/12] net: bcmgenet: simplify circular pointer arithmetic |
| Date | Tue, 14 Mar 2017 01:50:02 +0100 |
| Message-ID | <tkIP0-AW-19@gated-at.bofh.it> (permalink) |
| References | <tkIOZ-AW-3@gated-at.bofh.it> |
| Dkim-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=yhRoWwFN9Kzxy03wF56lXPAjliJiBWKNxR17w1vpNpU=; b=MUsguep0tmOTsmUkC+Q0J00QFDpOnYh0Su1T+aBeN6SaArEBRcRw9ujOl77mfxLL2u z6PeFa7cyg2VbRm2brVQTuzb/gazALgJ/l8puBzoy1mAYGsXthXtLUNJjlEJgYz8bpKD 6jccqeJW3ZWa+qbMa/Gq2Jw/BLgQApOlCHuHZmOZvSIocDUI6j/qYQSAKSMrkk3Rs6sh dEhFx9gAPS/rZcfNsAqvWWjeA4j6DRMKZv7Z/7J9IbpkpCYPiclFRPDVxqbUVQQBRIjJ +JkYfyP83NV95Zr9fSs+I8z+ALs51Iv7EClgyJB8MYw82x0vICyjxSyL3HYby7k31f1P 1JKQ== |
| X-Google-Dkim-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=yhRoWwFN9Kzxy03wF56lXPAjliJiBWKNxR17w1vpNpU=; b=Dg9tNlHSdrgady/BNybEhMpqjRwAjl8Nv+1tnzyiix4QUSuGQ/dw9RSYfhGPEbVWSi AyCoY4owUIH+YkG86K3kH4V44Ad8o99hOdz67b+IgL6yYLa4O/8Q9xlj/S2ZJw1wDE9e ReKqTgRj+SNZbFhC69FEFwD2ZETMfOyG/8GuVplzXzYcCdKqgLzknCvXC+WSJHdth9h8 HeWMjfkdxk3lUl1ip2vuRZJ8V9rawSISCT97Niycfei5g6mOZM4ThLgAuTRiJ+C7xOTk r8IlnJ73ctwmcMkxCcmp9/CfuXN+gMWAZBcneDTpUwHG/9Jzf/koVsXqDhcTUkZ7LDTy OP+A== |
| X-Gm-Message-State | AMke39lakH7SKaLgcTXzLR/Fh3wsaW/7QV+LTRo2296j4DhQhgpfVt62lpQLPKY/z4rEUA== |
| X-Received | by 10.237.36.53 with SMTP id r50mr38013108qtc.46.1489452129688; Mon, 13 Mar 2017 17:42:09 -0700 (PDT) |
| X-Mailer | git-send-email 2.11.1 |
| Sender | robomod@news.nic.it |
| List-ID | <linux-kernel.vger.kernel.org> |
| X-Mailing-List | linux-kernel@vger.kernel.org |
| Approved | robomod@news.nic.it |
| Lines | 54 |
| Organization | linux.* mail to news gateway |
| X-Original-Cc | robh+dt@kernel.org, mark.rutland@arm.com, davem@davemloft.net, rafal@milecki.pl, xow@google.com, joel@jms.id.au, jon.mason@broadcom.com, netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, pgynther@google.com, jaedon.shin@gmail.com, Doug Berger <opendmb@gmail.com> |
| X-Original-Date | Mon, 13 Mar 2017 17:41:33 -0700 |
| X-Original-Message-ID | <20170314004142.4746-4-opendmb@gmail.com> |
| X-Original-References | <20170314004142.4746-1-opendmb@gmail.com> |
| X-Original-Sender | linux-kernel-owner@vger.kernel.org |
| X-Received-Body-CRC | 975416803 |
| X-Received-Bytes | 4891 |
| Xref | csiph.com linux.kernel:1599953 |
Show key headers only | View raw
A 2's complement subtraction will always do a borrow, so masking off the sign bits is the same as conditionally adding (mask+1). Signed-off-by: Doug Berger <opendmb@gmail.com> --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c index f92896835d2a..2c008b09c4e3 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c @@ -1,7 +1,7 @@ /* * Broadcom GENET (Gigabit Ethernet) controller driver * - * Copyright (c) 2014 Broadcom Corporation + * Copyright (c) 2014-2017 Broadcom * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -1175,13 +1175,9 @@ static unsigned int __bcmgenet_tx_reclaim(struct net_device *dev, unsigned int txbds_processed = 0; /* Compute how many buffers are transmitted since last xmit call */ - c_index = bcmgenet_tdma_ring_readl(priv, ring->index, TDMA_CONS_INDEX); - c_index &= DMA_C_INDEX_MASK; - - if (likely(c_index >= ring->c_index)) - txbds_ready = c_index - ring->c_index; - else - txbds_ready = (DMA_C_INDEX_MASK + 1) - ring->c_index + c_index; + c_index = bcmgenet_tdma_ring_readl(priv, ring->index, TDMA_CONS_INDEX) + & DMA_C_INDEX_MASK; + txbds_ready = (c_index - ring->c_index) & DMA_C_INDEX_MASK; netif_dbg(priv, tx_done, dev, "%s ring=%d old_c_index=%u c_index=%u txbds_ready=%u\n", @@ -1611,12 +1607,7 @@ static unsigned int bcmgenet_desc_rx(struct bcmgenet_rx_ring *ring, } p_index &= DMA_P_INDEX_MASK; - - if (likely(p_index >= ring->c_index)) - rxpkttoprocess = p_index - ring->c_index; - else - rxpkttoprocess = (DMA_C_INDEX_MASK + 1) - ring->c_index + - p_index; + rxpkttoprocess = (p_index - ring->c_index) & DMA_C_INDEX_MASK; netif_dbg(priv, rx_status, dev, "RDMA: rxpkttoprocess=%d\n", rxpkttoprocess); -- 2.11.1
Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread
[PATCH net-next 03/12] net: bcmgenet: simplify circular pointer arithmetic Doug Berger <opendmb@gmail.com> - 2017-03-14 01:50 +0100 Re: [PATCH net-next 03/12] net: bcmgenet: simplify circular pointer arithmetic Florian Fainelli <f.fainelli@gmail.com> - 2017-03-14 02:00 +0100
csiph-web