Commit 7ef7e1d9 authored by Thomas Petazzoni's avatar Thomas Petazzoni Committed by David S. Miller

net: mvpp2: drop useless fields in mvpp2_bm_pool and related code

This commit drops dead code from the mvpp2 driver. The 'in_use' and
'in_use_thresh' fields of 'struct mvpp2_bm_pool' are
incremented/decremented/initialized in various places. But they are only
used in one place:

       if (is_recycle &&
           (atomic_read(&bm_pool->in_use) < bm_pool->in_use_thresh))
               return 0;

However 'is_recycle', passed as argument to mvpp2_rx_refill() is always
false. So in fact, this code is never reached, and the 'is_recycle'
argument is useless. So let's drop this code.
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 5dfa9e83
...@@ -930,10 +930,6 @@ struct mvpp2_bm_pool { ...@@ -930,10 +930,6 @@ struct mvpp2_bm_pool {
/* Ports using BM pool */ /* Ports using BM pool */
u32 port_map; u32 port_map;
/* Occupied buffers indicator */
atomic_t in_use;
int in_use_thresh;
}; };
struct mvpp2_buff_hdr { struct mvpp2_buff_hdr {
...@@ -3399,7 +3395,6 @@ static int mvpp2_bm_pool_create(struct platform_device *pdev, ...@@ -3399,7 +3395,6 @@ static int mvpp2_bm_pool_create(struct platform_device *pdev,
bm_pool->size = size; bm_pool->size = size;
bm_pool->pkt_size = 0; bm_pool->pkt_size = 0;
bm_pool->buf_num = 0; bm_pool->buf_num = 0;
atomic_set(&bm_pool->in_use, 0);
return 0; return 0;
} }
...@@ -3656,7 +3651,6 @@ static int mvpp2_bm_bufs_add(struct mvpp2_port *port, ...@@ -3656,7 +3651,6 @@ static int mvpp2_bm_bufs_add(struct mvpp2_port *port,
/* Update BM driver with number of buffers added to pool */ /* Update BM driver with number of buffers added to pool */
bm_pool->buf_num += i; bm_pool->buf_num += i;
bm_pool->in_use_thresh = bm_pool->buf_num / 4;
netdev_dbg(port->dev, netdev_dbg(port->dev,
"%s pool %d: pkt_size=%4d, buf_size=%4d, total_size=%4d\n", "%s pool %d: pkt_size=%4d, buf_size=%4d, total_size=%4d\n",
...@@ -5014,23 +5008,18 @@ static void mvpp2_rx_csum(struct mvpp2_port *port, u32 status, ...@@ -5014,23 +5008,18 @@ static void mvpp2_rx_csum(struct mvpp2_port *port, u32 status,
/* Reuse skb if possible, or allocate a new skb and add it to BM pool */ /* Reuse skb if possible, or allocate a new skb and add it to BM pool */
static int mvpp2_rx_refill(struct mvpp2_port *port, static int mvpp2_rx_refill(struct mvpp2_port *port,
struct mvpp2_bm_pool *bm_pool, struct mvpp2_bm_pool *bm_pool, u32 bm)
u32 bm, int is_recycle)
{ {
struct sk_buff *skb; struct sk_buff *skb;
dma_addr_t phys_addr; dma_addr_t phys_addr;
if (is_recycle &&
(atomic_read(&bm_pool->in_use) < bm_pool->in_use_thresh))
return 0;
/* No recycle or too many buffers are in use, so allocate a new skb */ /* No recycle or too many buffers are in use, so allocate a new skb */
skb = mvpp2_skb_alloc(port, bm_pool, &phys_addr, GFP_ATOMIC); skb = mvpp2_skb_alloc(port, bm_pool, &phys_addr, GFP_ATOMIC);
if (!skb) if (!skb)
return -ENOMEM; return -ENOMEM;
mvpp2_pool_refill(port, bm, (u32)phys_addr, (u32)skb); mvpp2_pool_refill(port, bm, (u32)phys_addr, (u32)skb);
atomic_dec(&bm_pool->in_use);
return 0; return 0;
} }
...@@ -5156,7 +5145,7 @@ static int mvpp2_rx(struct mvpp2_port *port, int rx_todo, ...@@ -5156,7 +5145,7 @@ static int mvpp2_rx(struct mvpp2_port *port, int rx_todo,
skb = (struct sk_buff *)rx_desc->buf_cookie; skb = (struct sk_buff *)rx_desc->buf_cookie;
err = mvpp2_rx_refill(port, bm_pool, bm, 0); err = mvpp2_rx_refill(port, bm_pool, bm);
if (err) { if (err) {
netdev_err(port->dev, "failed to refill BM pools\n"); netdev_err(port->dev, "failed to refill BM pools\n");
goto err_drop_frame; goto err_drop_frame;
...@@ -5167,7 +5156,6 @@ static int mvpp2_rx(struct mvpp2_port *port, int rx_todo, ...@@ -5167,7 +5156,6 @@ static int mvpp2_rx(struct mvpp2_port *port, int rx_todo,
rcvd_pkts++; rcvd_pkts++;
rcvd_bytes += rx_bytes; rcvd_bytes += rx_bytes;
atomic_inc(&bm_pool->in_use);
skb_reserve(skb, MVPP2_MH_SIZE); skb_reserve(skb, MVPP2_MH_SIZE);
skb_put(skb, rx_bytes); skb_put(skb, rx_bytes);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment