提交 7861f12b 编写于 作者: E Ezequiel Garcia 提交者: David S. Miller

net: mvpp2: Simplify BM pool buffers freeing

Now that all the users of mvpp2_bm_bufs_free() have been fixed, we can safely
clean the function prototype.

The function is always called to release all the buffers in a BM pool, and
the number of buffers freed is not needed. Therefore, we change the return
to a void, and remove the "num" parameter. This is a cosmetic change, to
make the code slightly cleaner.
Signed-off-by: NEzequiel Garcia <ezequiel.garcia@free-electrons.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 d74c96c1
...@@ -3385,17 +3385,12 @@ static void mvpp2_bm_pool_bufsize_set(struct mvpp2 *priv, ...@@ -3385,17 +3385,12 @@ static void mvpp2_bm_pool_bufsize_set(struct mvpp2 *priv,
mvpp2_write(priv, MVPP2_POOL_BUF_SIZE_REG(bm_pool->id), val); mvpp2_write(priv, MVPP2_POOL_BUF_SIZE_REG(bm_pool->id), val);
} }
/* Free "num" buffers from the pool */ /* Free all buffers from the pool */
static int mvpp2_bm_bufs_free(struct mvpp2 *priv, static void mvpp2_bm_bufs_free(struct mvpp2 *priv, struct mvpp2_bm_pool *bm_pool)
struct mvpp2_bm_pool *bm_pool, int num)
{ {
int i; int i;
if (num >= bm_pool->buf_num) for (i = 0; i < bm_pool->buf_num; i++) {
/* Free all buffers from the pool */
num = bm_pool->buf_num;
for (i = 0; i < num; i++) {
u32 vaddr; u32 vaddr;
/* Get buffer virtual adress (indirect access) */ /* Get buffer virtual adress (indirect access) */
...@@ -3408,7 +3403,6 @@ static int mvpp2_bm_bufs_free(struct mvpp2 *priv, ...@@ -3408,7 +3403,6 @@ static int mvpp2_bm_bufs_free(struct mvpp2 *priv,
/* Update BM driver with number of buffers removed from pool */ /* Update BM driver with number of buffers removed from pool */
bm_pool->buf_num -= i; bm_pool->buf_num -= i;
return i;
} }
/* Cleanup pool */ /* Cleanup pool */
...@@ -3416,10 +3410,9 @@ static int mvpp2_bm_pool_destroy(struct platform_device *pdev, ...@@ -3416,10 +3410,9 @@ static int mvpp2_bm_pool_destroy(struct platform_device *pdev,
struct mvpp2 *priv, struct mvpp2 *priv,
struct mvpp2_bm_pool *bm_pool) struct mvpp2_bm_pool *bm_pool)
{ {
int num;
u32 val; u32 val;
num = mvpp2_bm_bufs_free(priv, bm_pool, bm_pool->buf_num); mvpp2_bm_bufs_free(priv, bm_pool);
if (bm_pool->buf_num) { if (bm_pool->buf_num) {
WARN(1, "cannot free all buffers in pool %d\n", bm_pool->id); WARN(1, "cannot free all buffers in pool %d\n", bm_pool->id);
return 0; return 0;
...@@ -3675,7 +3668,7 @@ mvpp2_bm_pool_use(struct mvpp2_port *port, int pool, enum mvpp2_bm_type type, ...@@ -3675,7 +3668,7 @@ mvpp2_bm_pool_use(struct mvpp2_port *port, int pool, enum mvpp2_bm_type type,
MVPP2_BM_LONG_BUF_NUM : MVPP2_BM_LONG_BUF_NUM :
MVPP2_BM_SHORT_BUF_NUM; MVPP2_BM_SHORT_BUF_NUM;
else else
mvpp2_bm_bufs_free(port->priv, new_pool, pkts_num); mvpp2_bm_bufs_free(port->priv, new_pool);
new_pool->pkt_size = pkt_size; new_pool->pkt_size = pkt_size;
...@@ -3748,7 +3741,7 @@ static int mvpp2_bm_update_mtu(struct net_device *dev, int mtu) ...@@ -3748,7 +3741,7 @@ static int mvpp2_bm_update_mtu(struct net_device *dev, int mtu)
int pkt_size = MVPP2_RX_PKT_SIZE(mtu); int pkt_size = MVPP2_RX_PKT_SIZE(mtu);
/* Update BM pool with new buffer size */ /* Update BM pool with new buffer size */
mvpp2_bm_bufs_free(port->priv, port_pool, pkts_num); mvpp2_bm_bufs_free(port->priv, port_pool);
if (port_pool->buf_num) { if (port_pool->buf_num) {
WARN(1, "cannot free all buffers in pool %d\n", port_pool->id); WARN(1, "cannot free all buffers in pool %d\n", port_pool->id);
return -EIO; return -EIO;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册