aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/marvell
diff options
context:
space:
mode:
authorwilly tarreau <w@1wt.eu>2014-01-16 02:20:13 -0500
committerDavid S. Miller <davem@davemloft.net>2014-01-16 18:15:42 -0500
commita1a65ab18a9da16e322e88305324c38cd797caa9 (patch)
treebfa1a46ea1d711308422c6ea691592f5c76f30c8 /drivers/net/ethernet/marvell
parent6c4989748759f433bf999f33c1ff3853ed5ca945 (diff)
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>
Diffstat (limited to 'drivers/net/ethernet/marvell')
-rw-r--r--drivers/net/ethernet/marvell/mvneta.c23
1 files changed, 3 insertions, 20 deletions
diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c
index 2fb9559ba6fe..eccafd13b882 100644
--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
@@ -1969,32 +1969,15 @@ static int mvneta_poll(struct napi_struct *napi, int budget)
1969static int mvneta_rxq_fill(struct mvneta_port *pp, struct mvneta_rx_queue *rxq, 1969static int mvneta_rxq_fill(struct mvneta_port *pp, struct mvneta_rx_queue *rxq,
1970 int num) 1970 int num)
1971{ 1971{
1972 struct net_device *dev = pp->dev;
1973 int i; 1972 int i;
1974 1973
1975 for (i = 0; i < num; i++) { 1974 for (i = 0; i < num; i++) {
1976 struct sk_buff *skb; 1975 memset(rxq->descs + i, 0, sizeof(struct mvneta_rx_desc));
1977 struct mvneta_rx_desc *rx_desc; 1976 if (mvneta_rx_refill(pp, rxq->descs + i) != 0) {
1978 unsigned long phys_addr; 1977 netdev_err(pp->dev, "%s:rxq %d, %d of %d buffs filled\n",
1979
1980 skb = dev_alloc_skb(pp->pkt_size);
1981 if (!skb) {
1982 netdev_err(dev, "%s:rxq %d, %d of %d buffs filled\n",
1983 __func__, rxq->id, i, num); 1978 __func__, rxq->id, i, num);
1984 break; 1979 break;
1985 } 1980 }
1986
1987 rx_desc = rxq->descs + i;
1988 memset(rx_desc, 0, sizeof(struct mvneta_rx_desc));
1989 phys_addr = dma_map_single(dev->dev.parent, skb->head,
1990 MVNETA_RX_BUF_SIZE(pp->pkt_size),
1991 DMA_FROM_DEVICE);
1992 if (unlikely(dma_mapping_error(dev->dev.parent, phys_addr))) {
1993 dev_kfree_skb(skb);
1994 break;
1995 }
1996
1997 mvneta_rx_desc_fill(rx_desc, phys_addr, (u32)skb);
1998 } 1981 }
1999 1982
2000 /* Add this number of RX descriptors as non occupied (ready to 1983 /* Add this number of RX descriptors as non occupied (ready to