Re: Correct method for initializing Pause and Asymmetrical Pause support in phy drivers
From: Zefir Kurtisi <hidden>
Date: 2017-01-12 15:53:09
On 01/12/2017 04:21 PM, Marc Bertola wrote:
Hello netdev list, I am currently investigating a problem related to Ethernet auto-negotiation of Pause and Asymmetrical Pause capabilities. TL;DR: I am using a Picozed system-on-module with a Xilinx Gigabit Ethernet MAC and a Marvell PHY. It does not appear to be advertising support for Pause and Asym Pause, which seems strange to me given that this is relatively recent hardware. I suspect that may be due to a problem in the way phydev->supported is initialized in drivers/net/phy/marvell.c. I am trying to confirm what the proper method is to initialize phydev->supported such that it advertises SUPPORTED_Pause and SUPPORTED_Asym_Pause. Adding these flags to (phy_driver).features seems to work, but I would like to confirm with people who are more knowledgeable than me in this regard. [...]
This was discussed only recently and iirc consensus was: * flow control is an ETH property, PHY is only forwarding the info * => therefore (Asym)Pause flags are to be set by ETH driver, not by PHY For reference, Timur Tabi cleaned up the PHY drivers around two months ago in [1]. Cheers, Zefir [1] https://www.spinics.net/lists/netdev/msg403806.html