mirror of https://gitee.com/openkylin/linux.git
net: mvpp2: simplify mvpp2_bm_bufs_add()
The mvpp2_bm_bufs_add() currently creates a fake cookie by calling mvpp2_bm_cookie_pool_set(), just to be able to call mvpp2_pool_refill(). But all what mvpp2_pool_refill() does is extract the pool ID from the cookie, and call mvpp2_bm_pool_put() with this ID. Instead of doing this convoluted thing, just call mvpp2_bm_pool_put() directly, since we have the BM pool ID. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Russell King <rmk+kernel@armlinux.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
7ef7e1d949
commit
3eb2d99822
|
@ -3626,7 +3626,6 @@ static int mvpp2_bm_bufs_add(struct mvpp2_port *port,
|
|||
{
|
||||
struct sk_buff *skb;
|
||||
int i, buf_size, total_size;
|
||||
u32 bm;
|
||||
dma_addr_t phys_addr;
|
||||
|
||||
buf_size = MVPP2_RX_BUF_SIZE(bm_pool->pkt_size);
|
||||
|
@ -3640,13 +3639,12 @@ static int mvpp2_bm_bufs_add(struct mvpp2_port *port,
|
|||
return 0;
|
||||
}
|
||||
|
||||
bm = mvpp2_bm_cookie_pool_set(0, bm_pool->id);
|
||||
for (i = 0; i < buf_num; i++) {
|
||||
skb = mvpp2_skb_alloc(port, bm_pool, &phys_addr, GFP_KERNEL);
|
||||
if (!skb)
|
||||
break;
|
||||
|
||||
mvpp2_pool_refill(port, bm, (u32)phys_addr, (u32)skb);
|
||||
mvpp2_bm_pool_put(port, bm_pool->id, (u32)phys_addr, (u32)skb);
|
||||
}
|
||||
|
||||
/* Update BM driver with number of buffers added to pool */
|
||||
|
|
Loading…
Reference in New Issue