forked from luck/tmp_suning_uos_patched
net: thunderx: Cleanup receive buffer allocation
Get rid of unnecessary double pointer references and type casting in receive buffer allocation code. Signed-off-by: Sunil Goutham <sgoutham@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
0dada88b8c
commit
927987f39f
|
@ -145,7 +145,7 @@ static struct pgcache *nicvf_alloc_page(struct nicvf *nic,
|
||||||
|
|
||||||
/* Allocate buffer for packet reception */
|
/* Allocate buffer for packet reception */
|
||||||
static inline int nicvf_alloc_rcv_buffer(struct nicvf *nic, struct rbdr *rbdr,
|
static inline int nicvf_alloc_rcv_buffer(struct nicvf *nic, struct rbdr *rbdr,
|
||||||
gfp_t gfp, u32 buf_len, u64 **rbuf)
|
gfp_t gfp, u32 buf_len, u64 *rbuf)
|
||||||
{
|
{
|
||||||
struct pgcache *pgcache = NULL;
|
struct pgcache *pgcache = NULL;
|
||||||
|
|
||||||
|
@ -172,10 +172,10 @@ static inline int nicvf_alloc_rcv_buffer(struct nicvf *nic, struct rbdr *rbdr,
|
||||||
nic->rb_page = pgcache->page;
|
nic->rb_page = pgcache->page;
|
||||||
ret:
|
ret:
|
||||||
/* HW will ensure data coherency, CPU sync not required */
|
/* HW will ensure data coherency, CPU sync not required */
|
||||||
*rbuf = (u64 *)((u64)dma_map_page_attrs(&nic->pdev->dev, nic->rb_page,
|
*rbuf = (u64)dma_map_page_attrs(&nic->pdev->dev, nic->rb_page,
|
||||||
nic->rb_page_offset, buf_len,
|
nic->rb_page_offset, buf_len,
|
||||||
DMA_FROM_DEVICE,
|
DMA_FROM_DEVICE,
|
||||||
DMA_ATTR_SKIP_CPU_SYNC));
|
DMA_ATTR_SKIP_CPU_SYNC);
|
||||||
if (dma_mapping_error(&nic->pdev->dev, (dma_addr_t)*rbuf)) {
|
if (dma_mapping_error(&nic->pdev->dev, (dma_addr_t)*rbuf)) {
|
||||||
if (!nic->rb_page_offset)
|
if (!nic->rb_page_offset)
|
||||||
__free_pages(nic->rb_page, 0);
|
__free_pages(nic->rb_page, 0);
|
||||||
|
@ -212,7 +212,7 @@ static int nicvf_init_rbdr(struct nicvf *nic, struct rbdr *rbdr,
|
||||||
int ring_len, int buf_size)
|
int ring_len, int buf_size)
|
||||||
{
|
{
|
||||||
int idx;
|
int idx;
|
||||||
u64 *rbuf;
|
u64 rbuf;
|
||||||
struct rbdr_entry_t *desc;
|
struct rbdr_entry_t *desc;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
|
@ -257,7 +257,7 @@ static int nicvf_init_rbdr(struct nicvf *nic, struct rbdr *rbdr,
|
||||||
}
|
}
|
||||||
|
|
||||||
desc = GET_RBDR_DESC(rbdr, idx);
|
desc = GET_RBDR_DESC(rbdr, idx);
|
||||||
desc->buf_addr = (u64)rbuf & ~(NICVF_RCV_BUF_ALIGN_BYTES - 1);
|
desc->buf_addr = rbuf & ~(NICVF_RCV_BUF_ALIGN_BYTES - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
nicvf_get_page(nic);
|
nicvf_get_page(nic);
|
||||||
|
@ -330,7 +330,7 @@ static void nicvf_refill_rbdr(struct nicvf *nic, gfp_t gfp)
|
||||||
int refill_rb_cnt;
|
int refill_rb_cnt;
|
||||||
struct rbdr *rbdr;
|
struct rbdr *rbdr;
|
||||||
struct rbdr_entry_t *desc;
|
struct rbdr_entry_t *desc;
|
||||||
u64 *rbuf;
|
u64 rbuf;
|
||||||
int new_rb = 0;
|
int new_rb = 0;
|
||||||
|
|
||||||
refill:
|
refill:
|
||||||
|
@ -364,7 +364,7 @@ static void nicvf_refill_rbdr(struct nicvf *nic, gfp_t gfp)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
desc = GET_RBDR_DESC(rbdr, tail);
|
desc = GET_RBDR_DESC(rbdr, tail);
|
||||||
desc->buf_addr = (u64)rbuf & ~(NICVF_RCV_BUF_ALIGN_BYTES - 1);
|
desc->buf_addr = rbuf & ~(NICVF_RCV_BUF_ALIGN_BYTES - 1);
|
||||||
refill_rb_cnt--;
|
refill_rb_cnt--;
|
||||||
new_rb++;
|
new_rb++;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user