diff options
author | Rob Herring <rob.herring@calxeda.com> | 2012-07-09 10:16:10 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-07-11 02:25:47 -0400 |
commit | f62a23a7cb601fb30c4a8b8a5ba1c6bb7f5148b3 (patch) | |
tree | 97a29b2e30920f2ad3b3948a7af4e633de160195 /drivers/net/ethernet/calxeda/xgmac.c | |
parent | e36ce6eb2ba35b0b7335aef12731a96af9531055 (diff) |
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/xgmac.c')
-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 @@ | |||
264 | #define XGMAC_OMR_FEF 0x00000080 /* Forward Error Frames */ | 264 | #define XGMAC_OMR_FEF 0x00000080 /* Forward Error Frames */ |
265 | #define XGMAC_OMR_DT 0x00000040 /* Drop TCP/IP csum Errors */ | 265 | #define XGMAC_OMR_DT 0x00000040 /* Drop TCP/IP csum Errors */ |
266 | #define XGMAC_OMR_RSF 0x00000020 /* RX FIFO Store and Forward */ | 266 | #define XGMAC_OMR_RSF 0x00000020 /* RX FIFO Store and Forward */ |
267 | #define XGMAC_OMR_RTC 0x00000010 /* RX Threshhold Ctrl */ | 267 | #define XGMAC_OMR_RTC_256 0x00000018 /* RX Threshhold Ctrl */ |
268 | #define XGMAC_OMR_RTC_MASK 0x00000018 /* RX Threshhold Ctrl MASK */ | 268 | #define XGMAC_OMR_RTC_MASK 0x00000018 /* RX Threshhold Ctrl MASK */ |
269 | 269 | ||
270 | /* XGMAC HW Features Register */ | 270 | /* XGMAC HW Features Register */ |
@@ -982,7 +982,8 @@ static int xgmac_hw_init(struct net_device *dev) | |||
982 | writel(value, ioaddr + XGMAC_DMA_CONTROL); | 982 | writel(value, ioaddr + XGMAC_DMA_CONTROL); |
983 | 983 | ||
984 | /* Set the HW DMA mode and the COE */ | 984 | /* Set the HW DMA mode and the COE */ |
985 | writel(XGMAC_OMR_TSF | XGMAC_OMR_RSF | XGMAC_OMR_RFD | XGMAC_OMR_RFA, | 985 | writel(XGMAC_OMR_TSF | XGMAC_OMR_RFD | XGMAC_OMR_RFA | |
986 | XGMAC_OMR_RTC_256, | ||
986 | ioaddr + XGMAC_OMR); | 987 | ioaddr + XGMAC_OMR); |
987 | 988 | ||
988 | /* Reset the MMC counters */ | 989 | /* Reset the MMC counters */ |