aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/calxeda
diff options
context:
space:
mode:
authorRob Herring <rob.herring@calxeda.com>2012-11-05 01:22:19 -0500
committerDavid S. Miller <davem@davemloft.net>2012-11-07 03:51:13 -0500
commit0aefa8ecd81f4f4b3f7f336aa152b13cc79c4bfe (patch)
treebedbb28a13c7db4c483aa04356313da6335460cd /drivers/net/ethernet/calxeda
parent196d97f6b1a5d44be17f12e5adba36368915ba52 (diff)
net: calxedaxgmac: enable operate on 2nd frame mode
Enable the tx dma to start reading the next frame while sending the current frame. Signed-off-by: Rob Herring <rob.herring@calxeda.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/calxeda')
-rw-r--r--drivers/net/ethernet/calxeda/xgmac.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/ethernet/calxeda/xgmac.c b/drivers/net/ethernet/calxeda/xgmac.c
index 16814b34d4b6..7f5fd17c8002 100644
--- a/drivers/net/ethernet/calxeda/xgmac.c
+++ b/drivers/net/ethernet/calxeda/xgmac.c
@@ -191,6 +191,7 @@
191#define DMA_CONTROL_ST 0x00002000 /* Start/Stop Transmission */ 191#define DMA_CONTROL_ST 0x00002000 /* Start/Stop Transmission */
192#define DMA_CONTROL_SR 0x00000002 /* Start/Stop Receive */ 192#define DMA_CONTROL_SR 0x00000002 /* Start/Stop Receive */
193#define DMA_CONTROL_DFF 0x01000000 /* Disable flush of rx frames */ 193#define DMA_CONTROL_DFF 0x01000000 /* Disable flush of rx frames */
194#define DMA_CONTROL_OSF 0x00000004 /* Operate on 2nd tx frame */
194 195
195/* DMA Normal interrupt */ 196/* DMA Normal interrupt */
196#define DMA_INTR_ENA_NIE 0x00010000 /* Normal Summary */ 197#define DMA_INTR_ENA_NIE 0x00010000 /* Normal Summary */
@@ -965,8 +966,7 @@ static int xgmac_hw_init(struct net_device *dev)
965 ctrl |= XGMAC_CONTROL_IPC; 966 ctrl |= XGMAC_CONTROL_IPC;
966 writel(ctrl, ioaddr + XGMAC_CONTROL); 967 writel(ctrl, ioaddr + XGMAC_CONTROL);
967 968
968 value = DMA_CONTROL_DFF; 969 writel(DMA_CONTROL_DFF | DMA_CONTROL_OSF, ioaddr + XGMAC_DMA_CONTROL);
969 writel(value, ioaddr + XGMAC_DMA_CONTROL);
970 970
971 /* Set the HW DMA mode and the COE */ 971 /* Set the HW DMA mode and the COE */
972 writel(XGMAC_OMR_TSF | XGMAC_OMR_RFD | XGMAC_OMR_RFA | 972 writel(XGMAC_OMR_TSF | XGMAC_OMR_RFD | XGMAC_OMR_RFA |