]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
net: calxedaxgmac: enable rx cut-thru mode
authorRob Herring <rob.herring@calxeda.com>
Mon, 9 Jul 2012 14:16:10 +0000 (14:16 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 11 Jul 2012 06:25:47 +0000 (23:25 -0700)
Enabling RX cut-thru mode yields better performance as received frames
start getting written to memory before a whole frame is received.

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 abb8f40ec2212520e3c64e7a9c0d410ffa9225b9..2b4b4f529ab4db6627f558ff16f0059d216f7ddb 100644 (file)
 #define XGMAC_OMR_FEF          0x00000080      /* Forward Error Frames */
 #define XGMAC_OMR_DT           0x00000040      /* Drop TCP/IP csum Errors */
 #define XGMAC_OMR_RSF          0x00000020      /* RX FIFO Store and Forward */
-#define XGMAC_OMR_RTC          0x00000010      /* RX Threshhold Ctrl */
+#define XGMAC_OMR_RTC_256      0x00000018      /* RX Threshhold Ctrl */
 #define XGMAC_OMR_RTC_MASK     0x00000018      /* RX Threshhold Ctrl MASK */
 
 /* XGMAC HW Features Register */
@@ -982,7 +982,8 @@ static int xgmac_hw_init(struct net_device *dev)
        writel(value, ioaddr + XGMAC_DMA_CONTROL);
 
        /* Set the HW DMA mode and the COE */
-       writel(XGMAC_OMR_TSF | XGMAC_OMR_RSF | XGMAC_OMR_RFD | XGMAC_OMR_RFA,
+       writel(XGMAC_OMR_TSF | XGMAC_OMR_RFD | XGMAC_OMR_RFA |
+               XGMAC_OMR_RTC_256,
                ioaddr + XGMAC_OMR);
 
        /* Reset the MMC counters */