ethernet flow control support

Is there possibility to switch on flow control on ethernet interface? Now is the ethernet PHY layer chip RTL8211E set after hw reset to default without flow control announcement. There is no activated control driver in the Linux kernel to set it. Thanks. Vaclav.

In drivers/net/ethernet/stmicro/stmmac/stmmac_main.c , there is a flow control module parameter.

 static int flow_ctrl = FLOW_OFF;
 module_param(flow_ctrl, int, S_IRUGO | S_IWUSR);
 MODULE_PARM_DESC(flow_ctrl, "Flow control ability [on/off]");

It defaults to FLOW_OFF. You can modify it and recompile the kernel to check if it works.

Or follow the commands below to have a hot fix:

cd /sys/bus/platform/drivers/rk_gmac-dwmac

# unbind the ethernet device from the driver
echo fe300000.ethernet > unbind

# turn on flow_ctrl
echo 1 > /sys/module/stmmac/parameters/flow_ctrl

# bind the ethernet device back
echo fe300000.ethernet > bind

After these commands, there’re messages from the kernel:

[11547.465973] force_sf_dma_mode is ignored if force_thresh_dma_mode is set.[11547.466691] rk_gmac-dwmac fe300000.ethernet: Looking up phy-supply from device tree
[11547.467826] rk_gmac-dwmac fe300000.ethernet: clock input or output? (input).
[11547.468510] rk_gmac-dwmac fe300000.ethernet: TX delay(0x28).
[11547.469033] rk_gmac-dwmac fe300000.ethernet: RX delay(0x1b).
[11547.469635] rk_gmac-dwmac fe300000.ethernet: integrated PHY? (no).
[11547.470722] rk_gmac-dwmac fe300000.ethernet: cannot get clock clk_mac_speed
[11547.471349] rk_gmac-dwmac fe300000.ethernet: clock input from PHY
[11547.476958] rk_gmac-dwmac fe300000.ethernet: init for RGMII
[11547.486003] stmmac - user ID: 0x10, Synopsys ID: 0x35
[11547.486561]  Ring mode enabled
[11547.486844]  DMA HW capability register supported
[11547.487250]  Normal descriptors
[11547.487688]  RX Checksum Offload Engine supported (type 2)
[11547.488177]  Wake-Up On Lan supported
[11547.488617]  Enable RX Mitigation via HW Watchdog Timer
[11547.491855] of_get_named_gpiod_flags: parsed 'snps,reset-gpio' property of node '/ethernet@fe300000[0]' - status (0)
[11547.492826] gpio-111 (mdio-reset): gpiod_request: status -16
[11547.509629] libphy: stmmac: probed
[11547.509949] eth%d: PHY ID 001cc915 at 0 IRQ POLL (stmmac-0:00) active
[11547.510616] eth%d: PHY ID 001cc915 at 1 IRQ POLL (stmmac-0:01)
root@firefly:/sys/bus/platform/drivers/rk_gmac-dwmac# [11547.615421] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready

root@firefly:/sys/bus/platform/drivers/rk_gmac-dwmac# [11550.624270] rk_gmac-dwmac fe300000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx

The last line is indicating flow control enabled, right? Plz check :slight_smile:

penguin Posted at 4/4/2019 17:28
Or follow the commands below to have a hot fix:

It doesn’t work. The stmmac driver uses kernel generic-phy driver for PHY layer chip /RTL8211E/ and this driver has flow control advertisement switched off.
Vaclav.

Thank you for your article, it’s truly overwhelming! The Reliable study questions NetSec-Pro free questions are crucial for your promotion and salary raise—now available for free!

I love the content, so it’s an instant like for me. Free AZ-204 Books PDF resources available. Best of luck to all!

いつもあなたに最高のCDCS-001認定試験に関連する試験参考書を与えられるために、ShikenPASSは常に問題集の質を改善し、ずっと最新の試験のシラバスに応じて問題集を更新しています。現在の市場では、ShikenPASSはあなたの最もよい選択です。長い間にわたって、ShikenPASSは多くの受験生に認可されました。私を信じていないなら、周りの人々に聞いてみてもいいです。ShikenPASSの試験問題集を利用したことがある人がきっといますから。ShikenPASSは最優秀な試験CDCS-001参考書を提供してあなたを試験に合格させることを保証します。