diff options
author | Rob Herring <rob.herring@calxeda.com> | 2012-07-09 14:16:10 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-07-10 23:25:47 -0700 |
commit | f62a23a7cb601fb30c4a8b8a5ba1c6bb7f5148b3 (patch) | |
tree | 97a29b2e30920f2ad3b3948a7af4e633de160195 /drivers/net/ethernet/calxeda | |
parent | e36ce6eb2ba35b0b7335aef12731a96af9531055 (diff) | |
download | linux-stable-f62a23a7cb601fb30c4a8b8a5ba1c6bb7f5148b3.tar.gz linux-stable-f62a23a7cb601fb30c4a8b8a5ba1c6bb7f5148b3.tar.bz2 linux-stable-f62a23a7cb601fb30c4a8b8a5ba1c6bb7f5148b3.zip |
net: calxedaxgmac: enable rx cut-thru mode
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>
Diffstat (limited to 'drivers/net/ethernet/calxeda')
-rw-r--r-- | drivers/net/ethernet/calxeda/xgmac.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/ethernet/calxeda/xgmac.c b/drivers/net/ethernet/calxeda/xgmac.c index abb8f40ec221..2b4b4f529ab4 100644 --- a/drivers/net/ethernet/calxeda/xgmac.c +++ b/drivers/net/ethernet/calxeda/xgmac.c @@ -264,7 +264,7 @@ #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 */ |