On 11/01/2016 01:35 PM, Florian Fainelli wrote:
So in premise, this is good, and is exactly what I have in mind for the
series that I am cooking, but if we apply this alone, without a change
in drivers/net/phy/phy.c which adds SUPPORTED_Pause |
SUPPORTED_AsymPause to phydev->features, we are basically breaking the
Ethernet MAC drivers that don't explicitly override phydev->features and
yet rely on that to get flow control to work.

Can you tell me where I should set the SUPPORTED_Pause and SUPPORTED_AsymPause flags? I have a two candidates:

1. The settings[] array.  Add these flags to each entry.

2. In phy_sanitize_settings().  Add

        phydev->supported |= SUPPORTED_Pause | SUPPORTED_AsymPause;

at the end of the function.


I'm still don't understand 100% how these flags really work, because I just can't shake the feeling that they should not be set for every phy. If these flags are supposed to be turned on universally, then why are they even an option?

--
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm
Technologies, Inc.  Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.

Reply via email to