提交 a4ee7624 编写于 作者: Y Yunsheng Lin 提交者: David S. Miller

net: hns3: minor cleanup in hns3_clean_rx_ring

The unused_count variable is used to indicate how many
RX BD need attaching new buffer in hns3_clean_rx_ring,
and the clean_count variable has the similar meaning.

This patch removes the clean_count variable and use
unused_count to uniformly indicate the RX BD that need
attaching new buffer.

This patch also clean up some coding style related to
variable assignment in hns3_clean_rx_ring.
Signed-off-by: NYunsheng Lin <linyunsheng@huawei.com>
Reviewed-by: NPeng Li <lipeng321@huawei.com>
Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 6e4139f6
...@@ -2909,24 +2909,22 @@ int hns3_clean_rx_ring(struct hns3_enet_ring *ring, int budget, ...@@ -2909,24 +2909,22 @@ int hns3_clean_rx_ring(struct hns3_enet_ring *ring, int budget,
void (*rx_fn)(struct hns3_enet_ring *, struct sk_buff *)) void (*rx_fn)(struct hns3_enet_ring *, struct sk_buff *))
{ {
#define RCB_NOF_ALLOC_RX_BUFF_ONCE 16 #define RCB_NOF_ALLOC_RX_BUFF_ONCE 16
int recv_pkts, recv_bds, clean_count, err;
int unused_count = hns3_desc_unused(ring); int unused_count = hns3_desc_unused(ring);
struct sk_buff *skb = ring->skb; struct sk_buff *skb = ring->skb;
int num; int recv_pkts = 0;
int recv_bds = 0;
int err, num;
num = readl_relaxed(ring->tqp->io_base + HNS3_RING_RX_RING_FBDNUM_REG); num = readl_relaxed(ring->tqp->io_base + HNS3_RING_RX_RING_FBDNUM_REG);
rmb(); /* Make sure num taken effect before the other data is touched */ rmb(); /* Make sure num taken effect before the other data is touched */
recv_pkts = 0, recv_bds = 0, clean_count = 0;
num -= unused_count; num -= unused_count;
unused_count -= ring->pending_buf; unused_count -= ring->pending_buf;
while (recv_pkts < budget && recv_bds < num) { while (recv_pkts < budget && recv_bds < num) {
/* Reuse or realloc buffers */ /* Reuse or realloc buffers */
if (clean_count + unused_count >= RCB_NOF_ALLOC_RX_BUFF_ONCE) { if (unused_count >= RCB_NOF_ALLOC_RX_BUFF_ONCE) {
hns3_nic_alloc_rx_buffers(ring, hns3_nic_alloc_rx_buffers(ring, unused_count);
clean_count + unused_count);
clean_count = 0;
unused_count = hns3_desc_unused(ring) - unused_count = hns3_desc_unused(ring) -
ring->pending_buf; ring->pending_buf;
} }
...@@ -2940,7 +2938,7 @@ int hns3_clean_rx_ring(struct hns3_enet_ring *ring, int budget, ...@@ -2940,7 +2938,7 @@ int hns3_clean_rx_ring(struct hns3_enet_ring *ring, int budget,
goto out; goto out;
} else if (unlikely(err)) { /* Do jump the err */ } else if (unlikely(err)) { /* Do jump the err */
recv_bds += ring->pending_buf; recv_bds += ring->pending_buf;
clean_count += ring->pending_buf; unused_count += ring->pending_buf;
ring->skb = NULL; ring->skb = NULL;
ring->pending_buf = 0; ring->pending_buf = 0;
continue; continue;
...@@ -2948,7 +2946,7 @@ int hns3_clean_rx_ring(struct hns3_enet_ring *ring, int budget, ...@@ -2948,7 +2946,7 @@ int hns3_clean_rx_ring(struct hns3_enet_ring *ring, int budget,
rx_fn(ring, skb); rx_fn(ring, skb);
recv_bds += ring->pending_buf; recv_bds += ring->pending_buf;
clean_count += ring->pending_buf; unused_count += ring->pending_buf;
ring->skb = NULL; ring->skb = NULL;
ring->pending_buf = 0; ring->pending_buf = 0;
...@@ -2957,8 +2955,8 @@ int hns3_clean_rx_ring(struct hns3_enet_ring *ring, int budget, ...@@ -2957,8 +2955,8 @@ int hns3_clean_rx_ring(struct hns3_enet_ring *ring, int budget,
out: out:
/* Make all data has been write before submit */ /* Make all data has been write before submit */
if (clean_count + unused_count > 0) if (unused_count > 0)
hns3_nic_alloc_rx_buffers(ring, clean_count + unused_count); hns3_nic_alloc_rx_buffers(ring, unused_count);
return recv_pkts; return recv_pkts;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册