Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Rob Herring and committed by
David S. Miller
f62a23a7 e36ce6eb

+3 -2
+3 -2
drivers/net/ethernet/calxeda/xgmac.c
··· 264 264 #define XGMAC_OMR_FEF 0x00000080 /* Forward Error Frames */ 265 265 #define XGMAC_OMR_DT 0x00000040 /* Drop TCP/IP csum Errors */ 266 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 268 #define XGMAC_OMR_RTC_MASK 0x00000018 /* RX Threshhold Ctrl MASK */ 269 269 270 270 /* XGMAC HW Features Register */ ··· 982 982 writel(value, ioaddr + XGMAC_DMA_CONTROL); 983 983 984 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 987 ioaddr + XGMAC_OMR); 987 988 988 989 /* Reset the MMC counters */