net: mvneta: factor rx refilling code
Make mvneta_rxq_fill() use mvneta_rx_refill() instead of using duplicate code. Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Gregory CLEMENT <gregory.clement@free-electrons.com> Tested-by: Arnaud Ebalard <arno@natisbad.org> Signed-off-by: Willy Tarreau <w@1wt.eu> Signed-off-by: David S. Miller <davem@davemloft.net>hifive-unleashed-5.1
parent
6c49897487
commit
a1a65ab18a
|
@ -1969,32 +1969,15 @@ static int mvneta_poll(struct napi_struct *napi, int budget)
|
||||||
static int mvneta_rxq_fill(struct mvneta_port *pp, struct mvneta_rx_queue *rxq,
|
static int mvneta_rxq_fill(struct mvneta_port *pp, struct mvneta_rx_queue *rxq,
|
||||||
int num)
|
int num)
|
||||||
{
|
{
|
||||||
struct net_device *dev = pp->dev;
|
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (i = 0; i < num; i++) {
|
for (i = 0; i < num; i++) {
|
||||||
struct sk_buff *skb;
|
memset(rxq->descs + i, 0, sizeof(struct mvneta_rx_desc));
|
||||||
struct mvneta_rx_desc *rx_desc;
|
if (mvneta_rx_refill(pp, rxq->descs + i) != 0) {
|
||||||
unsigned long phys_addr;
|
netdev_err(pp->dev, "%s:rxq %d, %d of %d buffs filled\n",
|
||||||
|
|
||||||
skb = dev_alloc_skb(pp->pkt_size);
|
|
||||||
if (!skb) {
|
|
||||||
netdev_err(dev, "%s:rxq %d, %d of %d buffs filled\n",
|
|
||||||
__func__, rxq->id, i, num);
|
__func__, rxq->id, i, num);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
rx_desc = rxq->descs + i;
|
|
||||||
memset(rx_desc, 0, sizeof(struct mvneta_rx_desc));
|
|
||||||
phys_addr = dma_map_single(dev->dev.parent, skb->head,
|
|
||||||
MVNETA_RX_BUF_SIZE(pp->pkt_size),
|
|
||||||
DMA_FROM_DEVICE);
|
|
||||||
if (unlikely(dma_mapping_error(dev->dev.parent, phys_addr))) {
|
|
||||||
dev_kfree_skb(skb);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
mvneta_rx_desc_fill(rx_desc, phys_addr, (u32)skb);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Add this number of RX descriptors as non occupied (ready to
|
/* Add this number of RX descriptors as non occupied (ready to
|
||||||
|
|
Loading…
Reference in New Issue