OSDN Git Service

net: calxedaxgmac: remove explicit rx dma buffer polling
authorRob Herring <rob.herring@calxeda.com>
Mon, 5 Nov 2012 06:22:20 +0000 (06:22 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 7 Nov 2012 08:51:13 +0000 (03:51 -0500)
New received frames will trigger the rx DMA to poll the DMA descriptors,
so there is no need to tell the h/w to poll. We also want to enable
dropping frames from the fifo when there is no buffer.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/calxeda/xgmac.c

index 7f5fd17..728fcef 100644 (file)
@@ -966,7 +966,7 @@ static int xgmac_hw_init(struct net_device *dev)
                ctrl |= XGMAC_CONTROL_IPC;
        writel(ctrl, ioaddr + XGMAC_CONTROL);
 
-       writel(DMA_CONTROL_DFF | DMA_CONTROL_OSF, ioaddr + XGMAC_DMA_CONTROL);
+       writel(DMA_CONTROL_OSF, ioaddr + XGMAC_DMA_CONTROL);
 
        /* Set the HW DMA mode and the COE */
        writel(XGMAC_OMR_TSF | XGMAC_OMR_RFD | XGMAC_OMR_RFA |
@@ -1180,8 +1180,6 @@ static int xgmac_rx(struct xgmac_priv *priv, int limit)
 
        xgmac_rx_refill(priv);
 
-       writel(1, priv->base + XGMAC_DMA_RX_POLL);
-
        return count;
 }