This series of patches corrects flow control configuration for the Synopsys
GMAC driver.
Flow control is configured based on a configurable receive fifo size. If
less than 4Kbytes flow control is left disabled and a warning is presented. If
a receive fifo size is not specified, flow control is left disabled to
maintain current behavior. Unicast pause detection was disabled, but is now
enabled. The pause time was modified to be maximum time per a XON/XOFF
flow control mode of operation.
This patch was tested on an Altera Cyclone 5 and an Altera Arria 10 devkit,
and verified that flow control operates as expected when enabled.
Please consider this series for inclusion so that flow control will
function as expected for the Synopsys GMAC controller.
Vince Bridgers (5):
stmmac: Add properties for transmit and receive fifo sizes
stmmac: Add defines and documentation for enabling flow control
stmmac: Read tx-fifo-depth and rx-fifo-depth from the devicetree
stmmac: Enable unicast pause frame detect in GMAC Register 6
stmmac: Configure Flow Control to work correctly based on rxfifo size
Documentation/devicetree/bindings/net/ethernet.txt | 6 +++
Documentation/devicetree/bindings/net/stmmac.txt | 4 ++
drivers/net/ethernet/stmicro/stmmac/common.h | 5 ++-
drivers/net/ethernet/stmicro/stmmac/dwmac1000.h | 51 ++++++++++++++++++++++
.../net/ethernet/stmicro/stmmac/dwmac1000_core.c | 5 ++-
.../net/ethernet/stmicro/stmmac/dwmac1000_dma.c | 26 ++++++++++-
drivers/net/ethernet/stmicro/stmmac/dwmac100_dma.c | 2 +-
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 16 ++++---
.../net/ethernet/stmicro/stmmac/stmmac_platform.c | 4 ++
include/linux/stmmac.h | 2 +
10 files changed, 111 insertions(+), 10 deletions(-)